CN115357618A - 数据访问方法、数据处理系统、电子设备和可读介质 - Google Patents

数据访问方法、数据处理系统、电子设备和可读介质 Download PDF

Info

Publication number
CN115357618A
CN115357618A CN202211003457.9A CN202211003457A CN115357618A CN 115357618 A CN115357618 A CN 115357618A CN 202211003457 A CN202211003457 A CN 202211003457A CN 115357618 A CN115357618 A CN 115357618A
Authority
CN
China
Prior art keywords
data
information
subset
verified
stored
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.)
Pending
Application number
CN202211003457.9A
Other languages
English (en)
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.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jingdong Technology Holding 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 Jingdong Technology Holding Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN202211003457.9A priority Critical patent/CN115357618A/zh
Publication of CN115357618A publication Critical patent/CN115357618A/zh
Pending legal-status Critical Current

Links

Images

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/2455Query execution
    • G06F16/24552Database cache management
    • 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/24553Query execution of query operations
    • G06F16/24561Intermediate data storage techniques for performance improvement
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例公开了数据访问方法、数据处理系统、电子设备和可读介质。该缓存数据访问方法的一具体实施方式包括:响应于触发信息校验流程,确定预存数据集中是否存在目标数据,其中,目标数据为与待验证信息相匹配的数据;响应于确定存在目标数据,查询缓存数据,以对待验证信息进行校验;根据待验证信息的校验结果执行相应操作。该实施方式与应用(平台)系统优化有关,通过预存数据集可以对待验证信息进行初步校验,从而预判校验结果。尤其是对于初步校验不通过(失败)的情况,可以避免或减少对缓存中间件的调用,从而降低缓存压力,有助于提升并发处理的性能和效率。

Description

数据访问方法、数据处理系统、电子设备和可读介质
技术领域
本公开的实施例涉及计算机技术领域,具体涉及数据访问方法、数据处理系统、电子设备和可读介质。
背景技术
现在互联网架构方案中,为了保证应用(或平台)系统的高性能,通常会把一些耗时较长或者计算复杂的查询结果存放到缓存中。作为示例,如某购物平台在为用户查询可用优惠券时,会把优惠券的使用资格结果放到缓存中,从而可以提高查询优惠券时的响应速度。
在这里,如果采用缓存中间件,并且并发量在每秒千万级别以上。那么通常会对缓存造成很大的压力,使其容易达到访问(或调用)瓶颈。这种情况下,一般不仅会影响当前业务的处理,也会影响使用该缓存的其他业务。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。本公开的一些实施例提出了缓存数据访问方法、装置、数据处理系统、电子设备和计算机可读介质,来解决以上背景技术部分提到的技术问题中的一项或多项。
第一方面,本公开的一些实施例提供了一种缓存数据访问方法,包括:响应于触发信息校验流程,确定预存数据集中是否存在目标数据,其中,目标数据为与待验证信息相匹配的数据;响应于确定存在目标数据,查询缓存数据,以对待验证信息进行校验;根据待验证信息的校验结果执行相应操作。
在一些实施例中,预存数据集中的数据,是通过对用户的历史行为数据进行统计分析而得到的;预存数据集包括热数据子集和冷数据子集,热数据子集中的热数据表征在第一时间段内产生的行为数据,冷数据子集中的冷数据表征在第二时间段内产生的行为数据,其中,第一时间段晚于第二时间段。
在一些实施例中,热数据子集中的热数据采用键值对方式存储,冷数据子集中的冷数据采用布隆过滤器存储。
在一些实施例中,确定预存数据集中是否存在目标数据,包括:确定热数据子集中是否存在目标数据;响应于确定热数据子集中不存在目标数据,确定冷数据子集中是否存在目标数据。
在一些实施例中,该方法还包括:响应于确定不存在目标数据,确定待验证信息校验不通过。
第二方面,本公开的一些实施例提供了一种缓存数据访问装置,包括:数据确定单元,被配置成响应于触发信息校验流程,确定预存数据集中是否存在目标数据,其中,所述目标数据为与待验证信息相匹配的数据;缓存查询单元,被配置成响应于确定存在所述目标数据,查询缓存数据,以对所述待验证信息进行校验;执行单元,被配置成根据所述待验证信息的校验结果执行相应操作。
在一些实施例中,预存数据集中的数据,是通过对用户的历史行为数据进行统计分析而得到的;预存数据集包括热数据子集和冷数据子集,热数据子集中的热数据表征在第一时间段内产生的行为数据,冷数据子集中的冷数据表征在第二时间段内产生的行为数据,其中,第一时间段晚于第二时间段。
在一些实施例中,热数据子集中的热数据采用键值对方式存储,冷数据子集中的冷数据采用布隆过滤器存储。
在一些实施例中,数据确定单元进一步被配置成确定热数据子集中是否存在目标数据;响应于确定热数据子集中不存在目标数据,确定冷数据子集中是否存在目标数据。
在一些实施例中,该装置还包括校验确定单元,被配置成响应于确定不存在目标数据,确定待验证信息校验不通过。
第三方面,本公开的一些实施例提供了一种数据处理系统,包括:数据服务器,被配置成对用户在应用上的历史行为数据进行统计分析,生成历史数据集;应用服务器,被配置成周期性地加载历史数据集,根据历史数据集,得到预存数据集,以及响应于触发信息校验流程,确定预存数据集中是否存在目标数据,其中,目标数据为与待验证信息相匹配的数据,响应于确定存在目标数据,查询缓存数据,以对待验证信息进行校验,根据待验证信息的校验结果执行相应操作。
在一些实施例中,预存数据集包括热数据子集和冷数据子集;热数据子集中的热数据表征在第一时间段内产生的行为数据,冷数据子集中的冷数据表征在第二时间段内产生的行为数据,其中,第一时间段晚于第二时间段。
在一些实施例中,数据服务器被配置成统计各用户在应用上的目标行为数据,生成以目标行为数据为维度,存储有各用户标识的布隆过滤器文件,得到历史数据集。
在一些实施例中,该数据处理系统还包括文件服务器,被配置成存储和共享文件;数据服务器还被配置成将历史数据集发送至文件服务器存储;应用服务器被配置成周期性地从文件服务器中加载历史数据集,将历史数据集作为冷数据子集,存储在本地内存中。
在一些实施例中,应用服务器还被配置成响应于确定应用中产生新数据,将与新数据相关的用户标识和行为数据存储在信息队列中,以及周期性地从信息队列中加载新增的数据,作为热数据子集中的热数据,存储在本地内存中。
在一些实施例中,应用服务器还被配置成确定热数据子集中是否存在目标数据;响应于确定热数据子集中不存在目标数据,确定冷数据子集中是否存在目标数据。
在一些实施例中,应用服务器还被配置成响应于确定不存在目标数据,确定待验证信息校验不通过。
第四方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面或第三方面中任一实现方式所描述的方法。
第五方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现上述第一方面或第三方面中任一实现方式所描述的方法。
本公开的上述各个实施例具有如下有益效果:本公开的一些实施例的缓存数据访问方法在一定程度上能够减少对缓存的压力,从而保证并发处理的性能和效率。具体来说,造成缓存的调用量容易达到瓶颈的原因之一在于:现有的网络架构中,当需要调用缓存中间件,以进行数据查询时,通常会直接访问查询缓存数据。这样,当某个系统的访问量(或查询量)增大时,往往会增加缓存的压力。不仅会影响并发性能,还会给其他系统造成影响。例如A系统对缓存中间件的调用量为每秒1500万,B系统对缓存中间件的调用量为每秒1000万,而缓存中间件最大支撑每秒3000万调用量。若A系统突然增加到每秒2500万调用量,而B系统仍保持每秒1000万调用量。此时,两个系统的总调用量已经超过缓存的最大支撑。由此可见,缓存的压力也会陡增,而且由于资源抢占,B系统也会受到影响。
基于此,本公开的一些实施例的缓存数据访问方法可以通过预存数据集,来对待验证信息进行初步校验,从而避免直接访问缓存数据。这样可以给缓存中间件的调用起到一定的缓冲作用。另外,在确定预存数据集中存在目标数据的情况下,才会查询缓存数据,以对待验证信息做进一步校验。这样,可以起到信息筛选的作用,在一定程度上能够减少对缓存中间件的调用量。进而有助于降低缓存的压力,从而保证达到高并发、高性能的要求。另外,也可以减少对访问该缓存的其他系统的业务处理的影响。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。
图1是根据本公开的缓存数据访问方法的一些实施例的流程图;
图2是本公开的缓存数据访问方法的一个应用场景示意图;
图3是根据本公开的缓存数据访问装置的一些实施例的结构示意图;
图4是根据本公开的数据处理系统的一些实施例的架构图;
图5是根据本公开的数据处理系统的一些实施例的工作时序图;
图6是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1示出了根据本公开的缓存数据访问方法的一些实施例的流程100。该方法包括以下步骤:
步骤101,响应于触发信息校验流程,确定预存数据集中是否存在目标数据。
在一些实施例中,缓存数据访问方法的执行主体(例如图5中所示的应用服务器)在确定触发信息校验流程的情况下,可以确定预存数据集中是否存在目标数据。其中,预存数据集中的数据可以是与待验证信息相关的数据。这里的待验证信息通常是需要查询缓存,以进行验证确认的信息。例如,待验证信息为确定用户W是否为应用的会员。此时,预存数据集中可以包含有用户注册应用会员的记录数据。又例如,待验证信息为确定用户W是否可以用优惠券A。在这种情况下,预存数据集中可以包含有用户领取优惠券的记录数据。而目标数据可以为与待验证信息相匹配的数据。例如对于上述示例,目标数据可以为用户W注册会员记录,或者用户W领取优惠券A记录等等。
在一些实施例中,执行主体可以直接在预存数据集中,查找与待验证信息相匹配的数据。或者,执行主体首先可以提取待验证信息的关键信息,如用户标识、优惠券标识。之后,可以在预存数据集中查找包含关键信息的数据。又或者,可以将关键信息分为第一关键信息和第二关键信息。接着,可以在预存数据集中查找包含第一关键信息(如用户标识)的数据。之后,可以在包含第一关键信息的数据中查找包含第二关键信息(优惠权标识)的数据。这样有利于提高查找效率。
在这里,触发信息校验流程的方式并不限制。例如可以是检测到相关触发操作。作为示例,当检测到用户W在应用中执行下单操作时,执行主体可以确定触发信息校验流程,进而确定该用户W是否为会员,和\或是否可以使用优惠券A。或者检测到用户W对优惠券A的选取操作时,执行主体可以触发信息校验流程,以确定该用户W是否可以使用优惠券A。又例如,执行主体还可以在检测到待确认内容(待验证信息)的情况下,触发信息校验流程。
在一些实施例中,预存数据集中的数据可以是通过对用户的历史行为数据进行统计分析而得到的。作为示例,执行主体可以对各用户在应用中的历史行为数据进行统计分析,并将用户标识与行为数据之间的对应关系进行存储,从而可以得到预存数据集。例如,对于近期设定时间段内的促销优惠活动,如4月1日至4月3日,满100减10元,满200减30。预存数据集中可以存储有每个用户领取各种优惠券的关系数据,或者每种优惠券与已领取该优惠券的所有用户的关系数据。
在这里,预存数据集可以存储在执行主体本地,也可以存储在其他电子设备(如数据库)中。执行主体在确定预存数据集中存在目标数据的情况下,说明存在待验证信息的相关记录,此时执行主体可以继续执行步骤102。
在一些实施例中,在数据量较大的情况下,为了提升处理效率,上述预存数据集可以包括热数据子集和冷数据子集。其中,热数据子集中的热数据可以是常用的数据或近期产生的实时数据等。而冷数据子集中的冷数据可以是不常用的数据或历史数据。作为示例,热数据子集中的热数据可以表征在第一时间段内产生的行为数据。而冷数据子集中的冷数据可以表征在第二时间段内产生的行为数据。
可以理解的是,第一时间段和第二时间段可以根据实际情况进行设置。例如,为了保证数据的全面性,第二时间段可以是包含第一时间段,且比第一时间段的时长长的时间段。如第一时间段为10:00至11:00,第二时间段为8:00至11:00。又或者,第一时间段可以与第二时间段存在部分重叠时间,且第一时间段晚于第二时间段。如第一时间段为10:00至11:00,第二时间段为10:30至8:00。再或者,在保证数据全面的同时,避免数据重复冗余,减少存储空间占用,第一时间段可以晚于第二时间段,且与第二时间段相邻。例如上述热数据可以是实时数据,此时第一时间段可以是距离当前24小时内的时间段。而上述冷数据可以是历史数据,此时第二时间段可以是距离当前24小时至72小时内的时间段。
需要说明的是的,预存数据集(热数据子集和冷数据子集)中数据的存储方式并不限制。在一些实施例中,热数据子集中的热数据可以采用键值对方式存储。而冷数据子集中的冷数据可以采用布隆过滤器存储。其中,布隆过滤器可以压缩数据,从而有助于减少存储空间的占用。
具体地,执行主体在确定应用中产生新数据的情况下,可以将与新数据相关的用户标识和行为数据存储在信息队列中。并将信息队列中的数据作为热数据。例如,用户W领取了新的优惠券,或者优惠券A被其他用户领取。此时,执行主体可以将用户标识(如用户ID、或用户名)与优惠券标识(如名称或编号),以键值对方式存储在redis(RemoteDictionary Server,远程字典服务)队列中。redis是一个开源的、支持网络、可基于内存亦可持久化的日志型、Key-Value(键-值)数据库。
可以理解的是,redis通常是缓存中间中的一个结构。利用现有结构进行热数据存储,可以降低系统结构改造的难度和成本。同时也有助于减少对系统中现有业务的影响。在这里,为了进一步减少对缓存中间件的调用,执行主体可以周期性地从信息队列中加载新增的数据,并存储在本地内存中。如可以将这些数据存储在哈希表中(如HashMap,哈希映射,基于哈希表的Map接口的实现)。这样可以避免在高并发时访问缓存以加载热数据。可选地,执行主体也可以采用其他分布式缓存,来实现热数据的存储。这样可以进一步减少对缓存资源的占用。
在一些实施例中,执行主体可以统计各用户在应用上的目标行为数据,生成以目标行为数据为维度,存储有各用户标识的布隆过滤器文件。并将布隆过滤器文件中的数据作为冷数据。这里的目标行为可以根据实际情况进行设置,通常为需要将相关数据存放在缓存中的行为。这样既可以存储大量数据,又可以减少空间占用。
在一些实施例中,为了减少对执行主体的资源占用,避免影响其他数据处理流程,上述预存数据集也可以是全部或部分由其他电子设备(如图5中所示的数据服务器),通过对应用中各用户的历史行为数据进行统计分析而得到的。例如,上述冷数据子集和热数据子集可以全部由其他电子设备(如图5中的数据服务器)分析得到。又例如,上述冷数据子集可以由其他电子设备分析得到。执行主体可以周期性地将冷数据子集加载到本地内存中。由于历史数据(冷数据)的数据量通常较大,因此这种方式既可以保证实时数据(热数据)的时效性,又可以减少对执行主体的资源占用,有利于提升执行主体的处理效率。
在一些实施例中,执行主体首先可以确定热数据子集中是否存在目标数据。若热数据子集中存在目标数据,则说明预存数据集中存在目标数据。此时可以继续执行步骤102。若热数据子集中不存在目标数据,则执行主体可以进一步确定冷数据子集中是否存在目标数据。若冷数据子集中存在目标数据,则说明预存数据集中存在目标数据。此时可以继续执行步骤102。若冷数据子集中不存在目标数据,则说明预存数据集中不存在目标数据。此时执行主体可以确定待验证信息校验不通过。在这种情况下,通常说明该验证信息很有可能不会校验通过。
步骤102,响应于确定存在目标数据,查询缓存数据,以对待验证信息进行校验。
在一些实施例中,若执行主体确定预存数据集中存在目标数据,则可以继续调用缓存中间件。即查询缓存数据,以对待验证信息进行校验。在这里,查询方式和校验内容在这里同样不限制。例如对于优惠券,可以校验优惠券是否满足使用条件,如有效期、满减条件、使用商品等。
步骤103,根据待验证信息的校验结果执行相应操作。
在一些实施例中,基于待验证信息的校验结果,执行主体可以执行相应操作。例如,若确定用户W领取了优惠券A,即校验通过,则执行主体可以在用户W的下单页面显示及选中优惠券A。并且可以在订单金额中减去相应的优惠金额。
可以理解的是,若预存数据集中不存在目标数据,则执行主体可以确定待验证信息校验不通过。在这种情况下,通常说明该验证信息很有可能不会校验通过。此时,可以不再调用缓存中间件,即不再查询缓存数据。由此可见,通过预存数据集可以实现待验证信息的快速预判,以达到快速校验失败的结果。这样在一定程度上,可以减少对缓存中间件的调用,从而降低缓存压力。
作为示例,在图2所示的应用场景中,若触发开始用户优惠券资格校验,则首先可以确认热数据子集中是否有某用户领取某优惠券的记录。若没有,则可以继续确认冷数据子集中是否有某用户领取某优惠券的记录。若没有,则可以确认该用户不可用某优惠券。若热数据子集或冷数据子集中有该记录,则可以查询缓存,以进一步校验。若校验不通过,则同样说明该用户不可用某优惠券。若校验通过,则说明该用户可以用某优惠券。
本公开的一些实施例提供的缓存数据访问方法,通过预存数据集可以对待验证信息进行初步校验,从而预判校验结果。尤其是对于初步校验不通过(失败)的情况,可以避免或减少对缓存中间件的调用,从而降低缓存压力,有助于提升并发处理的性能和效率。
继续参考图3,作为对上述图1所示方法的实现,本公开提供了缓存数据访问装置的一些实施例,这些装置实施例与图1所示的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,一些实施例的缓存数据访问装置300可以包括:数据确定单元301,被配置成响应于触发信息校验流程,确定预存数据集中是否存在目标数据,其中,所述目标数据为与待验证信息相匹配的数据;缓存查询单元302,被配置成响应于确定存在所述目标数据,查询缓存数据,以对所述待验证信息进行校验;执行单元303,被配置成根据所述待验证信息的校验结果执行相应操作。
在一些实施例中,预存数据集中的数据,可以是通过对用户的历史行为数据进行统计分析而得到的;预存数据集包括热数据子集和冷数据子集,热数据子集中的热数据表征在第一时间段内产生的行为数据,冷数据子集中的冷数据表征在第二时间段内产生的行为数据,其中,第一时间段晚于第二时间段。
在一些实施例中,热数据子集中的热数据采用键值对方式存储,冷数据子集中的冷数据采用布隆过滤器存储。
在一些实施例中,数据确定单元301可以进一步被配置成确定热数据子集中是否存在目标数据;响应于确定热数据子集中不存在目标数据,确定冷数据子集中是否存在目标数据。
在一些实施例中,该装置300还可以包括校验确定单元(图3中未示出),被配置成响应于确定不存在目标数据,确定待验证信息校验不通过。
可以理解的是,该装置300中记载的诸单元与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置300及其中包含的单元,在此不再赘述。
进一步参考图4和5,其示出了本公开的一些实施例的数据处理系统。数据处理系统可以包括数据服务器401和应用服务器402。
在这里,如步骤501,数据服务器401可以对用户在应用上的历史行为数据进行统计分析,生成历史数据集。这里的应用可以是应用服务器提供支持的应用。对于历史数据,数据服务器401可以从应用服务器402中获取,也可以从用于存储这些数据的数据服务器中获取。而应用服务器402可以周期性地加载历史数据集。并且如步骤502,可以根据历史数据集,来得到预存数据集。例如,应用服务器402可以将历史数据集中的数据作为预存数据集的数据。
另外,在触发信息校验流程时,首先如步骤503,应用服务器402可以确定预存数据集中是否存在目标数据。接着如步骤504,在确定存在目标数据的情况下,应用服务器402可以查询缓存数据,以对待验证信息进行校验。之后如步骤505,应用服务器402可以根据待验证信息的校验结果,来执行相应操作。
在一些实施例中,预存数据集可以包括热数据子集和冷数据子集;热数据子集中的热数据表征在第一时间段内产生的行为数据,冷数据子集中的冷数据表征在第二时间段内产生的行为数据,其中,第一时间段晚于第二时间段。
在一些实施例中,数据服务器被配置成统计各用户在应用上的目标行为数据,生成以目标行为数据为维度,存储有各用户标识的布隆过滤器文件,得到历史数据集。
在一些实施例中,该数据处理系统还包括文件服务器(如图4所示的文件服务器403),被配置成存储和共享文件;数据服务器还被配置成将历史数据集发送(上传)至文件服务器存储;应用服务器被配置成周期性地从文件服务器中加载历史数据集(如图5中所示的虚线部分),将历史数据集作为冷数据子集,存储在本地内存中。这样可以解决数据上传与数据加载之间的耦合问题。
在一些实施例中,应用服务器还可以被配置成响应于确定应用中产生新数据,将与新数据相关的用户标识和行为数据存储在信息队列中,以及周期性地从信息队列中加载新增的数据,作为热数据子集中的热数据,存储在本地内存中。
在一些实施例中,应用服务器还被配置成确定热数据子集中是否存在目标数据;响应于确定热数据子集中不存在目标数据,确定冷数据子集中是否存在目标数据。
在一些实施例中,应用服务器还被配置成响应于确定不存在目标数据,确定待验证信息校验不通过。
需要说明的是,上述热数据子集和冷数据子集中的数据也可以全部由数据服务器来分析得到。此外,在数据服务器401具备文件服务器403功能的情况下,图4中所示的数据处理系统可以不设置文件服务器403。这些服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式集群,也可以实现成单个服务器。当服务器体现为软件时,可以安装在上述所列举的硬件设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图4中的各服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的服务器。
本公开的数据处理系统中记载的各服务器与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于该系统及其中包含的各服务器,在此不再赘述。
下面参考图6,其示出了适于用来实现本公开的一些实施例的电子设备(例如图4中的服务器)600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例中记载的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于触发信息校验流程,确定预存数据集中是否存在目标数据,其中,目标数据为与待验证信息相匹配的数据;响应于确定存在目标数据,查询缓存数据,以对待验证信息进行校验;根据待验证信息的校验结果执行相应操作。或者使得该电子设备实现图5实施例中的数据服务器或应用服务器的功能。
此外,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括数据确定单元、缓存查询单元和执行单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,数据确定单元还可以被描述为“响应于触发信息校验流程,确定预存数据集中是否存在目标数据的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (13)

1.一种缓存数据访问方法,包括:
响应于触发信息校验流程,确定预存数据集中是否存在目标数据,其中,所述目标数据为与待验证信息相匹配的数据;
响应于确定存在所述目标数据,查询缓存数据,以对所述待验证信息进行校验;
根据所述待验证信息的校验结果执行相应操作。
2.根据权利要求1所述的方法,其中,所述预存数据集中的数据,是通过对用户的历史行为数据进行统计分析而得到的;
所述预存数据集包括热数据子集和冷数据子集,所述热数据子集中的热数据表征在第一时间段内产生的行为数据,所述冷数据子集中的冷数据表征在第二时间段内产生的行为数据,其中,所述第一时间段晚于所述第二时间段。
3.根据权利要求2所述的方法,其中,所述热数据子集中的热数据采用键值对方式存储,所述冷数据子集中的冷数据采用布隆过滤器存储。
4.根据权利要求2所述的方法,其中,所述确定预存数据集中是否存在目标数据,包括:
确定所述热数据子集中是否存在目标数据;
响应于确定所述热数据子集中不存在所述目标数据,确定所述冷数据子集中是否存在所述目标数据。
5.根据权利要求1-4之一所述的方法,其中,所述方法还包括:
响应于确定不存在所述目标数据,确定所述待验证信息校验不通过。
6.一种缓存数据访问装置,包括:
数据确定单元,被配置成响应于触发信息校验流程,确定预存数据集中是否存在目标数据,其中,所述目标数据为与待验证信息相匹配的数据;
缓存查询单元,被配置成响应于确定存在所述目标数据,查询缓存数据,以对所述待验证信息进行校验;
执行单元,被配置成根据所述待验证信息的校验结果执行相应操作。
7.一种数据处理系统,包括:
数据服务器,被配置成对用户在应用上的历史行为数据进行统计分析,生成历史数据集;
应用服务器,被配置成周期性地加载所述历史数据集,根据所述历史数据集,得到预存数据集,以及响应于触发信息校验流程,确定所述预存数据集中是否存在目标数据,其中,所述目标数据为与待验证信息相匹配的数据,响应于确定存在所述目标数据,查询缓存数据,以对所述待验证信息进行校验,根据所述待验证信息的校验结果执行相应操作。
8.根据权利要求7所述的系统,其中,所述预存数据集包括热数据子集和冷数据子集;
所述热数据子集中的热数据表征在第一时间段内产生的行为数据,所述冷数据子集中的冷数据表征在第二时间段内产生的行为数据,其中,所述第一时间段晚于所述第二时间段。
9.根据权利要求8所述的系统,其中,所述数据服务器被配置成统计各用户在所述应用上的目标行为数据,生成以所述目标行为数据为维度,存储有各用户标识的布隆过滤器文件,得到历史数据集。
10.根据权利要求9所述的系统,其中,所述数据处理系统还包括文件服务器,被配置成存储和共享文件;
所述数据服务器还被配置成将所述历史数据集发送至所述文件服务器存储;
所述应用服务器被配置成周期性地从所述文件服务器中加载所述历史数据集,将所述历史数据集作为所述冷数据子集,存储在本地内存中。
11.根据权利要求8所述的系统,其中,所述应用服务器还被配置成响应于确定所述应用中产生新数据,将与所述新数据相关的用户标识和行为数据存储在信息队列中,以及周期性地从所述信息队列中加载新增的数据,作为所述热数据子集中的热数据,存储在本地内存中。
12.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5或7-11中任一所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-5或7-11中任一所述的方法。
CN202211003457.9A 2022-08-19 2022-08-19 数据访问方法、数据处理系统、电子设备和可读介质 Pending CN115357618A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211003457.9A CN115357618A (zh) 2022-08-19 2022-08-19 数据访问方法、数据处理系统、电子设备和可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211003457.9A CN115357618A (zh) 2022-08-19 2022-08-19 数据访问方法、数据处理系统、电子设备和可读介质

Publications (1)

Publication Number Publication Date
CN115357618A true CN115357618A (zh) 2022-11-18

Family

ID=84003208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211003457.9A Pending CN115357618A (zh) 2022-08-19 2022-08-19 数据访问方法、数据处理系统、电子设备和可读介质

Country Status (1)

Country Link
CN (1) CN115357618A (zh)

Similar Documents

Publication Publication Date Title
CN109240946B (zh) 数据的多级缓存方法及终端设备
CN111352902A (zh) 日志处理方法、装置、终端设备及存储介质
CN111104448A (zh) 大数据量Excel文件导出方法、装置、计算机设备及存储介质
CN111125107A (zh) 数据处理方法、装置、电子设备和介质
CN112068973A (zh) 策略模式的异步信息处理方法、装置、服务器和存储介质
CN112948409A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN113760991A (zh) 数据操作方法、装置、电子设备和计算机可读介质
CN112764948A (zh) 数据发送方法、数据发送装置、计算机设备及存储介质
CN111831448A (zh) 请求的处理方法、装置和电子设备
CN112181733A (zh) 一种服务请求的处理方法、装置、设备及存储介质
CN115357618A (zh) 数据访问方法、数据处理系统、电子设备和可读介质
CN114925304A (zh) 一种信息访问方法、装置和系统
US10684898B2 (en) In-line event handlers across domains
CN113760929A (zh) 数据同步方法、装置、电子设备和计算机可读介质
CN113760178A (zh) 缓存数据处理方法、装置、电子设备和计算机可读介质
CN112330366A (zh) 兑换码兑换请求校验方法、装置、设备和计算机可读介质
CN112732471A (zh) 接口返回数据的纠错方法和纠错装置
CN111460020A (zh) 用于解析消息的方法、装置、电子设备和介质
CN111367634A (zh) 信息处理方法、信息处理装置及终端设备
CN110716885B (zh) 数据管理方法、装置、电子设备和存储介质
CN117041343B (zh) 请求处理方法、装置、电子设备和计算机可读介质
CN110784479B (zh) 一种数据校验方法、装置、电子设备及存储介质
CN118365452B (zh) 基于Redis的热点账户的交易方法、装置、介质和设备
CN115934375A (zh) 一种信息处理方法、装置、电子设备、计算机可读介质
CN115914399A (zh) 请求数据发送方法、装置、设备、介质和程序产品

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