CN110222073B - 一种数据查询的方法以及相关装置 - Google Patents

一种数据查询的方法以及相关装置 Download PDF

Info

Publication number
CN110222073B
CN110222073B CN201910497497.5A CN201910497497A CN110222073B CN 110222073 B CN110222073 B CN 110222073B CN 201910497497 A CN201910497497 A CN 201910497497A CN 110222073 B CN110222073 B CN 110222073B
Authority
CN
China
Prior art keywords
data
processing server
query
data processing
cache database
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.)
Active
Application number
CN201910497497.5A
Other languages
English (en)
Other versions
CN110222073A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910497497.5A priority Critical patent/CN110222073B/zh
Publication of CN110222073A publication Critical patent/CN110222073A/zh
Application granted granted Critical
Publication of CN110222073B publication Critical patent/CN110222073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种数据查询的方法以及相关装置,通过在现有的数据查询架构中加入数据处理服务器,其中,数据处理服务器周期性获取活动数据库中的原始数据,并且对该原始数据按照预设规则分类,将分类的结果发送至缓存数据库,在缓存数据库数据失效或出现问题时,可以及时的从数据处理服务器获取最新的原始数据,保证了终端程序查询数据过程的正常运行,提高了查询过程稳定性;由于原始数据与用户的订阅数据具有对应关系,在支持不同的用户查询不一样的活动列表的时候,保障查询过程的高效性及稳定性,从而提升产品的可用性和用户体验。

Description

一种数据查询的方法以及相关装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据查询的方法以及相关装置。
背景技术
目前客户端业务普遍使用数据库的分类汇总语法,提取数据到缓存,再去缓存查询数据的方式。
用户在客户端个性化查询活动列表时,每个用户都只查自己已订阅的活动列表。活动服务器会先查询缓存是否有数据,若在缓存查询到了数据,则使用缓存数据;若活动服务器在缓存数据库没有查到数据,则去活动数据库查询该用户的个性化数据。活动服务器收到活动数据库返回的数据后,对该数据进行逻辑处理,并将逻辑处理后的数据以相应的存储结构写入缓存数据库。缓存数据库将缓存数据设置失效时间,并将处理结果返回给活动服务器。活动服务器对数据进行用户查询个性化处理,将结果返回给客户端。
但是,该过程会使活动数据库的负载增大,每一个用户在缓存数据失效的情况下都要来查询,而且如果缓存数据失效,并且活动数据库出现问题时,后台将获取不到任何数据,这样将直接导致服务不可用,影响查询过程稳定性。
发明内容
有鉴于此,本申请第一方面提供一种数据查询的方法,可支持终端程序的个性化查询功能,包括:数据处理服务器周期性获取第一数据,所述第一数据为活动数据库在预设时间段内储存的原始数据,所述原始数据与订阅数据具有对应关系,所述订阅数据为所述终端向活动服务器发送的数据,所述活动服务器用于向所述数据处理服务器发送订阅数据;所述数据处理服务器根据预设规则对所述第一数据进行分类,以得到至少两组第二数据;所述数据处理服务器向缓存数据库发送所述第二数据,所述缓存数据库用于在所述终端执行数据查询时为所述终端提供所述第二数据。
优选的,在本申请一些可能的实现方式中,所述预设规则包括按第一数据的时间信息分类,所述数据处理服务器根据预设规则对所述第一数据进行分类,包括:所述数据处理服务器获取所述第一数据的时间信息;所述数据处理服务器根据所述时间信息对所述第一数据进行分类,以得到与不同的时间信息各自对应的第二数据。
优选的,在本申请一些可能的实现方式中,所述预设规则还包括按第一数据中程序标识信息分类,所述数据处理服务器获取所述第一数据的时间信息之后,所述方法还包括:所述数据处理服务器获取所述第一数据的程序标识信息;所述数据处理服务器根据所述时间信息对所述第一数据分类得到第二数据,包括:所述数据处理服务器根据所述程序标识信息对按照所述时间信息分类后的第一信息进行分类,以得到第二数据。
本申请第二方面提供另一种数据查询的方法,包括:缓存数据库获取数据处理服务器发送的第二数据,所述第二数据为所述数据处理服务器对第一数据分类所得;所述缓存数据库将第三数据更新为第二数据,所述第三数据与根据预设规则对所述第二数据分类后的数据具有对应关系。
优选的,在本申请一些可能的实现方式中,所述预设规则包括时间信息,所述缓存数据库获取数据处理服务器发送的第二数据之后,所述方法还包括:所述缓存数据库获取所述第一数据的时间信息;所述缓存数据库根据所述时间信息的对应关系确定第三数据。
优选的,在本申请一些可能的实现方式中,所述预设规则还包括程序标识信息,所述缓存数据库获取第一数据的时间信息之后,所述方法还包括:所述缓存数据库获取所述第一数据的程序标识信息;所述缓存数据库根据所述时间信息的对应关系确定第三数据,包括:所述缓存数据库根据所述时间信息的对应关系确定第四数据;所述缓存数据库根据所述程序标识信息对第四数据进行分析,以确定第三数据。
本申请第三方面提供一种数据处理服务器,包括:获取单元,用于周期性获取第一数据,所述第一数据为活动数据库在预设时间段内储存的原始数据,所述原始数据与订阅数据具有对应关系,所述订阅数据为所述终端向活动服务器发送的数据,所述活动服务器用于向所述数据处理服务器发送订阅数据;分类单元,用于根据预设规则对所述第一数据进行分类,以得到至少两组第二数据;发送单元,用于向缓存数据库发送所述第二数据,所述缓存数据库用于在所述终端执行数据查询时为所述终端提供所述第二数据。
优选的,在本申请一些可能的实现方式中,所述分类单元,具体用于获取所述第一数据的时间信息;根据所述时间信息对所述第一数据进行分类,以得到与不同的时间信息各自对应的第二数据。
优选的,在本申请一些可能的实现方式中,所述分类单元,还用于获取所述第一数据的程序标识信息;根据所述程序标识信息对按照所述时间信息分类后的第一信息进行分类,以得到第二数据。
本申请第四方面提供一种缓存装置,包括:获取单元,用于获取数据处理服务器发送的第二数据,所述第二数据为所述数据处理服务器对第一数据分类所得;更新单元,用于将第三数据更新为第二数据,所述第三数据与根据预设规则对所述第二数据分类后的数据具有对应关系。
优选的,在本申请一些可能的实现方式中,所述获取单元还用于所述缓存数据库获取所述第一数据的时间信息;所述更新单元,还用于根据所述时间信息的对应关系确定第三数据。
优选的,在本申请一些可能的实现方式中,所述预设规则还包括程序标识信息,所述获取单元,还用于获取所述第一数据的程序标识信息;所述更新单元,还用于根据所述时间信息的对应关系确定第四数据;根据所述程序标识信息对第四数据进行分析,以确定第三数据。
本申请第五方面提供一种计算机设备,包括:存储器、收发器、处理器以及总线系统;所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行上述第一方面或第一方面任一项所述的数据查询的方法。
本申请第六方面提供一种计算机设备,包括:存储器、收发器、处理器以及总线系统;所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行上述第二方面或第二方面任一项所述的数据查询的方法。
本申请第七方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
数据处理服务器周期性获取活动数据库中的原始数据,并且对该原始数据按照预设规则分类,将分类的结果发送至缓存数据库,在缓存数据库数据失效或出现问题时,可以及时的从数据处理服务器获取最新的原始活动数据,保证了终端程序查询数据过程的正常运行,提高了查询过程稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为是现有技术中数据查询的网络架构图;
图2为本申请实施例提供的数据查询的网络架构图;
图3为本申请实施例提供的一种数据查询的方法的流程图;
图4为本申请实施例提供的一种数据查询的方法的流程示意图;
图5为本申请实施例提供的另一种数据查询的方法的流程图;
图6为本申请实施例提供的一种终端程序界面示意图;
图7为本申请实施例提供的数据处理服务器的结构示意图;
图8为本申请实施例提供的缓存装置的结构示意图;
图9为本申请实施例提供的另一种数据处理服务器的结构示意图。
具体实施方式
本申请实施例提供了一种数据查询的方法以及相关装置,通过数据处理服务器周期性获取活动数据库中的原始数据,并且对该原始数据按照预设规则分类,将分类的结果发送至缓存数据库,在缓存数据库数据失效或出现问题时,可以及时的从数据处理服务器获取最新的原始活动数据,保证了终端程序查询数据过程的正常运行,提高了查询过程稳定性;另外,在支持不同的用户查询不一样的活动列表的时候,保障查询过程的高效、高可靠、高扩展,从而提升产品的可用性和用户体验。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本申请提供的数据查询方法可以应用于终端应用程序运行逻辑中,具体的,可以是移动终端设备上运行的一种应用程序(Application,APP),即客户端服务,其中,应用程序可以是为用户提供个性化订阅数据的数据查询的应用,例如,在APP中针对不同的用户有不同的活动数据,该活动数据与用户的订阅内容相关,订阅内容包括:游戏、体育赛事或娱乐周边等信息。目前客户端业务普遍使用数据库的分类汇总语法,提取数据到缓存,再去缓存查询数据的方式。
如图1所示,是现有技术中数据查询的网络架构图,从图中可知,用户在客户端个性化查询活动列表时,每个用户都只查自己已订阅的活动列表。活动服务器会先查询缓存是否有数据,若在缓存查询到了数据,则使用缓存数据;若活动服务器在缓存数据库没有查到数据,则去活动数据库查询该用户的个性化数据。活动服务器收到活动数据库返回的数据后,对该数据进行逻辑处理,并将逻辑处理后的数据以相应的存储结构写入缓存数据库。缓存数据库将缓存数据设置失效时间,并将处理结果返回给活动服务器。活动服务器对数据进行用户查询个性化处理,将结果返回给客户端。
但是,该过程会使活动数据库的负载增大,每一个用户在缓存数据失效的情况下都要来查询,而且如果缓存数据失效,并且活动数据库出现问题时,后台将获取不到任何数据,这样将直接导致服务不可用,影响查询过程稳定性,而且在支持不同的用户查询不一样的活动列表的时候,容易影响数据查询的流畅性,影响用户体验。
为了解决上述问题,本申请提出了一种数据查询的方法,该方法应用于图2所示的数据查询网络框架,请参阅图2,图2为本申请实施例提供的数据查询的网络架构图,相较于现有技术中数据查询的网络架构,本申请中加入了一种数据处理服务器,该数据处理服务器至少用于周期性获取第一数据,所述第一数据为活动数据库在预设时间段内储存的原始数据,所述原始数据与订阅数据具有对应关系,所述订阅数据为所述终端向活动服务器发送的数据,所述活动服务器用于向所述数据处理服务器发送订阅数据;所述数据处理服务器根据预设规则对所述第一数据进行分类,以得到至少两组第二数据;所述数据处理服务器向缓存数据库发送所述第二数据,所述缓存数据库用于在所述终端执行数据查询时为所述终端提供所述第二数据。
作为一种实现方式,用户在终端上执行个性化查询操作时,该终端向活动服务器发送查询指令;活动服务器将该查询指令处理并发送至数据处理服务器,以请求相应的数据;数据服务器将缓存数据库中缓存的最新活动数据提取并发送至活动服务器,由于缓存数据库中的数据是由数据处理服务器周期性从活动数据库提取的,实现了数据的实时性更新,保证了数据的准确性;由于数据处理服务器的加入,隔离了数据储存与逻辑处理判断的过程,保证了查询过程的高效可靠性,同时也提高了扩展性。
结合上述网络架构,下面将对本申请中数据查询的方法进行介绍,请参阅图3,图3为本申请实施例提供的一种数据查询的方法的流程图,本申请实施例至少包括以下步骤:
S301、数据处理服务器周期性获取第一数据。
本实施例中,第一数据为活动数据库在预设时间段内储存的原始数据,该预设时间段可以包含当前时刻,即实时的活动信息,例如:关于程序1的实时活动播报;也可以包含距离活动信息更新后最近的时刻,即最新的活动信息,例如:当前时刻为10:00,程序2在8:00有新的活动数据更新,在8:00-10:00内没有活动数据更新,则8:00的活动数据为最新的活动信息,具体的时间段选择因实际场景或用户需求而定,此处不做限定。
可以理解的是,数据处理服务器获取第一数据的周期可以是人为设定的,例如:用户设定获取数据的周期为24小时,则数据处理服务器每隔24小时进行一次数据获取。数据处理服务器获取第一数据的周期也可以是数据处理服务器根据历史统计的周期所取的经验参数,该经验参数可以是基于用户使用查询功能的频率,例如:用户使用查询功能的最小时间间隔为30分钟,则数据处理服务器查询原始数据的周期应小于30分钟;该经验参数也可以是基于数据处理服务器周期设定值的历史记录的平均值,例如:在最近的3个月内,数据服务器在每个月获取原始数据的频率分别为20分钟、30分钟以及40分钟,则数据服务器可以在接下来的周期设定中取上述周期时长的平均值30分钟。具体的周期时长的设定因实际场景而定,此处不做限定。
S302、所述数据处理服务器根据预设规则对所述第一数据进行分类,得到至少两组第二数据。
本实施例中,预设规则可以是根据时间信息进行分类,具体的,时间信息可以是日期,例如:1月1日;也可以是当前时刻,例如:8:00;还可以是具有时间标识的其他表达形式,例如:第一季度。
可以理解的是,上述对于时间信息的说明可以是其中形式的一种,为表达时间的精确度或传达更多关于时间界定的信息,也可以是多种形式的组合,例如:时间信息为第一季度1月1日,具体的表达形式因实际场景而定,此处不做限定。
对第一数据进行分类后,可以得到至少两组第二数据,但在一些场景中,即第一数据仅有一条关于一个程序的活动信息时,可以对该数据进行标识,例如以时间为键,以活动详情为值,进行储存。
可以理解的是,对于多组数据的储存方式也可以采用以时间为键,以活动详情为值的形式,对于该场景的实现,可以采用根据第一数据的程序标识信息进行分类,即在确定第一数据的时间信息并根据时间信息进行分类之后,再在该分类的基础上根据程序标识信息进行分类,例如:根据时间信息得到时间1有程序1、程序2和程序3的活动信息之后,将各个程序的活动信息对应的标记与程序名称关联。
S303、所述数据处理服务器向缓存数据库发送所述第二数据,所述缓存数据库用于在所述终端执行数据查询时为所述终端提供所述第二数据。
本实施例中,缓存数据库可以是集成于数据处理服务器之中的部件,也可以是独立于数据处理服务器之外的独立设备,该独立设备具有缓存的功能,该独立设备可以通过有线或无线的方式与数据处理服务器进行数据传输。
终端在查询数据时,会想数据处理服务器请求相关数据,此时数据处理服务器会立即调用缓存数据库中的数据并发送至终端,实现数据查询的交互过程。
根据步骤S302中的分类结果,数据处理服务器向缓存数据库发送的第二数据可以是以表格的形式按顺序呈现,即以时间为键,以活动详情为值,该传输的方法可以使缓存数据库高效的对相关程序的活性信息进行更新,并且由于数据的对应性,可以提高数据的准确性。
通过数据处理服务器周期性获取活动数据库中的原始数据,并且对该原始数据按照预设规则分类,将分类的结果发送至缓存数据库,在缓存数据库数据失效或出现问题时,可以及时的从数据处理服务器获取最新的原始活动数据,保证了终端程序查询数据过程的正常运行,提高了查询过程稳定性;另外,在支持不同的用户查询不一样的活动列表的时候,保障查询过程的高效、高可靠、高扩展,从而提升产品的可用性和用户体验。
下面结合一种具体的场景对本申请提供的数据查询的过程进行说明,如图4所示,是本申请实施例提供的一种数据查询的方法的流程示意图,该过程包括但不限于如下步骤:
首先,说明数据处理器周期性接收活动数据库的活动数据以及缓存数据库更新活动数据的过程。
401、数据处理服务器从活动数据库获取第一数据。
本实施例中,数据处理服务器从活动数据库获取第一数据可以是周期性的,数据处理服务器获取第一数据的周期可以是人为设定的,例如:用户设定获取数据的周期为24小时,则数据处理服务器每隔24小时进行一次数据获取。数据处理服务器获取第一数据的周期也可以是数据处理服务器根据历史统计的周期所取的经验参数,该经验参数可以是基于用户使用查询功能的频率,例如:用户使用查询功能的最小时间间隔为30分钟,则数据处理服务器查询原始数据的周期应小于30分钟;该经验参数也可以是基于数据处理服务器周期设定值的历史记录的平均值,例如:在最近的3个月内,数据服务器在每个月获取原始数据的频率分别为20分钟、30分钟以及40分钟,则数据服务器可以在接下来的周期设定中取上述周期时长的平均值30分钟。具体的周期时长的设定因实际场景而定,此处不做限定。
本实施例中,第一数据为活动数据库在预设时间段内储存的原始数据,该预设时间段可以包含当前时刻,即实时的活动信息,例如:关于程序1的实时活动播报;也可以包含距离活动信息更新后最近的时刻,即最新的活动信息,例如:当前时刻为10:00,程序2在8:00有新的活动数据更新,在8:00-10:00内没有活动数据更新,则8:00的活动数据为最新的活动信息,具体的时间段选择因实际场景或用户需求而定,此处不做限定。
402、活动数据库向数据处理服务器反馈第一数据。
本实施例中,活动数据库可以是集成于数据处理服务器之中的部件,也可以是独立于数据处理服务器之外的独立设备,该独立设备具有缓存的功能,该独立设备可以通过有线或无线的方式与数据处理服务器进行数据传输。
403、数据处理服务器根据预设规则对第一数据分类,以得到第二数据。
本实施例中,预设规则可以是根据时间信息进行分类,具体的,时间信息可以是日期,例如:1月1日;也可以是当前时刻,例如:8:00;还可以是具有时间标识的其他表达形式,例如:第一季度。
可以理解的是,上述对于时间信息的说明可以是其中形式的一种,为表达时间的精确度或传达更多关于时间界定的信息,也可以是多种形式的组合,例如:时间信息为第一季度1月1日,具体的表达形式因实际场景而定,此处不做限定。
对第一数据进行分类后,可以得到至少两组第二数据,但在一些场景中,即第一数据仅有一条关于一个程序的活动信息时,可以对该数据进行标识,例如以时间为键,以活动详情为值,进行储存。
可以理解的是,对于多组数据的储存方式也可以采用以时间为键,以活动详情为值的形式,对于该场景的实现,可以采用根据第一数据的程序标识信息进行分类,即在确定第一数据的时间信息并根据时间信息进行分类之后,再在该分类的基础上根据程序标识信息进行分类,例如:根据时间信息得到时间1有程序1、程序2和程序3的活动信息之后,将各个程序的活动信息对应的标记与程序名称关联。
404、数据处理服务器向缓存数据库发送第二数据。
本实施例中,缓存数据库可以是集成于数据处理服务器之中的部件,也可以是独立于数据处理服务器之外的独立设备,该独立设备具有缓存的功能,该独立设备可以通过有线或无线的方式与数据处理服务器进行数据传输。
终端在查询数据时,会想数据处理服务器请求相关数据,此时数据处理服务器会立即调用缓存数据库中的数据并发送至终端,实现数据查询的交互过程。
根据步骤403中的分类结果,数据处理服务器向缓存数据库发送的第二数据可以是以表格的形式按顺序呈现,即以时间为键,以活动详情为值,该传输的方法可以使缓存数据库高效的对相关程序的活性信息进行更新,并且由于数据的对应性,可以提高数据的准确性。
405、缓存数据库根据第二数据更新第三数据。
本实施例中,第三数据可以是缓存数据库中与第二数据具有相同程序标识信息的数据,即当最新的活动数据发送至缓存数据库后,缓存数据库会删除对应程序在之前时刻获取的活动数据,根据程序标识信息将第二数据写入,达到更新第三数据的目的。
第三数据还可以是根据时间信息进行关联所得的数据,即当最新的活动数据发送至缓存数据库后,缓存数据库会删除对应时间信息之前的信息,根据时间信息将第二数据写入,达到更新第三数据的目的。
本实施例中,第三数据更新的过程可以是根据步骤403分类结果所得的对应关系的替换,即根据时间信息确定待更新的程序,再根据程序标识信息确定有最新活动数据的程序,并对其进行数据的替换。
在一种可能的场景中,第三数据的更新过程可以是数据的替换,也可以是数据对应数值的修改,例如:程序1中的第三数据指出程序维护时间为2月1日,而在最近接收到的第二数据中指出程序维护时间修改为2月2日,则可以进行日期的修改即可,无需过多的删除替换操作。
下面,结合用户的查询操作对本流程进行说明。在用户需要数据查询时,会通过终端发出查询指令,此时可以由如下步骤实现数据查询的过程。
406、终端向活动服务器发送查询指令。
本实施例中,终端可以是手机,也可以是个人电脑,还可以是便携式终端设备,终端通过对应的输入装置接收用户的查询指令,具体的输入装置根据终端的具体组成而定。
407、活动服务器向数据处理器发送订阅关系。
本实施例中,活动服务器会根据查询指令中对应的用户信息得到该用户的订阅信息,订阅信息可以包括程序的名称以及程序的活动信息,可以理解为,以用户为键,以程序信息为值(包括名称或活动信息)。
408、数据处理服务器向缓存数据库发送查询数据请求。
本实施例中,数据处理服务器根据活动服务器发送的订阅关系确定查询数据对应的程序,并向缓存数据库请求该程序的活动信息。
可以理解的是,该活动信息可能是步骤404中的第二数据,即更新后的第三数据,该活动信息也可以是步骤405中的第三数据,即在当前时刻还未接收到关于第三数据对应程序的活动信息。
409、缓存数据库向数据处理服务器发送查询数据。
本实施例中,缓存数据库根据数据处理服务器发送的请求加载对应的程序的活动信息,并将该活动信息发送至数据处理服务器。
410、数据处理服务器选择查询数据。
本实施例中,数据处理服务器可以对缓存数据库发送的查询数据进行选择,即根据活动服务器发送的时间信息对查询数据进行核对,或根据活动服务器发送的程序标识信息对查询数据进行核对,对于符合相关标识的数据打包并确认。
411、数据处理服务器向活动服务器发送查询数据。
本实施例中,数据处理服务器向活动服务器发送核对后的查询数据,该查询数据可以是以时间为键,以活动信息为值的格式,以便于活动服务器的解析过程。
412、活动数据库向终端发送查询数据。
本实施例中,活动数据库可以采用以时间为键,以活动信息为值的格式向终端发送查询数据,以便于终端根据对应的格式对查询界面进行更新。
通过上述实施例的数据查询流程,数据处理服务器可以周期性的从活动数据库获取最新的活动信息,并实时的对缓存数据库中的活动信息进行更新,该过程隔离了数据储存与查询运行逻辑,由于缓存数据库采用淘汰式的数据更新方法,即在由新的数据写入时才会删除对应的具有相同标识信息的数据,避免了由于缓存数据库中数据有效时间过期而导致的查询进程堵塞的情况,提高了数据查询的稳定性。
可以理解的是,由于上述实施例中数据处理服务器对于最新的活动数据(即第一数据)的分类,可以使得缓存数据库可以根据其分类结果进行高效的活动数据的更新,下面对该分类的过程结合附图进行说明,如图5所示,是本申请实施例提供的另一种数据查询的方法的流程图,该方法包括但不限于如下步骤:
S501、数据处理服务器周期性获取第一数据。
本实施例中,第一数据为活动数据库在预设时间段内储存的原始数据,该预设时间段可以包含当前时刻,即实时的活动信息,例如:关于程序1的实时活动播报;也可以包含距离活动信息更新后最近的时刻,即最新的活动信息,例如:当前时刻为10:00,程序2在8:00有新的活动数据更新,在8:00-10:00内没有活动数据更新,则8:00的活动数据为最新的活动信息,具体的时间段选择因实际场景或用户需求而定,此处不做限定。
可以理解的是,数据处理服务器获取第一数据的周期可以是人为设定的,例如:用户设定获取数据的周期为24小时,则数据处理服务器每隔24小时进行一次数据获取。数据处理服务器获取第一数据的周期也可以是数据处理服务器根据历史统计的周期所取的经验参数,该经验参数可以是基于用户使用查询功能的频率,例如:用户使用查询功能的最小时间间隔为30分钟,则数据处理服务器查询原始数据的周期应小于30分钟;该经验参数也可以是基于数据处理服务器周期设定值的历史记录的平均值,例如:在最近的3个月内,数据服务器在每个月获取原始数据的频率分别为20分钟、30分钟以及40分钟,则数据服务器可以在接下来的周期设定中取上述周期时长的平均值30分钟。具体的周期时长的设定因实际场景而定,此处不做限定。
S502、数据处理服务器根据时间信息对第一数据进行分类。
本实施例中,时间信息可以是日期,例如:1月1日;也可以是当前时刻,例如:8:00;还可以是具有时间标识的其他表达形式,例如:第一季度。
可以理解的是,上述对于时间信息的说明可以是其中形式的一种,为表达时间的精确度或传达更多关于时间界定的信息,也可以是多种形式的组合,例如:时间信息为第一季度1月1日,具体的表达形式因实际场景而定,此处不做限定。
S503、数据处理服务器根据程序标识信息进行分类。
本实施例中,根据步骤S502分类后的结果可以得到以时间为键的数据集合,此时,可以进一步的根据程序标识信息对该数据集合进行划分,以得到多组数据,便于按顺序对应相关的键进行储存。
可以理解的是,对于多组数据的储存方式也可以采用以时间为键,以活动详情为值的形式,对于该场景的实现,可以采用根据第一数据的程序标识信息进行分类,即在确定第一数据的时间信息并根据时间信息进行分类之后,再在该分类的基础上根据程序标识信息进行分类,例如:根据时间信息得到时间1有程序1、程序2和程序3的活动信息之后,将各个程序的活动信息对应的标记与程序名称关联。
S504、数据处理服务器向缓存数据库发送第二数据。
本实施例中,缓存数据库可以是集成于数据处理服务器之中的部件,也可以是独立于数据处理服务器之外的独立设备,该独立设备具有缓存的功能,该独立设备可以通过有线或无线的方式与数据处理服务器进行数据传输。
终端在查询数据时,会想数据处理服务器请求相关数据,此时数据处理服务器会立即调用缓存数据库中的数据并发送至终端,实现数据查询的交互过程。
根据步骤S504中的分类结果,数据处理服务器向缓存数据库发送的第二数据可以是以表格的形式按顺序呈现,即以时间为键,以活动详情为值,该传输的方法可以使缓存数据库高效的对相关程序的活性信息进行更新,并且由于数据的对应性,可以提高数据的准确性。
通过数据处理服务器周期性获取活动数据库中的原始数据,并且对该原始数据按照预设规则分类,将分类的结果发送至缓存数据库,在缓存数据库数据失效或出现问题时,可以及时的从数据处理服务器获取最新的原始活动数据,保证了终端程序查询数据过程的正常运行,提高了查询过程稳定性;另外,在支持不同的用户查询不一样的活动列表的时候,保障查询过程的高效、高可靠、高扩展,从而提升产品的可用性和用户体验。
为进一步的理解本申请的方案,可以采用如图6所示的终端显示界面,如图6所示,是本申请实施例提供的一种终端程序界面示意图。
在该界面中,包括但不限于模式选择A1、数据界面一A2和数据界面二A3,其中,模式选择A1可以包括时间或名称两种模式,本实施例以时间为分类以及进行说明。在时间模式下,数据界面一A2和数据界面二A3根据时间的倒序显示出不同时间的活动详情,可以理解的是,此处排序的规则可以是时间的倒序,也可以是时间的正序,还可以是根据用户输入查看指定日期的活动信息;具体的在不同的时间分类表格中,显示的是根据用户的订阅关系所指定程序的相关活动信息,该活动信息可以是最新的活动数据,也可以是之前的并未更新的活动数据,具体显示逻辑因实际场景而定,此处不做限定。
为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。请参阅图7,图7为本申请实施例提供的数据处理服务器的结构示意图,数据处理服务器700包括:
获取单元701,用于周期性获取第一数据,所述第一数据为活动数据库在预设时间段内储存的原始数据,所述原始数据与订阅数据具有对应关系,所述订阅数据为所述终端向活动服务器发送的数据,所述活动服务器用于向所述数据处理服务器发送订阅数据。
分类单元702,用于根据预设规则对所述第一数据进行分类,以得到至少两组第二数据。
发送单元703,用于向缓存数据库发送所述第二数据,所述缓存数据库用于在所述终端执行数据查询时为所述终端提供所述第二数据。
可选的,在本申请一些可能的实现方式中,分类单元702,具体用于获取所述第一数据的时间信息。
分类单元702,具体用于根据所述时间信息对所述第一数据进行分类,以得到与不同的时间信息各自对应的第二数据。
可选的,在本申请一些可能的实现方式中,分类单元702,还用于获取所述第一数据的程序标识信息。
分类单元702,还用于根据所述程序标识信息对按照所述时间信息分类后的第一信息进行分类,以得到第二数据。
通过获取单元701周期性获取原始数据,并且分类单元702对该原始数据按照预设规则分类,发送单元703将分类的结果发送至缓存数据库,在缓存数据库数据失效或出现问题时,可以及时的从数据处理服务器700获取最新的原始活动数据,保证了终端程序查询数据过程的正常运行,提高了查询过程稳定性;另外,在支持不同的用户查询不一样的活动列表的时候,保障查询过程的高效、高可靠、高扩展,从而提升产品的可用性和用户体验。
下面对本申请提供的一种缓存装置进行详细描述,请参阅图8,图8为本申请实施例提供的缓存装置的结构示意图,缓存装置800包括:
获取单元801,用于获取数据处理服务器发送的第二数据,所述第二数据为所述数据处理服务器对第一数据分类所得。
更新单元802,用于将第三数据更新为第二数据,所述第三数据与根据预设规则对所述第二数据分类后的数据具有对应关系。
可选的,在本申请一些可能的实现方式中,获取单元801还用于所述缓存数据库获取所述第一数据的时间信息.
更新单元802,还用于根据所述时间信息的对应关系确定第三数据。
可选的,在本申请一些可能的实现方式中,所述预设规则还包括程序标识信息,获取单元801,还用于获取所述第一数据的程序标识信息。
更新单元802,还用于根据所述时间信息的对应关系确定第四数据;
更新单元802,还用于根据所述程序标识信息对第四数据进行分析,以确定第三数据。
通过获取单元801实时的接收数据处理服务器发送的活动数据,更新单元802根据最新的活动数据对原有的数据进行及时的更新,采用淘汰式的数据更新的方法,即在有新的数据写入时才删除原有数据,可以避免在缓存数据库数据失效或出现问题时查询过程的堵塞情况。
本申请实施例还提供了一种数据处理服务器,请参阅图9,图9是本申请实施例提供的另一种数据处理服务器的结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。
服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图9所示的服务器结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有数据查询指令,当其在计算机上运行时,使得计算机执行如前述图3至图5所示实施例描述的方法中终端设备所执行的步骤。
本申请实施例中还提供一种包括数据查询指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图3至图5所示实施例描述的方法中终端设备所执行的步骤。
本申请实施例还提供了一种数据查询系统,所述数据查询系统可以包含图7所描述实施例中的数据查询装置以及图8所描述实施例中的缓存装置,或者图9所描述的数据处理服务器。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种数据查询的方法,应用于终端,其特征在于,包括:
数据处理服务器周期性获取第一数据,所述第一数据为活动数据库在预设时间段内储存的原始数据,所述原始数据与订阅数据具有对应关系,所述订阅数据为所述终端向活动服务器发送的数据,所述活动服务器用于向所述数据处理服务器发送订阅数据;
所述数据处理服务器根据预设规则对所述第一数据进行分类,以得到至少两组第二数据;
所述数据处理服务器向缓存数据库发送所述第二数据,所述缓存数据库用于在所述终端执行数据查询时,向所述数据处理服务器发送查询数据,以使所述数据处理服务器对所述查询数据进行核对,并向所述活动服务器发送核对后的查询数据,所述活动数据库再向所述终端发送查询数据,所述缓存数据库在新的数据写入时删除对应的具有相同标识信息的数据。
2.根据权利要求1所述的方法,其特征在于,所述预设规则包括按第一数据的时间信息分类,所述数据处理服务器根据预设规则对所述第一数据进行分类,包括:
所述数据处理服务器获取所述第一数据的时间信息;
所述数据处理服务器根据所述时间信息对所述第一数据进行分类,以得到与不同的时间信息各自对应的第二数据。
3.根据权利要求2所述的方法,其特征在于,所述预设规则还包括按第一数据中程序标识信息分类,所述数据处理服务器获取所述第一数据的时间信息之后,所述方法还包括:
所述数据处理服务器获取所述第一数据的程序标识信息;
所述数据处理服务器根据所述时间信息对所述第一数据进行分类,以得到第二数据,包括:
所述数据处理服务器根据所述程序标识信息对按照所述时间信息分类后的第一信息进行分类,以得到第二数据。
4.一种数据查询的方法,应用于终端,其特征在于,包括:
缓存数据库获取数据处理服务器发送的第二数据,所述第二数据为所述数据处理服务器对第一数据分类所得;
所述缓存数据库将第三数据更新为第二数据,所述第三数据与根据预设规则对所述第二数据分类后的数据具有对应关系;
所述缓存数据库在所述终端执行数据查询时,向所述数据处理服务器发送查询数据,以使所述数据处理服务器对所述查询数据进行核对,并向活动服务器发送核对后的查询数据,活动数据库再向所述终端发送查询数据,所述缓存数据库在新的数据写入时删除对应的具有相同标识信息的数据。
5.根据权利要求4所述的方法,其特征在于,所述预设规则包括时间信息,所述缓存数据库获取数据处理服务器发送的第二数据之后,所述方法还包括:
所述缓存数据库获取所述第一数据的时间信息;
所述缓存数据库根据所述时间信息的对应关系确定第三数据。
6.根据权利要求5所述的方法,其特征在于,所述预设规则还包括程序标识信息,所述缓存数据库获取第一数据的时间信息之后,所述方法还包括:
所述缓存数据库获取所述第一数据的程序标识信息;
所述缓存数据库根据所述时间信息的对应关系确定第三数据,包括:
所述缓存数据库根据所述时间信息的对应关系确定第四数据;
所述缓存数据库根据所述程序标识信息对第四数据进行分析,以确定第三数据。
7.一种数据处理服务器,其特征在于,包括:
获取单元,用于周期性获取第一数据,所述第一数据为活动数据库在预设时间段内储存的原始数据,所述原始数据与订阅数据具有对应关系,所述订阅数据为终端向活动服务器发送的数据,所述活动服务器用于向所述数据处理服务器发送订阅数据;
分类单元,用于根据预设规则对所述第一数据进行分类,以得到至少两组第二数据;
发送单元,用于向缓存数据库发送所述第二数据,所述缓存数据库用于在所述终端执行数据查询时,向所述数据处理服务器发送查询数据,以使所述数据处理服务器对所述查询数据进行核对,并向所述活动服务器发送核对后的查询数据,所述活动数据库再向所述终端发送查询数据,所述缓存数据库在新的数据写入时删除对应的具有相同标识信息的数据。
8.一种缓存装置,其特征在于,包括:
获取单元,用于获取数据处理服务器发送的第二数据,所述第二数据为所述数据处理服务器对第一数据分类所得;
更新单元,用于将第三数据更新为第二数据,所述第三数据与根据预设规则对所述第二数据分类后的数据具有对应关系;
所述装置还用于,缓存数据库在终端执行数据查询时,向所述数据处理服务器发送查询数据,以使所述数据处理服务器对所述查询数据进行核对,并向活动服务器发送核对后的查询数据,活动数据库再向所述终端发送查询数据,所述缓存数据库在新的数据写入时删除对应的具有相同标识信息的数据。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:
所述存储器用于存储程序代码;所述处理器用于根据所述程序代码中的指令执行权利要求1至3任一项所述的数据查询的方法,或者,
所述存储器用于存储用于查询的数据,所述用于查询的数据是根据上述权利要求4至6任一项所述的数据查询的方法更新得到的数据;所述处理器用于更新得到的数据,以提供数据查询。
10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上述权利要求1至3任一项所述的数据查询的方法,或者执行如上述权利要求4至6任一项所述的数据查询的方法。
CN201910497497.5A 2019-06-10 2019-06-10 一种数据查询的方法以及相关装置 Active CN110222073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910497497.5A CN110222073B (zh) 2019-06-10 2019-06-10 一种数据查询的方法以及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910497497.5A CN110222073B (zh) 2019-06-10 2019-06-10 一种数据查询的方法以及相关装置

Publications (2)

Publication Number Publication Date
CN110222073A CN110222073A (zh) 2019-09-10
CN110222073B true CN110222073B (zh) 2023-11-14

Family

ID=67816003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910497497.5A Active CN110222073B (zh) 2019-06-10 2019-06-10 一种数据查询的方法以及相关装置

Country Status (1)

Country Link
CN (1) CN110222073B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515541A (zh) * 2020-04-09 2021-10-19 奇安信安全技术(珠海)有限公司 数据库的数据查询方法、装置和系统
CN111737299A (zh) * 2020-06-19 2020-10-02 中国建设银行股份有限公司 缓存数据处理方法及装置
CN112486956A (zh) * 2020-12-10 2021-03-12 北京字节跳动网络技术有限公司 数据存取方法、装置和电子设备
CN113806651B (zh) * 2021-09-18 2024-05-24 深圳市酷开网络科技股份有限公司 一种数据缓存方法、装置、服务器及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020116457A1 (en) * 2001-02-22 2002-08-22 John Eshleman Systems and methods for managing distributed database resources
CN101938525A (zh) * 2010-10-09 2011-01-05 安和创新科技(北京)有限公司 基于订阅/推送的缓存机制的无线企业应用的系统及方法
CN104572689A (zh) * 2013-10-17 2015-04-29 腾讯科技(深圳)有限公司 数据同步方法、装置及系统
CN108846052A (zh) * 2018-05-31 2018-11-20 郑州云海信息技术有限公司 一种浏览器缓存数据更新方法及相关装置
CN109033315A (zh) * 2018-07-18 2018-12-18 张小剑 数据查询方法、客户端、服务器及计算机可读介质
CN109299087A (zh) * 2018-08-14 2019-02-01 中国平安财产保险股份有限公司 数据缓存方法、装置、计算机设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020116457A1 (en) * 2001-02-22 2002-08-22 John Eshleman Systems and methods for managing distributed database resources
CN101938525A (zh) * 2010-10-09 2011-01-05 安和创新科技(北京)有限公司 基于订阅/推送的缓存机制的无线企业应用的系统及方法
CN104572689A (zh) * 2013-10-17 2015-04-29 腾讯科技(深圳)有限公司 数据同步方法、装置及系统
CN108846052A (zh) * 2018-05-31 2018-11-20 郑州云海信息技术有限公司 一种浏览器缓存数据更新方法及相关装置
CN109033315A (zh) * 2018-07-18 2018-12-18 张小剑 数据查询方法、客户端、服务器及计算机可读介质
CN109299087A (zh) * 2018-08-14 2019-02-01 中国平安财产保险股份有限公司 数据缓存方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN110222073A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
CN110222073B (zh) 一种数据查询的方法以及相关装置
KR100791628B1 (ko) 이동망 시스템의 능동적 캐쉬 제어 방법, 그 기록 매체 및그 시스템
CN107273540B (zh) 分布式搜索及索引更新方法、系统、服务器及计算机设备
US20120158837A1 (en) Method and system for establishing a notification service for a device
CN108055302B (zh) 一种图片缓存处理方法、系统和服务器
US20120130975A1 (en) Search method, apparatus, and system
WO2013131570A1 (en) Data stream management systems
CN109740089A (zh) 数据采集方法、装置、系统、可读存储介质及电子设备
CN110362598B (zh) 数据查询的方法、装置、存储介质及电子设备
CN113806651B (zh) 一种数据缓存方法、装置、服务器及存储介质
US20210029198A1 (en) Data synchronization method and synchronization service device
US20140164409A1 (en) Generating And Using Temporal Data Partition Revisions
CN116756190A (zh) 数据缓存管理方法、装置、终端设备以及存储介质
EP4036749A1 (en) Date switching data offloading method, apparatus, device, and medium
CN115344610A (zh) 两级缓存数据获取方法及装置
CN113051271A (zh) 一种冷热数据分离方法、装置及其设备
CN104969217A (zh) 预测缓存装置和缓存预测方法
CN110413679A (zh) 数据库信息处理方法、装置、设备及可读存储介质
CN116226905A (zh) 分布式数据库限流方法、限流装置、系统及电子设备
CN114945026A (zh) 数据处理方法、装置和系统
CN107819806B (zh) 优化app接口数据的方法、装置及系统
CN111314407B (zh) 用于处理元数据的通信设备和通信方法
US11115464B2 (en) Server apparatus, information processing method, and computer program product
CN111935209A (zh) 一种基于用户状态对feed信息进行推送的方法及系统
JP2000348039A (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