CN108650318A - 一种数据获取方法及装置 - Google Patents

一种数据获取方法及装置 Download PDF

Info

Publication number
CN108650318A
CN108650318A CN201810442186.4A CN201810442186A CN108650318A CN 108650318 A CN108650318 A CN 108650318A CN 201810442186 A CN201810442186 A CN 201810442186A CN 108650318 A CN108650318 A CN 108650318A
Authority
CN
China
Prior art keywords
data
information
target
version
title
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810442186.4A
Other languages
English (en)
Other versions
CN108650318B (zh
Inventor
陈彰
王程明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201810442186.4A priority Critical patent/CN108650318B/zh
Publication of CN108650318A publication Critical patent/CN108650318A/zh
Application granted granted Critical
Publication of CN108650318B publication Critical patent/CN108650318B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开的数据获取方法及装置,在数据源端有数据更新时,用户侧服务器获取包括数据属性信息和版本信息的更新提示信息,根据更新提示信息更新本地服务器的数据映射信息,所述数据映射信息包括数据属性信息与版本信息的对应关系,后续在接收包括目标数据名称的第一数据请求信息时,确定目标数据名称对应的目标版本信息,根据目标数据名称以及目标版本信息获取目标数据。该数据获取的方法及装置,当上游数据源检测到数据有变化时,主动下发最新的版本信息到用户侧服务器,当更新的数据请求上游服务时,携带此版本标示,一旦版本标示发生变化,则可以依次穿透请求所经过的中间服务,获取到最新版本的数据。使得各级服务器中的缓存数据得到及时更新。

Description

一种数据获取方法及装置
技术领域
本发明涉及数据处理技术领域,更具体的说,是涉及一种数据获取方法及装置。
背景技术
内存缓存不仅可以提高数据库的访问性能,还可以提高软件的可伸缩性和扩展性。目前主流的内存缓存框架包括guava,encache等。
缓存中的内容通常都需要更新,以保证相关软件或应用能够使用最新版本的数据。现有技术中的内存缓存框架,一般是根据设定的缓存过期时间和刷新时间来被动的更新缓存,即只有到达刷新时间点或者过期时间后,缓存才会重新加载数据。这种方式下,如果缓存的更新时间点尚未到达,而上游数据已经更新,缓存不会加载最新的数据,导致下游用户依旧只能使用未更新的陈旧的数据。如果数据在触达最终用户之前需要经由多个服务,这种数据更新的延迟会被进一步放大。
发明内容
有鉴于此,本发明提供了一种数据获取方法及装置,以使得各级服务器中的缓存数据得到及时更新,更好的服务于用户。
一种数据获取方法,应用于用户侧服务器,包括:
从数据源端接收更新提示信息,所述更新提示信息为数据源端监测到数据更新后生成的包括数据属性信息和版本信息的指示信息;
根据所述更新提示信息更新本地服务器的数据映射信息,所述数据映射信息包括数据属性信息与版本信息的对应关系;
接收包括目标数据名称的第一数据请求信息;
根据所述目标数据名称和更新后的所述数据映射信息确定所述目标数据名称对应的目标版本信息;
根据所述目标数据名称以及所述目标版本信息获取目标数据。
可选的,所述根据所述目标数据名称以及所述目标版本信息获取目标数据,包括:
从上游服务器中抓取数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据。
可选的,所述根据所述目标数据名称以及所述目标版本信息获取目标数据,包括:
从本地服务器抓取数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据;
若本地服务器中不存在数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据,则将包括所述目标版本信息的第二数据请求信息发送给上游服务器,以使得所述上游服务器根据所述目标版本信息获取目标数据。
可选的,所述从数据源接收更新提示信息,包括:
基于redis的发布-订阅机制从数据源接收更新提示信息;
或,
通过socket连接或http请求从数据源接收更新提示信息。
一种数据获取方法,应用于数据源端,包括:
监测数据源端是否有数据更新;
如果有,则生成包含数据属性信息和版本信息的更新提示信息;
将所述更新提示信息发送给用户侧服务器。
一种数据获取装置,应用于用户侧服务器,包括:
信息接收模块,用于从数据源端的信息发送模块接收更新提示信息,所述更新提示信息为数据源端监测到数据更新后生成的包括数据属性信息和版本信息的指示信息;
信息更新模块,用于根据所述更新提示信息更新本地服务器的数据映射信息,所述数据映射信息包括数据属性信息与版本信息的对应关系;
请求接收模块,用于接收包括目标数据名称的第一数据请求信息;
版本确定模块,用于根据所述目标数据名称和更新后的所述数据映射信息确定所述目标数据名称对应的目标版本信息;
数据获取模块,用于根据所述目标数据名称以及所述目标版本信息获取目标数据。
可选的,所述数据获取模块具体用于:从上游服务器中抓取数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据。
可选的,所述数据获取模块包括:
数据抓取单元,用于从本地服务器抓取数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据;
请求上传单元,用于在本地服务器不存在数据名称与所述目标数据名称相同,和/或数据版本信息与所述目标版本信息相同的目标数据时,则将包括所述目标版本信息的第二数据请求信息发送给上游服务器,以使得所述上游服务器根据所述目标版本信息获取目标数据。
可选的,所述信息获取模块具体用于:基于redis的发布-订阅机制从数据源接收更新提示信息;
或,
通过socket连接或http请求从数据源接收更新提示信息。
一种数据获取装置,应用于数据源端,包括:
数据监测模块,用于监测数据源端是否有数据更新;
信息生成模块,用于在所述数据监测模块监测到数据源端有数据更新时,生成包含数据属性信息和版本信息的更新提示信息;
信息发送模块,用于将所述更新提示信息发送给用户侧服务器的信息接收模块。
本发明实施例公开的数据获取方法及装置,在数据源端有数据更新的情况下,用户侧服务器获取包括数据属性信息和版本信息的更新提示信息,根据所述更新提示信息更新本地服务器的数据映射信息,所述数据映射信息包括数据属性信息与版本信息的对应关系,后续在接收包括目标数据名称的第一数据请求信息时,根据所述目标数据名称和更新后的所述数据映射信息确定所述目标数据名称对应的目标版本信息,根据所述目标数据名称以及所述目标版本信息获取目标数据。所述数据获取的方法及装置,当上游数据源检测到数据有变化时,主动下发最新的版本信息到用户侧服务器,当更新的数据请求上游服务时,携带此版本标示,一旦版本标示发生变化,则可以依次穿透请求所经过的中间服务,从而获取到最新版本的数据。使得各级服务器中的缓存数据得到及时更新。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的第一种数据获取方法的流程图;
图2为本发明实施例公开的第二种数据获取方法的流程图;
图3为本发明实施例公开的第三种数据获取方法的流程图;
图4为本发明实施例公开的第一种数据获取装置的结构示意图;
图5为本发明实施例公开的数据获取模块的结构示意图;
图6为本发明实施例公开的第二种数据获取装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例公开的数据获取方法的流程图,该方法应用于用户侧服务器,如图1所示,方法可以包括:
步骤101:从数据源端接收更新提示信息。
其中,所述更新提示信息为数据源端监测到数据更新后生成的包括数据属性信息和版本信息的指示信息。其中,所述数据属性信息可以为数据名称。
可以在所述数据源端设置一个监听服务,监测数据源端的数据是否发生变化,在所述数据源端大数据发生更新后,数据源端可以向用户侧服务器发送一个更新提示消息。例如,数据源端的数据X变化了,其之前的版本号是1,则更新版本号为2,此时生成一条类似”X:2”的更新提示信息。
在具体的实现方式中,所述从数据源端接收更新提示信息,可以包括:基于redis的发布-订阅机制从数据源接收更新提示信息,或,通过socket连接或http请求从数据源接收更新提示信息。
当然,从数据源接收更新提示信息的方式并不限制为上述已经列出的几种方式,能够实现从数据源接收更新提示信息的技术都可以应用于本发明的具体实现中。
步骤102:根据所述更新提示信息更新本地服务器的数据映射信息,所述数据映射信息包括数据属性信息与版本信息的对应关系。
本实施例中,用户侧服务器在本地内存里可以记录有数据key到版本号的映射关系,即数据映射信息。在接收到所述更新提示信息后,所述用户侧服务器更新本地内存里的对应数据的版本号。比如之前的映射关系为X→1,收到更新提示消息“X:2”后,更新为X→2。
步骤103:接收包括目标数据名称的第一数据请求信息。
在本地的数据映射关系根据更新提示信息更新后,用户侧服务器可以接收包括目标数据名称的第一数据请求信息。所述目标数据名称可以对应用户侧服务器根据更新提示信息更新过的数据映射信息的中的数据名称。
步骤104:根据所述目标数据名称和更新后的所述数据映射信息确定所述目标数据名称对应的目标版本信息。
在接收到包括目标数据名称的第一数据请求信息后,需要获取所述目标数据名称对应的数据,并反馈给数据请求。由于用户侧服务器中已经更新了数据映射信息,即已确定了数据的最新版本,因此,在确定了所述第一数据请求信息中的目标数据名称后,根据本地的数据映射信息确定的目标版本信息即是目标数据的最新版本信息。
步骤105:根据所述目标数据名称以及所述目标版本信息获取目标数据。
确定了目标数据名称和目标数据的目标版本信息后,服务器将根据所述目标数据名称和所述目标版本信息抓取对应版本的目标数据。以响应所述数据请求信息。因此,根据所述目标数据名称以及所述目标版本信息获取目标数据,可以包括:从服务器中抓取与所述目标数据名称和所述目标版本信息同时对应的目标数据。
本实施例所述数据获取方法应用于用户侧服务器,当上游数据源检测到数据有变化时,主动下发最新的版本信息到用户侧服务器,当更新的数据请求上游服务时,携带此版本标示,一旦版本标示发生变化,则可以依次穿透请求所经过的中间服务,从而获取到最新版本的数据。使得各级服务器中的缓存数据得到及时更新。
图2为本发明实施例公开的第二种数据获取方法的流程图,该方法应用于用户侧服务器,如图2所示,可以包括:
步骤201:从数据源端接收更新提示信息。
所述更新提示信息为数据源端监测到数据更新后生成的包括数据属性信息和版本信息的指示信息。
步骤202:根据所述更新提示信息更新本地服务器的数据映射信息,所述数据映射信息包括数据属性信息与版本信息的对应关系。
步骤203:接收包括目标数据名称的第一数据请求信息。
步骤204:根据所述目标数据名称和更新后的所述数据映射信息确定所述目标数据名称对应的目标版本信息。
步骤205:判断本地服务器是否存在数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据,若存在,进入步骤206;若不存在,进入步骤207。
步骤206:从本地服务器抓取数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据。
由于用户侧服务器只是更新了数据映射信息,其上缓存的与目标数据名称对应的数据可能不是最新版本的,如,本地缓存的目标数据名称对应的数据可能是第二版本的,而实际上,数据源端的与所述目标数据名称对应的数据可能已经更新到第三版本,这时,用户侧服务器以及位于所述用户侧服务器与数据源之间的上游服务器可能也还没有及时获取到所述第三版本的数据;或位于所述用户侧服务器与数据源之间的某个或某些个上游服务器已经获取了所述第三版本的数据,而位于所述用户侧服务器与数据源之间的其他部分上游服务器已经将所述第三版本的数据更新并缓存至自身服务器中。
因此,需要首先判断本地服务器是否存在与所述目标数据名称和所述目标版本信息都相同的目标数据,在本地服务器已经将与所述目标数据名称相同的最新版本的数据更新至本地时,直接从本地服务器抓取与所述目标数据名称和所述目标版本信息都相同的目标数据。
步骤207:将包括所述目标版本信息的第二数据请求信息发送给上游服务器,以使得所述上游服务器根据所述目标版本信息获取目标数据。
在本地服务器不存在与所述目标数据名称对应的最新版本的数据更新至本地时,需要将包括所述目标版本信息的第二数据请求信息发送给上游服务器,以使得所述上游服务器根据所述目标版本信息获取目标数据。
在所有服务器还没有将最新版本的目标数据更新至本地缓存的情况下,用户侧服务器将包括所述目标版本信息的数据请求信息发送给上游服务器、请求上游服务时,由于版本号变化,自然不会在所述用户侧服务器与数据源端之间的中间服务器内的缓存中查找到目标数据,所以可以依次穿透各级缓存从而及时获取到最新的数据。也即所述中间服务器在自身获取不到与所述目标数据名称和所述目标版本信息都相同的目标数据后,会继续将包括所述目标版本信息的第二数据请求信息发送给上游服务器,直至数据源端。在数据源端的数据经过所述中间服务到达所述用户侧服务器的过程中,经过的各级服务器也将最新的目标数据更新至本地缓存。
本实施例中,所述数据获取方法通过主动更新数据版本信息,及时的让没有更新的数据无法被命中,从而主动去数据源端获取最新版本的数据,相对于现有技术根据缓存过期时间被动的更新缓存数据,能够使用户更早的使用最新版本的数据。
图3为本发明实施例公开的第三种数据获取方法的流程图,该方法应用于数据源端,如图3所示,可以包括:
步骤301:监测数据源端是否有数据更新,如果有,进入步骤302。
可以在所述数据源端设置一个监听服务,监测数据源端的数据是否发生变化,在所述数据源端大数据发生更新后,数据源端可以向用户侧服务器发送一个更新提示消息。
步骤302:生成包含数据属性信息和版本信息的更新提示信息。
步骤303:将所述更新提示信息发送给用户侧服务器。
在具体的实现方式中,所述将所述更新提示信息发送给用户侧服务器,可以包括:基于redis的发布-订阅机制将所述更新提示信息发送给用户侧服务器,或,通过socket连接或http请求将所述更新提示信息发送给用户侧服务器。
本实施例中,所述数据获取方法应用于数据源端,当上游数据源检测到数据有变化时,主动下发最新的版本信息到用户侧服务器,这样,当更新的数据请求上游服务时,携带此版本标示,一旦版本标示发生变化,则可以依次穿透请求所经过的中间服务,从而获取到最新版本的数据。使得各级服务器中的缓存数据得到及时更新。
图4为本发明实施例公开的第一种数据获取装置的结构示意图,该数据获取装置应用于用户侧服务器,如图4所示,数据获取装置40可以包括:
信息接收模块401,用于从数据源端的信息发送模块接收更新提示信息。
其中,所述更新提示信息为数据源端监测到数据更新后生成的包括数据属性信息和版本信息的指示信息。其中,所述数据属性信息可以为数据名称。
可以在所述数据源端设置一个监听服务,监测数据源端的数据是否发生变化,在所述数据源端大数据发生更新后,数据源端可以向用户侧服务器发送一个更新提示消息。例如,数据源端的数据X变化了,其之前的版本号是1,则更新版本号为2,此时生成一条类似”X:2”的更新提示信息。
在具体的实现方式中,所述信息接收模块401具体可用于:基于redis的发布-订阅机制从数据源接收更新提示信息,或,通过socket连接或http请求从数据源接收更新提示信息。
当然,从数据源接收更新提示信息的方式并不限制为上述已经列出的几种方式,能够实现从数据源接收更新提示信息的技术都可以应用于本发明的具体实现中。
信息更新模块402,用于根据所述更新提示信息更新本地服务器的数据映射信息,所述数据映射信息包括数据属性信息与版本信息的对应关系。
本实施例中,用户侧服务器在本地内存里可以记录有数据key到版本号的映射关系,即数据映射信息。在接收到所述更新提示信息后,所述用户侧服务器更新本地内存里的对应数据的版本号。比如之前的映射关系为X→1,收到更新提示消息“X:2”后,更新为X→2。
请求接收模块403,用于接收包括目标数据名称的第一数据请求信息。
在本地的数据映射关系根据更新提示信息更新后,用户侧服务器可以接收包括目标数据名称的第一数据请求信息。所述目标数据名称可以对应用户侧服务器根据更新提示信息更新过的数据映射信息的中的数据名称。
版本确定模块404,用于根据所述目标数据名称和更新后的所述数据映射信息确定所述目标数据名称对应的目标版本信息。
在接收到包括目标数据名称的第一数据请求信息后,需要获取所述目标数据名称对应的数据,并反馈给数据请求。由于用户侧服务器中已经更新了数据映射信息,即已确定了数据的最新版本,因此,在确定了所述第一数据请求信息中的目标数据名称后,根据本地的数据映射信息确定的目标版本信息即是目标数据的最新版本信息。
数据获取模块405,用于根据所述目标数据名称以及所述目标版本信息获取目标数据。
确定了目标数据名称和目标数据的目标版本信息后,服务器将根据所述目标数据名称和所述目标版本信息抓取对应版本的目标数据。以响应所述数据请求信息。因此,所述数据获取模块405具体可用于:从服务器中抓取与所述目标数据名称和所述目标版本信息同时对应的目标数据。
在一个具体的实现方式中,所述数据获取模块405的结构可参见图5,图5为本发明实施例公开的数据获取模块的结构示意图,如图5所示,所述数据获取模块405可以包括:
数据抓取单元501,用于从本地服务器抓取数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据。
由于用户侧服务器只是更新了数据映射信息,其上缓存的与目标数据名称对应的数据可能不是最新版本的,如,本地缓存的目标数据名称对应的数据可能是第二版本的,而实际上,数据源端的与所述目标数据名称对应的数据可能已经更新到第三版本,这时,用户侧服务器以及位于所述用户侧服务器与数据源之间的上游服务器可能也还没有及时获取到所述第三版本的数据;或位于所述用户侧服务器与数据源之间的某个或某些个上游服务器已经获取了所述第三版本的数据,而位于所述用户侧服务器与数据源之间的其他部分上游服务器已经将所述第三版本的数据更新并缓存至自身服务器中。
因此,需要首先判断本地服务器是否存在与所述目标数据名称和所述目标版本信息都相同的目标数据,在本地服务器已经将与所述目标数据名称相同的最新版本的数据更新至本地时,直接从本地服务器抓取与所述目标数据名称和所述目标版本信息都相同的目标数据。
请求上传单元502,用于在本地服务器不存在数据名称与所述目标数据名称相同,和/或数据版本信息与所述目标版本信息相同的目标数据时,则将包括所述目标版本信息的第二数据请求信息发送给上游服务器,以使得所述上游服务器根据所述目标版本信息获取目标数据。
在本地服务器不存在与所述目标数据名称对应的最新版本的数据更新至本地时,需要将包括所述目标版本信息的第二数据请求信息发送给上游服务器,以使得所述上游服务器根据所述目标版本信息获取目标数据。
在所有服务器还没有将最新版本的目标数据更新至本地缓存的情况下,用户侧服务器将包括所述目标版本信息的数据请求信息发送给上游服务器、请求上游服务时,由于版本号变化,自然不会在所述用户侧服务器与数据源端之间的中间服务器内的缓存中查找到目标数据,所以可以依次穿透各级缓存从而及时获取到最新的数据。也即所述中间服务器在自身获取不到与所述目标数据名称和所述目标版本信息都相同的目标数据后,会继续将包括所述目标版本信息的第二数据请求信息发送给上游服务器,直至数据源端。在数据源端的数据经过所述中间服务到达所述用户侧服务器的过程中,经过的各级服务器也将最新的目标数据更新至本地缓存。
本实施例所述数据获取装置应用于用户侧服务器,当上游数据源检测到数据有变化时,主动下发最新的版本信息到用户侧服务器,当更新的数据请求上游服务时,携带此版本标示,一旦版本标示发生变化,则可以依次穿透请求所经过的中间服务,从而获取到最新版本的数据。使得各级服务器中的缓存数据得到及时更新。
图6为本发明实施例公开的第二种数据获取装置的结构示意图,改数据获取装置应用于数据源端,如图6所示,所述数据获取装置60可以包括:
数据监测模块601,用于监测数据源端是否有数据更新。
可以在所述数据源端设置一个监听服务,监测数据源端的数据是否发生变化,在所述数据源端大数据发生更新后,数据源端可以向用户侧服务器发送一个更新提示消息。
信息生成模块602,用于在所述数据监测模块监测到数据源端有数据更新时,生成包含数据属性信息和版本信息的更新提示信息。
信息发送模块603,用于将所述更新提示信息发送给用户侧服务器的信息接收模块。
在具体的实现方式中,所述信息发送模块具体可用于:基于redis的发布-订阅机制将所述更新提示信息发送给用户侧服务器,或,通过socket连接或http请求将所述更新提示信息发送给用户侧服务器。
本实施例中,所述数据获取装置应用于数据源端,当上游数据源检测到数据有变化时,主动下发最新的版本信息到用户侧服务器,这样,当更新的数据请求上游服务时,携带此版本标示,一旦版本标示发生变化,则可以依次穿透请求所经过的中间服务,从而获取到最新版本的数据。使得各级服务器中的缓存数据得到及时更新。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据获取方法,应用于用户侧服务器,其特征在于,包括:
从数据源端接收更新提示信息,所述更新提示信息为数据源端监测到数据更新后生成的包括数据属性信息和版本信息的指示信息;
根据所述更新提示信息更新本地服务器的数据映射信息,所述数据映射信息包括数据属性信息与版本信息的对应关系;
接收包括目标数据名称的第一数据请求信息;
根据所述目标数据名称和更新后的所述数据映射信息确定所述目标数据名称对应的目标版本信息;
根据所述目标数据名称以及所述目标版本信息获取目标数据。
2.根据权利要求1所述的数据获取方法,其特征在于,所述根据所述目标数据名称以及所述目标版本信息获取目标数据,包括:
从上游服务器中抓取数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据。
3.根据权利要求1所述的数据获取方法,其特征在于,所述根据所述目标数据名称以及所述目标版本信息获取目标数据,包括:
从本地服务器抓取数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据;
若本地服务器中不存在数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据,则将包括所述目标版本信息的第二数据请求信息发送给上游服务器,以使得所述上游服务器根据所述目标版本信息获取目标数据。
4.根据权利要求1所述的数据获取方法,其特征在于,所述从数据源接收更新提示信息,包括:
基于redis的发布-订阅机制从数据源接收更新提示信息;
或,
通过socket连接或http请求从数据源接收更新提示信息。
5.一种数据获取方法,应用于数据源端,其特征在于,包括:
监测数据源端是否有数据更新;
如果有,则生成包含数据属性信息和版本信息的更新提示信息;
将所述更新提示信息发送给用户侧服务器。
6.一种数据获取装置,应用于用户侧服务器,其特征在于,包括:
信息接收模块,用于从数据源端的信息发送模块接收更新提示信息,所述更新提示信息为数据源端监测到数据更新后生成的包括数据属性信息和版本信息的指示信息;
信息更新模块,用于根据所述更新提示信息更新本地服务器的数据映射信息,所述数据映射信息包括数据属性信息与版本信息的对应关系;
请求接收模块,用于接收包括目标数据名称的第一数据请求信息;
版本确定模块,用于根据所述目标数据名称和更新后的所述数据映射信息确定所述目标数据名称对应的目标版本信息;
数据获取模块,用于根据所述目标数据名称以及所述目标版本信息获取目标数据。
7.根据权利要求6所述的数据获取装置,其特征在于,所述数据获取模块具体用于:从上游服务器中抓取数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据。
8.根据权利要求6所述的数据获取装置,其特征在于,所述数据获取模块包括:
数据抓取单元,用于从本地服务器抓取数据名称与所述目标数据名称相同,且数据版本信息与所述目标版本信息相同的目标数据;
请求上传单元,用于在本地服务器不存在数据名称与所述目标数据名称相同,和/或数据版本信息与所述目标版本信息相同的目标数据时,则将包括所述目标版本信息的第二数据请求信息发送给上游服务器,以使得所述上游服务器根据所述目标版本信息获取目标数据。
9.根据权利要求6所述的数据获取装置,其特征在于,所述信息获取模块具体用于:基于redis的发布-订阅机制从数据源接收更新提示信息;
或,
通过socket连接或http请求从数据源接收更新提示信息。
10.一种数据获取装置,应用于数据源端,其特征在于,包括:
数据监测模块,用于监测数据源端是否有数据更新;
信息生成模块,用于在所述数据监测模块监测到数据源端有数据更新时,生成包含数据属性信息和版本信息的更新提示信息;
信息发送模块,用于将所述更新提示信息发送给用户侧服务器的信息接收模块。
CN201810442186.4A 2018-05-10 2018-05-10 一种数据获取方法及装置 Active CN108650318B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810442186.4A CN108650318B (zh) 2018-05-10 2018-05-10 一种数据获取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810442186.4A CN108650318B (zh) 2018-05-10 2018-05-10 一种数据获取方法及装置

Publications (2)

Publication Number Publication Date
CN108650318A true CN108650318A (zh) 2018-10-12
CN108650318B CN108650318B (zh) 2021-04-30

Family

ID=63754159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810442186.4A Active CN108650318B (zh) 2018-05-10 2018-05-10 一种数据获取方法及装置

Country Status (1)

Country Link
CN (1) CN108650318B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113645309A (zh) * 2021-08-18 2021-11-12 浙江苍南仪表集团股份有限公司 多客户端数据差异化二次缓存及同步的处理方法及系统
CN116048601A (zh) * 2022-05-17 2023-05-02 荣耀终端有限公司 软件版本信息同步方法、系统及装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060126619A1 (en) * 2004-12-14 2006-06-15 Teisberg Robert R Aggregation over multiple processing nodes of network resources each providing offloaded connections between applications over a network
JP2008252180A (ja) * 2007-03-29 2008-10-16 Kyocera Mita Corp 画像形成装置
CN101426026A (zh) * 2008-09-17 2009-05-06 北京六维世纪网络技术有限公司 一种多服务器间数据同步的方法及系统
US20090235244A1 (en) * 2008-03-12 2009-09-17 Ikumi Enomori Software update system for information equipment
CN103237060A (zh) * 2013-04-08 2013-08-07 北京小米科技有限责任公司 一种数据对象获取方法、装置及系统
CN104202335A (zh) * 2014-09-19 2014-12-10 成都博智维讯信息技术有限公司 一种基于xml的简化的sap数据传输方法
CN104317914A (zh) * 2014-10-28 2015-01-28 小米科技有限责任公司 数据获取方法和装置
CN104735542A (zh) * 2015-03-30 2015-06-24 北京奇艺世纪科技有限公司 一种视频播放方法及装置
CN105227647A (zh) * 2015-09-18 2016-01-06 浪潮软件股份有限公司 一种分布式软件升级方法
CN105245560A (zh) * 2014-07-11 2016-01-13 阿里巴巴集团控股有限公司 一种实现分布式缓存的方法、装置及系统
CN106973099A (zh) * 2017-03-28 2017-07-21 广东欧珀移动通信有限公司 一种数据更新方法、装置及系统
CN107122410A (zh) * 2017-03-29 2017-09-01 武汉斗鱼网络科技有限公司 一种缓存更新方法及装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060126619A1 (en) * 2004-12-14 2006-06-15 Teisberg Robert R Aggregation over multiple processing nodes of network resources each providing offloaded connections between applications over a network
JP2008252180A (ja) * 2007-03-29 2008-10-16 Kyocera Mita Corp 画像形成装置
US20090235244A1 (en) * 2008-03-12 2009-09-17 Ikumi Enomori Software update system for information equipment
CN101426026A (zh) * 2008-09-17 2009-05-06 北京六维世纪网络技术有限公司 一种多服务器间数据同步的方法及系统
CN103237060A (zh) * 2013-04-08 2013-08-07 北京小米科技有限责任公司 一种数据对象获取方法、装置及系统
CN105245560A (zh) * 2014-07-11 2016-01-13 阿里巴巴集团控股有限公司 一种实现分布式缓存的方法、装置及系统
CN104202335A (zh) * 2014-09-19 2014-12-10 成都博智维讯信息技术有限公司 一种基于xml的简化的sap数据传输方法
CN104317914A (zh) * 2014-10-28 2015-01-28 小米科技有限责任公司 数据获取方法和装置
CN104735542A (zh) * 2015-03-30 2015-06-24 北京奇艺世纪科技有限公司 一种视频播放方法及装置
CN105227647A (zh) * 2015-09-18 2016-01-06 浪潮软件股份有限公司 一种分布式软件升级方法
CN106973099A (zh) * 2017-03-28 2017-07-21 广东欧珀移动通信有限公司 一种数据更新方法、装置及系统
CN107122410A (zh) * 2017-03-29 2017-09-01 武汉斗鱼网络科技有限公司 一种缓存更新方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113645309A (zh) * 2021-08-18 2021-11-12 浙江苍南仪表集团股份有限公司 多客户端数据差异化二次缓存及同步的处理方法及系统
CN116048601A (zh) * 2022-05-17 2023-05-02 荣耀终端有限公司 软件版本信息同步方法、系统及装置

Also Published As

Publication number Publication date
CN108650318B (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
US6792510B1 (en) System and method for updating a cache
EP2263163B1 (en) Content management
CN105791344B (zh) 灰度发布业务处理的方法、系统、负载均衡器及服务总线装置
US9549040B2 (en) First cache purge optimization handling of unavailable nodes
US20120331228A1 (en) Dynamic content caching
WO2013039798A2 (en) Distributing multi-source push notifications to multiple targets
CN105915510A (zh) 控制业务访问量的方法和装置
CN107241428B (zh) 一种在基于容器的共享虚拟主机中实现https的方法和装置
CN109491694A (zh) 应用更新方法和装置、数据推送方法和装置
CN109167850A (zh) 一种确定cdn服务运营商的方法、装置和存储介质
CN108234207A (zh) 一种基于内容分发网络cdn的故障定位方法和装置
CN109302437A (zh) 一种重定向网站的方法和装置
CN105893607A (zh) 页面数据管理方法、装置及数据服务器
CN108650318A (zh) 一种数据获取方法及装置
CN106326293A (zh) 基于动态网页的访问方法及装置
US20150006622A1 (en) Web contents transmission method and apparatus
CN107025226A (zh) 目标站点访问方法、装置和中转服务器
CN108521342A (zh) 一种集群的管理方法及装置
CN108540583A (zh) 一种cdn系统中的域名下发方法及装置,电子设备
CN103581260B (zh) 定制http代理内容的系统及方法
JP3709797B2 (ja) プロキシサーバとウェブサーバを含むシステム及びそのプログラム
CN108337280A (zh) 一种资源更新方法及装置
CN108629039B (zh) 一种数据处理方法及装置
JP2005202573A (ja) コンピュータシステム、サーバ計算機、コンピュータシステムのアプリケーション更新方法、プログラム
JP2003256370A (ja) セキュリティ情報配信方法、および、セキュリティ情報配信サーバ

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant