CN112734064A - 一种数据处理方法、设备及存储介质 - Google Patents
一种数据处理方法、设备及存储介质 Download PDFInfo
- Publication number
- CN112734064A CN112734064A CN201910974784.0A CN201910974784A CN112734064A CN 112734064 A CN112734064 A CN 112734064A CN 201910974784 A CN201910974784 A CN 201910974784A CN 112734064 A CN112734064 A CN 112734064A
- Authority
- CN
- China
- Prior art keywords
- data
- cache data
- target cache
- period
- probability
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 39
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 50
- 230000008859 change Effects 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 26
- 238000010801 machine learning Methods 0.000 claims description 26
- 238000012544 monitoring process Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 13
- 230000000694 effects Effects 0.000 claims description 7
- 230000006399 behavior Effects 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 235000019633 pungent taste Nutrition 0.000 claims description 3
- 230000000306 recurrent effect Effects 0.000 claims 1
- 238000004590 computer program Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- YHXISWVBGDMDLQ-UHFFFAOYSA-N moclobemide Chemical compound C1=CC(Cl)=CC=C1C(=O)NCCN1CCOCC1 YHXISWVBGDMDLQ-UHFFFAOYSA-N 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Artificial Intelligence (AREA)
- Operations Research (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Primary Health Care (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例提供一种数据处理方法、设备及存储介质,在接收到数据查询请求的情况下,可基于各种属性参数与缓存数据的时效性之间存在的影响关系以及数据查询请求所请求查询的目标缓存数据对应的至少一个属性参数值,确定目标缓存数据当前是否处于有效状态,若目标缓存数据当前处于有效状态,则将目标缓存数据作为查询结果输出。据此,可在接收到数据查询请求的情况下,实时地确定目标缓存数据在查询时刻是否有效,这使得目标缓存数据的时效性更加灵活,不再受到固定有效期的局限,从而可在保证缓存准确度的前提下,尽量减少对数据源端的接口的调用次数。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据处理方法、设备及存储介质。
背景技术
各大航空公司和机票代理商在接收到机票查询请求时,需要向全球分销系统GDS(Global Distributed System)获取仓位及票价等机票信息,而GDS则会根据接口调用请求向调用方收取不菲的费用。因此,各大航空公司和机票代理商大多采用缓存的方式来缓存机票信息。
目前,各大航空公司和机票代理商通常会为缓存的机票信息设置固定的有效期。但这种缓存机制经常导致购票不成功、等待时间过长等问题,用户体验不佳,运营成本过高。
发明内容
本申请的多个方面提供一种数据处理方法、设备及存储介质,用以在保证缓存准确度的情况下,尽量减少对数据源端的接口的调用次数,从而以更少的运营成本保证用户体验。
本申请实施例提供一种数据处理方法,包括:
接收数据查询请求,所述数据查询请求中包含数据描述信息;
在存储单元中获取与所述数据描述信息匹配的目标缓存数据;
获取对所述目标缓存数据的时效性具有影响的至少一个属性参数值;
基于各种属性参数与缓存数据的时效性之间存在的影响关系以及所述至少一个属性参数值,确定所述目标缓存数据当前是否处于有效状态;
若确定所述目标缓存数据当前处于有效状态,则将所述目标缓存数据作为查询结果输出。
本申请实施例还提供一种数据处理设备,包括存储器、处理器和通信组件;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器及所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:
通过所述通信组件接收数据查询请求,所述数据查询请求中包含数据描述信息;
在存储单元中获取与所述数据描述信息匹配的目标缓存数据;
获取对所述目标缓存数据的时效性具有影响的至少一个属性参数值;
基于各种属性参数与缓存数据的时效性之间存在的影响关系以及所述至少一个属性参数值,确定所述目标缓存数据当前是否处于有效状态;
若确定所述目标缓存数据当前处于有效状态,则将所述目标缓存数据作为查询结果并通过所述通信组件输出。
本申请实施例还提供一种数据处理方法,包括:
监听缓存数据更新请求,并确定所述缓存数据更新请求已调用的多个源数据;
获取所述多个源数据所关联的缓存数据的失效程度;
根据所述失效程度,调整接口调用条件。
本申请实施例还提供一种数据源端,包括存储器、处理器和通信组件;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器及所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:
监听缓存数据更新请求,并确定所述缓存数据更新请求已调用的多个源数据;
获取所述多个源数据所关联的缓存数据的失效程度;
根据所述失效程度,调整接口调用条件。
本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行前述的数据处理方法。
在本申请实施例中,在接收到数据查询请求的情况下,可基于各种属性参数与缓存数据的时效性之间存在的影响关系以及数据查询请求所请求查询的目标缓存数据对应的至少一个属性参数值,确定目标缓存数据当前是否处于有效状态,若目标缓存数据当前处于有效状态,则将目标缓存数据作为查询结果输出。据此,可在接收到数据查询请求的情况下,实时地确定目标缓存数据在查询时刻是否有效,这使得目标缓存数据的时效性更加灵活,不再受到固定有效期的局限,从而可在保证缓存准确度的前提下,尽量减少对数据源端的接口的调用次数。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一实施例提供的一种数据处理方法的流程示意图;
图2为本申请一实施例中机票缓存场景下的数据处理方法的逻辑示意图;
图3为本申请另一实施例提供的一种数据处理设备的结构示意图;
图4为本申请又一实施例提供的一种数据处理方法的流程示意图;
图5为本申请又一实施例提供的一种数据源端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相比于将数据写入硬盘进行持久化的存储方式,缓存可以更好的满足数据查询和更新的速度要求,尤其是对于基于内存的缓存方式而言,能有效提高数据处理速度。
目前,缓存中的缓存数据的时效性通常基于固定的有效期TTL(Time To Live)而确定,在TTL期间,缓存数据有效,而在TTL结束时,缓存数据将失效。这种时效性的确定方式比较死板,经常导致购票不成功、等待时间过长等问题,用户体验不佳且运营成本过高。因此,更加合理地确定缓存数据的时效性,以在保证缓存准确度的情况下,尽量减少对数据源端的接口的调用次数,从而以更少的运营成本保证用户体验,成为本申请实施例的研究目标。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一实施例提供的一种数据处理方法的流程示意图。如图1所示,该方法包括:
100、接收数据查询请求,所述数据查询请求中包含数据描述信息;
101、在存储单元中获取与所述数据描述信息匹配的目标缓存数据;
102、获取对所述目标缓存数据的时效性具有影响的至少一个属性参数值;
103、基于各种属性参数与缓存数据的时效性之间存在的影响关系以及所述至少一个属性参数值,确定所述目标缓存数据当前是否处于有效状态;
104、若确定所述目标缓存数据当前处于有效状态,则将所述目标缓存数据作为查询结果输出。
本申请实施例提供的数据处理方法,可应用于各种数据缓存场景中,尤其是那些需要平衡缓存准确率和对数据源端的调用次数的场景中,例如,机票缓存、火车票缓存等票务场景、商品竞价场景等。当然,本实施例并不限于此,本实施例还可用于其它本地有缓存数据、有需要从数据源端获取数据且本地缓存的有效性会变化的场景中,本实施例对应用场景不作具体限定。
在不同的应用场景中,数据查询请求、目标缓存数据的具体实现形式不完全相同。例如,在上述的票务场景中,数据查询请求可实现为机票查询请求或者火车票查询请求,而目标缓存数据则可实现为机票信息或火车票信息。另外,在不同的应用场景中,可设定不同的缓存数据存储粒度及数据结构,从而满足不同的数据查询需求,实现精细化管理。而且,可采用非易失性存储器NVM和固态驱动器SSD搭建缓存场景,以避免设备掉电导致的缓存数据丢失。
在本申请实施例中,在接收到数据查询请求的情况下,可获取数据查询请求中包含的数据描述信息,例如,对于机票查询请求来说,可从机票查询请求中获取出发地、目的地、出发时间、返程时间、缓存更新时间、飞行偏好、航班号、单/返程或是否需要婴儿座椅等等机票描述信息。
基于从数据查询请求中获取到的数据描述信息,可在存储单元中确定数据查询请求所请求查询的目标缓存数据。承接上例,可根据机票查询请求中包含的上述机票描述信息,从缓存中查询与这些机票描述信息相匹配的目标航班的机票信息。
本实施例中,存储单元可采用动态缓存的方式存储缓存数据,也即是,存储单元的缓存空间的大小可随缓存数据量的变化而变化。
在确定出目标缓存数据的情况下,本申请实施例中,将继续确定目标缓存数据的时效性,也即是,确定目标缓存数据在当前查询时刻是否处于有效状态。为此,本申请实施例中,可获取对目标缓存数据的时效性具有影响的至少一个属性参数值。
其中,本申请实施例中,可预先配置对缓存中的缓存数据的时效性具有影响的至少一个属性参数,并确定各种属性参数与缓存数据的时效性之间存在的影响关系。对不同的缓存数据来说,对其时效性具有影响的属性参数可不完全一致,另外,各种属性参数与不同缓存数据的时效性之间存在的影响关系也可不完全相同,本实施例对此不作限定。
本实施例中,对缓存数据的时效性具有影响的属性参数可根据实际情况进行配置,不同的应用场景中,对缓存数据具有影响的属性参数可不完全相同。例如,对于机票缓存场景中,属性参数可以为出发地、目的地、出发时间、返程时间、缓存更新时间、特殊节假日、航线热度、飞行偏好、距离起飞日期的时间间隔、余票数量、航班号、单程、返程或是否需要婴儿座椅等等。其中,余票数量可从缓存数据获取。
基于此,本实施例中,可获取目标缓存数据在至少一个属性参数下的属性参数值。值得说明的是,此处可获取上述预先配置的对缓存数据的时效性具有影响的至少一个属性参数中的部分或全部属性参数下的属性参数值,本实施例对此并不作限定。
另外,对目标缓存数据的时效性具有影响的至少一个属性参数值的获取来源可以是多个方面的。一方面可来自于从数据查询请求中获取的数据描述信息,例如,上述机票缓存场景中的出发地、目的地、出发时间、返程时间、飞行偏好、航班号、缓存更新时间、单/返程或是否需要婴儿座椅等属性参数值。另一方面可来自于目标缓存数据本身的固有属性信息,例如,上述机票缓存场景中的余票数量、航线热度等属性参数值。在一方面还可来自于基于数据描述信息和目标缓存数据的固有属性信息而确定出的衍生信息,例如,上述机票缓存场景中的距离起飞日期的时间间隔为根据数据描述信息中的出发时间和机票固有属性信息中的起飞时间而计算出的。当然,这仅是示例性的,本实施例并不限于这些方面的获取来源,对目标缓存数据的时效性具有影响的至少一个属性参数值的获取来源还可以是其它方面的。
根据获取到的对目标缓存数据的时效性具有影响的至少一个属性参数值,可基于涉及到的属性参数与缓存数据的时效性之间存在的影响关系,确定出目标缓存数据当前是否处于有效状态。
若确定目标缓存数据当前处于有效状态,则将目标缓存数据作为查询结果输出。这种情况下,无需调用数据源端的接口。
若确定目标缓存数据当前处于无效状态,则可向数据源端获取目标缓存数据的最新内容,作为查询结果输出。这种情况下,需要调用数据源端的接口。另外,在实际应用中,还可将从数据源端获取到的目标缓存数据的最新内容同步至其它存储单元,例如,在机票缓存场景中,可将前述的最新内容同步至其它机票销售商的服务器中。
其中,对于不同的应用场景,数据源端可能各不相同,本实施例中,数据源端通常是指通过接口提供源数据的数据端。例如,对于机票缓存的应用场景,数据源端可以是全球分销系统GDS(Global Distributed System)。
本实施例中,可在接收到数据查询请求的情况下,基于各种属性参数与缓存数据的时效性之间存在的影响关系以及数据查询请求所请求查询的目标缓存数据对应的至少一个属性参数值,确定目标缓存数据当前是否处于有效状态,若目标缓存数据当前处于有效状态,则将目标缓存数据作为查询结果输出。据此,可在接收到数据查询请求的情况下,实时地确定目标缓存数据在查询时刻是否有效,这使得目标缓存数据的时效性更加灵活,不再受到固定有效期的局限,从而可以尽量少地对数据源端的接口的调用次数,来平衡数据处理过程中的缓存命中率和准确度。
发明人在研究过程中发现,在数据处理过程中,为了尽量减少调用数据源端的次数,期望尽可能地在存储单元中命中查询结果,也即是,期望更高的缓存命中率,而这通常需要将TTL配置的尽量长。但是,由于数据源端中的数据是不断变化的,这导致缓存中的缓存数据在一段时间后可能会与数据源端中的实际数据不一致,如果还一味使用缓存数据将造成数据处理结果不准确,因此,在数据处理过程中,还期望命中的缓存数据尽量准确,而这通常需要将TTL配置的尽量短。
据此,在上述或下述实施例中,可通过灵活调整目标缓存数据的时效性,以实现缓存命中率与缓存准确度的平衡。
本实施例中,可基于各种属性参数与缓存数据的时效性之间存在的影响关系,根据目标缓存数据对应的至少一个属性参数值,计算目标缓存数据在待分析时段期间失效的概率,待分析时段为当前查询时刻与目标缓存数据上一次被认定为处于有效状态的时刻之间的时段;根据目标缓存数据在待分析时段期间失效的概率,确定目标缓存数据当前是否处于有效状态。
本实施例中,可从数据源端中与目标缓存数据对应的源数据的变化规律切入,配置对目标缓存数据具有影响的至少一个属性参数。在实际应用中,可将对数据源端中源数据的变化频率具有影响的属性参数,确定为对目标缓存数据的时效性具有影响的属性参数,这可更直观更全面地发现对目标缓存数据的时效性具有影响的属性参数。
这样,可通过发现各种属性参数与数据源端中的源数据的变化频率的影响关系,而确定各种属性参数与缓存数据的时效性之间存在的影响关系。通过将源数据的变化频率与缓存数据的时效性相关联,使得缓存数据的时效性可尽量与数据源端中的源数据的变化情况相匹配。
例如,在机票缓存的应用场景中,余票数量越少时,机票源信息的变化频率将越快,或者,距离起飞日期的时间间隔越短时,机票源信息的变化频率也将越快,缓存中的机票缓存信息的时效性也应当同步配置。
基于此,可发现各种属性参数与机票源信息的变化频率的影响关系,从而确定出各种属性参数与缓存中的机票缓存信息的时效性的影响关系。其中,机票源信息的变化包括但不限于仓位变化、余票数量变化及票价变化等。
基于各种属性参数与数据源端中的源数据的变化频率的影响关系,可预测源数据在一段时间内发生变化的概率,据此,可基于各种属性参数与缓存数据的时效性之间存在的影响关系,预测目标缓存数据在一段时间内失效的概率。其中,此处提及的一段时间可以是任意长度的时段。
基于此,为了确定目标缓存数据当前是否处于有效状态,可将当前查询时刻与目标缓存数据上一次被认定为处于有效状态的时刻之间的时段作为待分析时段(也即上文中的“一段时间”),通过预测目标缓存数据在待分析时段内失效的概率,确定目标缓存数据当前是否处于有效状态。
若目标缓存数据在待分析时段期间失效的概率大于预设第一概率阈值,确定目标缓存数据当前处于无效状态;
若目标缓存数据在待分析时段期间失效的概率小于预设第二概率阈值,确定目标缓存数据当前处于有效状态;
其中,预设第一概率阈值及预设第二概率阈值可根据实际情况进行设定,预设第一概率阈值大于或等于预设第二概率阈值。例如,预设第一概率阈值和预设第二概率阈值均可设定为0.85。本实施例对预设第一概率阈值和预设第二概率阈值的具体数值不作限定。
另外,本实施例中,在确定上述待分析时段时,目标缓存数据上一次被认定为处于有效状态的情况包括但不限于:
上一次接收到针对目标缓存数据的数据查询请求的时刻,认定目标缓存数据在当时处于有效状态;或者,
最近一次发生针对目标缓存数据的主动更新事件的时刻,认定目标缓存数据在当时处于有效状态。
其中,针对目标缓存数据的主动更新事件可以是,在上一次接收到针对目标缓存数据的数据查询请求的时刻,认定目标缓存数据在当时处于无效状态的情况下,从数据源端获取目标缓存数据的最新内容作为查询结果输出,并基于获取到的最新内容更新目标缓存数据。当然,还可以是,最近一次基于其它触发条件而发生的针对目标缓存数据的更新事件。本实施例对此不作限定。
图2为本申请一实施例中机票缓存场景下的数据处理方法的逻辑示意图。如图2所示,用户可通过终端设备1输入机票描述信息出发地、目的地、出发时间、返程时间等等,基于这些机票描述信息,终端设备1将产生机票查询请求。本实施例中,在接收到机票查询请求的情况下,可根据这些机票描述信息确定出用户想要查询的机票缓存信息,例如,可以是一个或多个航班的机票缓存信息。并可确定出机票缓存信息对应的余票、距离起飞日期的时间、特殊节假日、航班热度等属性参数,基于这一系列的属性参数,机器学习模型2可根据预先学习到的各属性参数与机票缓存信息的时效性的影响关系,预测机票缓存信息当前失效的概率。如果预测出的失效概率大于预设的概率阈值0.85,则可确定存储单元3中的当前机票缓存信息已失效,这种情况下,可调用GDS4以获得机票缓存信息对应的机票源信息,并基于机票源信息向用户返回查询结果。如果预测出的失效概率小于预设的概率阈值0.85,则可确定当前机票缓存信息有效,这种情况下,可基于机票缓存信息向用户返回查询结果。
本实施例中,不再明确配置目标缓存数据的TTL,而是根据数据源端中的源数据的动态变化情况,预测源数据在当前查询时刻是否已发生了变化,来确定目标缓存数据在当前查询时刻是否处于有效状态。从而可使目标缓存数据的时效性与数据源端中的源数据的变化情况尽量保持一致,进而可以尽量少的数据源端的调用次数,平衡缓存命中率和准确度。
在上述或下述实施例中,可采用机器学习模型确定目标缓存数据当前是否处于有效状态。
本实施例中,可通过学习数据源端中的源数据的变化规律,预先训练机器学习模型。
在实际应用中,可获取多个历史数据查询过程中查询到的有效结果数据和涉及的至少一个属性参数,并按查询时刻的先后顺序形成时间序列,作为训练样本。基于训练样本,可采用时间递归神经网络算法LSTM或自回归积分滑动平均算法ARIMA等可处理时间序列问题的机器学习算法,拟合各种属性参数与缓存数据时效性之间的影响关系,以得到机器学习模型。
例如,在机票缓存场景中,可获取每个历史机票查询过程的OD信息、距离起飞日期的时间间隔和余票信息等属性参数、查询时刻及当时的实际票价等,其中当时的实际票价信息可作为前文中的有效结果数据,并将多个历史机票查询过程中涉及到的这些信息按查询时刻排列为时间序列,作为训练样本。LSTM机器学习模型可基于训练样本进行模型训练,以确定模型中输入门、遗忘门及输出门的权重矩阵和偏置项等模型参数。这些模型参数用于表征各属性参数与机票票价等状态信息的影响关系,也即用于表征各属性参数与缓存中的机票缓存信息的时效性之间的影响关系。
基于此,通过大量的训练样本的学习,机器学习模型可获取到数据源端中源数据在何种情况下会发生变化以及变化频率受各种属性参数的影响规律等知识。基于源数据的变化频率与缓存数据的时效性的关联关系,机器学习模型也即学习到了各种属性参数与缓存数据的时效性之间的影响关系。据此,训练好的机器学习模型可用于预测目标缓存数据在一段时间内失效的概率。
本实施例中,可将目标缓存数据对应的至少一个属性参数值作为机器学习模型的输入参数,分别计算至少一个属性参数值各自导致的目标缓存数据在待分析时段期间失效的概率;根据至少一个属性参数各自对目标缓存数据的时效性的影响权重,对至少一个属性参数值各自导致的目标缓存数据在待分析时段期间失效的概率进行加权求和,以确定目标缓存数据在待分析时段期间失效的概率。
其中,不同属性参数对目标缓存数据的时效性的影响权重可由机器学习模型基于训练样本而发现,也可根据经验设定并作为的一项基础参数配置到机器学习模型中,本实施例对此不作限定。例如,对于机票缓存的应用场景中,余票数量的影响权重可高于出行时间的影响权重。
本实施例中,通过机器学习模型可更加准确地学习到各种属性参数与缓存数据的时效性的影响关系,从而更加合理、更加准确地预测出目标缓存数据在当前是否处于有效状态。
另外,尽管上述仅详细描述了一种机器学习模型的处理逻辑,但值得说明的是,本实施例中,可同时配置多个机器学习模型,并可采用一键切换模型的模式,根据使用需求选择运行哪个机器学习模型。其中,不同的机器学习模型的模型参数可不完全相同,不同的机器学习模型中的逻辑结构也可不完全相同。例如,在A机器学习模型中,可无需计算目标缓存数据在待分析时段期间失效的概率,而直接确定目标缓存数据当前处于无效状态,A机器学习模型尤其适配于对查询结果的准确性要求较高的情况。因此,在面临准确性要求较高的查询请求时,可一键切换至A机器学习模型,并基于A机器学习模型的输出结果来决定查询结果。
当然,这仅是示例性的,本实施例对此不作限定。
在上述或下述实施例中,在机票缓存等存在用户订购行为的场景中,还可在目标缓存数据在待分析时段期间失效的概率大于预设第一概率阈值的情况下,基于用户的查购比对目标缓存数据在待分析时段期间失效的概率进行线性补偿,以优化目标缓存数据在待分析时段期间失效的概率的准确度。并可根据补偿后的目标缓存数据在待分析时段期间失效的概率,确定目标缓存数据在当前是否处于有效状态。
以机票缓存场景为例,若机票缓存信息在待分析时段期间失效的概率大于预设第一概率阈值,可判断发起数据查询请求的用户是否存在历史订购行为;若存在,则获取用户对应的查购比,并基于用户对应的查购比对机票缓存信息在待分析时段期间失效的概率进行线性补偿;根据补偿后的机票缓存信息在待分析时段期间失效的概率,确定目标缓存数据当前是否处于有效状态。
进一步,在该示例性场景中,若发起数据查询请求的用户是否存在历史订购行为,可判断用户对应的查购比是否大于或等于预设的查购比阈值,若用户对应的查购比大于或等于预设的查购比阈值,则按照第一补偿系数对机票缓存信息在待分析时段期间失效的概率进行线性补偿;若用户对应的查购比小于预设的查购比阈值,则按照第二补偿系数对机票缓存信息在待分析时段期间失效的概率进行线性补偿;其中,第一补偿系数大于第二补偿系数,查购比是指购买次数占查询次数的比例。本实施例中,查购比阈值可根据实际需要进行预设,在此不作限定。
例如,查购比阈值可设定为0.25。当发起当前的机票查询请求的用户的查购比大于或等于0.25时,可按照第一补偿系数1.15对机票缓存信息在待分析时段期间失效的概率进行线性补偿;当发起当前的机票查询请求的用户的查购比小于0.25时,可按照第二补偿系数1.08对机票缓存信息在待分析时段期间失效的概率进行线性补偿。若补偿后的机票缓存信息在待分析时段期间失效的概率小于前述的预设第二概率阈值,则可确定机票缓存信息当前处于有效状态;而若补偿后的机票缓存信息在待分析时段期间失效的概率仍然大于前述的预设第一概率阈值,则可确定机票缓存信息当前处于无效状态。
对于发起数据查询请求的用户不存在历史订购行为的情况,可不再进行线性补偿,当然,也可根据平均查购比执行线性补偿,其中,平均查购比是指所有用户导致的订购次数与查询次数的比值。
本实施例中,以用户查购比对目标缓存数据在待分析时段期间失效的概率进行补偿,这使得对于购票几率比较高的用户,可尽可能地返回真实的机票信息,而对于购票几率比较低的用户,则尽可能地返回机票缓存信息,从而可有效保证购票几率比较高的用户所获取到的机票信息的准确性,并节省不必要的缓存更新成本。
在上述或下述实施例中,还可从多个方面主动更新缓存中的缓存数据。以下,将继续以目标缓存数据为例进行技术方案的说明。
一方面,可在输出查询结果后,验证目标缓存数据与源数据是否一致,并在发现目标缓存数据与源数据不一致的情况下,主动更新目标缓存数据。
例如,在机票缓存的应用场景中,当目标缓存数据为机票缓存信息时,可继续监测针对机票缓存信息向数据源端提交的订购请求;若数据源端返回订购失败的通知消息,则更新机票缓存信息。
其中,数据源端返回订购失败的通知消息的情况可能有:订购请求中的订购张数为多张且数据源端返回订购失败的通知消息;或者订购请求中的订购张数为一张且数据源端返回订购失败的通知消息。
对于上述第一种情况,可从数据远端获取机票缓存信息对应的机票源信息,并基于获取到的机票源信息更新机票缓存信息。其中,机票源信息中包含当前的实际余票数量,据此可按照实际余票数量更新机票缓存信息。对于上述第二种情况,可无需再调用数据源端,而直接将机票缓存信息中的余票数量更新为零,当然,也可调用数据源端以确认余票数量。
另外,若数据源端返回订购成功的通知消息,则可基于订购请求中的订购张数,更新机票缓存信息中的余票数量。这种情况下,说明余票数量还比较充足,因此认为源数据发生变化的可能性较小。采用这种自主更新目标缓存数据的方式,虽未通过调用数据源端而更新目标缓存数据,但该项更新操作可保证目标缓存数据更接近于源数据的变化情况。
另一方面,可在发生满足触发事件时,主动更新目标缓存数据。触发事件可以是定时器事件,也可以是基于其它触发条件而发生的事件,本实施例对此不作限定。
例如,在机票缓存的应用场景中,可预先设定余票阈值,并监测机票缓存信息中的余票数量;若监测到机票缓存信息中的余票数量小于预设的余票阈值,则从数据源端获取目标航班的最新机票信息;基于获取到的最新机票信息更新机票缓存信息。该示例中,以余票阈值作为触发条件。其中,余票阈值可根据实际情况进行灵活设定,例如,余票阈值可设置为8,本实施例对此不作限定。另外,监测机票缓存信息中的余票数量的操作,可以周期性执行,例如,每10分钟监测一次;也可在机票缓存信息发生余票变化的情况下执行,例如,用户订购成功,且已基于订购张数更新机票缓存信息中的余票数量时,可监测更新后的余票数量是否小于预设的余票阈值。当然,本实施例并不限于此。
又例如,可通过设定定时器,定时全量更新缓存中的缓存数据,也即,通过调用数据源端,对缓存中的全部缓存数据进行更新。全量更新可在计算资源比较空闲的情况下进行。
值得说明的是,虽然本实施例中涉及到的主动更新操作会导致对数据源端的调用,但相比于无法命中缓存中的缓存数据而导致需要调用数据源端来处理数据查询请求的次数而言,主动更新导致的对数据源端的调用次数,可忽略不计。基于主动更新操作而提高的缓存命中率和准确度,可有效减少数据查询请求所导致的对数据源端的调用次数。
在上述或下述实施例中,还可在确定目标缓存数据当前处于有效状态的情况下,根据目标缓存数据在待分析时段期间失效的概率,确定目标缓存数据对应的推荐更新时刻;在推荐更新时刻,从数据源端获取目标缓存数据对应的源数据,以更新目标缓存数据。
正如前文记载的,可通过计算目标缓存数据在待分析时段期间失效的概率,确定目标缓存数据当前是否处于有效状态。本实施例中,可在确定目标缓存数据当前处于有效状态的情况下,利用计算出的目标缓存数据在待分析时段期间失效的概率,确定目标缓存数据对应的推荐更新时刻。
例如,若计算出的目标缓存数据在待分析时段期间失效的概率为0.75,并确定目标缓存数据当前处于有效状态,可确定目标缓存数据对应的推荐更新时刻为当前时刻加5分钟。也即是,当前时刻为10:00的情况下,推荐更新时刻为10:05。
其中,本实施例中,目标缓存数据在待分析时段期间失效的概率与推荐更新时刻之间的对应关系可根据实际需要进行设定,例如,可以是概率每降低0.5,推荐更新时刻即增加5分钟,当然,还可以是其它对应关系,本实施例对此不作限定。
据此,本实施例中,可在确定目标缓存数据当前处于有效状态的情况下,继续主动更新目标缓存数据,从而为后续针对目标缓存数据的数据查询请求提供更加准确的查询结果。
在上述或下述实施例中,还可采用周期更新的方式对存储单元中的缓存数据主动进行全局更新,其中,全局更新周期的初始值可以是固定值,例如,30分钟。当然,可以是随机值,本实施例对此不作限定。
以全局更新周期的初始值为基础,本实施例中,可在查询过程中动态调整全局更新周期。
本实施例中,可统计一段时间内接收到的多个数据查询请求下,以缓存数据作为查询结果的比例;根据比例,调整存储单元中缓存数据的全局更新周期。
其中,本实施例中,不限定前述的一段时间的时长,例如,可以是5分钟,也可以是10分钟、1个小时或2个小时等等。该时长可根据实际需要进行设定及调整。
针对每个数据查询请求,可监听其对应的查询结果是直接来自缓存数据,还是从数据源端更新而来。从而,可统计出一段时间内,以缓存数据作为查询结果的数据查询请求的数量占该段时间内数据查询请求总数量的比例。
根据该比例,可调整前述的全局更新周期。
该比例越大时,表征着存储单元中越多的缓存数据处于有效状态,这种情况下,可适当地延长全局更新周期,以节省更新成本。而该比例越小时,表征着存储单元中越多的缓存数据处于无效状态,这种情况下,可适当地缩短全局更新周期,以提高存储单元内缓存数据的有效性。
本实施例中,通过动态调整全局更新周期,可实现数据有效性与更新成本之间的平衡,从而以更少的更新成本最大化地保证存储单元内的缓存数据的有效性。
图3为本申请另一实施例提供的一种数据处理设备的结构示意图。如图3所示,该数据处理设备包括:存储器30、处理器31以及通信组件32。
存储器30,用于存储计算机程序,并可被配置为存储其它各种数据以支持在数据处理设备上的操作。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器31,与存储器30及通信组件32耦合,用于执行存储器中的计算机程序,以用于:
通过通信组件32接收数据查询请求,数据查询请求中包含数据描述信息;
在存储单元中获取与数据描述信息匹配的目标缓存数据;
获取对目标缓存数据的时效性具有影响的至少一个属性参数值;
基于各种属性参数与缓存数据的时效性之间存在的影响关系以及至少一个属性参数值,确定目标缓存数据当前是否处于有效状态;
若确定目标缓存数据当前处于有效状态,则将目标缓存数据作为查询结果并通过通信组件32输出。
在一可选实施例中,处理器31在基于各种属性参数与缓存数据的时效性之间存在的影响关系以及至少一个属性参数值,确定目标缓存数据当前是否处于有效状态时,用于:
基于各种属性参数与缓存数据的时效性之间存在的影响关系,根据目标缓存数据对应的至少一个属性参数值,计算目标缓存数据在待分析时段期间失效的概率,待分析时段为当前查询时刻与目标缓存数据上一次被认定为处于有效状态的时刻之间的时段;
根据目标缓存数据在待分析时段期间失效的概率,确定目标缓存数据当前是否处于有效状态。
在一可选实施例中,处理器31在根据目标缓存数据在待分析时段期间失效的概率,确定目标缓存数据当前是否处于有效状态时,用于:
若目标缓存数据在待分析时段期间失效的概率大于预设第一概率阈值,确定目标缓存数据当前处于无效状态;
若目标缓存数据在待分析时段期间失效的概率小于预设第二概率阈值,确定目标缓存数据当前处于有效状态;
其中,预设第一概率阈值大于或等于预设第二概率阈值。
在一可选实施例中,在目标缓存数据为机票缓存信息的情况下,处理器31具体用于:
若机票缓存信息在待分析时段期间失效的概率大于预设第一概率阈值,判断发起数据查询请求的用户是否存在历史订购行为;
若存在,则获取用户对应的查购比,并基于用户对应的查购比对机票缓存信息在待分析时段期间失效的概率进行线性补偿;
根据补偿后的机票缓存信息在待分析时段期间失效的概率,确定目标缓存数据当前是否处于有效状态。
在一可选实施例中,处理器31在使用用户对应的查购比对机票缓存信息在待分析时段期间失效的概率进行线性补偿时,用于:
若用户对应的查购比大于或等于预设的查购比阈值,则按照第一补偿系数对机票缓存信息在待分析时段期间失效的概率进行线性补偿;
若用户对应的查购比小于预设的查购比阈值,则按照第二补偿系数对机票缓存信息在待分析时段期间失效的概率进行线性补偿;
其中,第一补偿系数大于第二补偿系数,且查购比为购买次数占查询次数的比例。
在一可选实施例中,处理器31在根据补偿后的机票缓存信息在待分析时段期间失效的概率,确定目标缓存数据当前是否处于有效状态时,用于:
若补偿后的机票缓存信息在待分析时段期间失效的概率小于预设第二概率阈值,确定目标缓存数据当前处于有效状态;
若补偿后的机票缓存信息在待分析时段期间失效的概率大于预设第一概率阈值,确定目标缓存数据当前处于无效状态。
在一可选实施例中,处理器31在根据目标缓存数据对应的至少一个属性参数值,计算目标缓存数据在待分析时段期间失效的概率时,用于:
将目标缓存数据对应的至少一个属性参数值作为机器学习模型的输入参数,分别计算至少一个属性参数值各自导致的目标缓存数据在待分析时段期间失效的概率;
根据至少一个属性参数各自对目标缓存数据的时效性的影响权重,对至少一个属性参数值各自导致的目标缓存数据在待分析时段期间失效的概率进行加权求和,以确定目标缓存数据在待分析时段期间失效的概率。
在一可选实施例中,处理器31还用于:
获取多个历史数据查询过程中查询到的有效结果数据和涉及的至少一个属性参数,并按查询时刻的先后顺序形成时间序列,作为训练样本,其中,有效结果数据与其所在查询时刻下的源数据一致;
采用时间递归神经网络算法或自回归积分滑动平均算法,对训练样本进行模型训练,以得到机器学习模型。
在一可选实施例中,处理器31上一次认定目标缓存数据处于有效状态的情况,包括:
上一次接收到针对目标缓存数据的数据查询请求的时刻,认定目标缓存数据在当时处于有效状态;或者,
最近一次发生针对目标缓存数据的主动更新事件的时刻,认定目标缓存数据在当时处于有效状态。
在一可选实施例中,处理器31还用于:
若确定目标缓存数据当前处于无效状态,从数据源端获取目标缓存数据的最新内容,作为查询结果输出;
基于获取到的最新内容更新目标缓存数据。
在一可选实施例中,目标缓存数据为机票缓存信息。
在一可选实施例中,处理器31在将目标缓存数据作为查询结果输出之后,还用于:
继续监测针对目标航班向数据源端提交的订购请求;
若数据源端返回订购失败的通知消息,则更新机票缓存信息。
在一可选实施例中,处理器31在执行若数据源端返回订购失败的通知消息,则更新机票缓存信息时,用于:
若数据源端返回订购失败的通知消息且订购请求中的订购张数为多张,从数据源端获取实际余票数量,并按照实际余票数量更新机票缓存信息中的余票数量;或者
若数据源端返回订购失败的通知消息且订购请求中的订购张数为一张,将机票缓存信息中的余票数量更新为零。
在一可选实施例中,处理器31还用于:
若数据源端返回订购成功的通知消息,则基于订购请求中的订购张数,更新机票缓存信息中的余票数量。
在一可选实施例中,处理器31还用于:
监测机票缓存信息中的余票数量;
若监测到机票缓存信息中的余票数量小于预设的余票阈值,则从数据源端获取机票缓存信息对应的机票源信息;
基于获取到的机票源信息更新机票缓存信息。
在一可选实施例中,属性参数为出发地、目的地、出发时间、返程时间、特殊节假日、航线热度、飞行偏好、距离起飞日期的时间间隔、余票数量、航班号、单程、返程或是否需要婴儿座椅。
在一可选实施例中,处理器31还用于:
若确定目标缓存数据当前处于有效状态,根据目标缓存数据在待分析时段期间失效的概率,确定目标缓存数据对应的推荐更新时刻;
在推荐更新时刻,从数据源端获取目标缓存数据对应的源数据,以更新目标缓存数据。
在一可选实施例中,处理器31还用于:
统计一段时间内接收到的多个数据查询请求下,以缓存数据作为查询结果的比例;
根据比例,调整存储单元中缓存数据的全局更新周期。
进一步,如图3所示,该数据处理设备还包括:电源组件33等其它组件。
图3中仅示意性给出部分组件,并不意味着数据处理设备只包括图3所示组件。
值得说明的是,上述关于数据处理设备的各实施例中的技术细节可参考前述关于数据处理方法中的相关描述,为节省篇幅,在此不再重复赘述,但这不应造成对本申请保护范围的损失。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由数据处理设备执行的各步骤。
图4为本申请又一实施例提供的一种数据处理方法的流程示意图。如图4所示,该方法包括:
400、监听缓存数据更新请求,并确定缓存数据更新请求已调用的多个源数据;
401、获取多个源数据所关联的缓存数据的失效程度;
402、根据失效程度,调整接口调用条件。
本申请实施例提供的数据处理方法,可应用于各种数据缓存场景中,尤其是那些需要平衡缓存准确率和对数据源端的调用次数的场景中,例如,机票缓存、火车票缓存等票务场景、商品竞价场景等。当然,本实施例并不限于此,本实施例还可用于其它本地有缓存数据、有需要从数据源端获取数据且本地缓存的有效性会变化的场景中,本实施例对应用场景不作具体限定。
本实施例提供的数据处理方法适用于前述数据缓存场景中的数据源端,也即是提供源数据的数据端。在物理实现上,数据源端可以是常规服务器、云服务器、云主机、虚拟中心等服务器设备。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
在不同的应用场景中,数据源端的物理实现形式可不完全相同。例如,对于机票缓存的应用场景,数据源端机票分销系统。
数据源端可管理若干源数据,若干源数据可存储在数据源端的本地,当然也可存储在与数据源端管理的存储空间中,本实施例对此不作限定。
本实施中,可监听缓存数据更新请求,缓存数据更新请求可来自不同的请求方。实际应用中,可监听一段时间内接收到的缓存数据更新请求,并确定缓存数据更新请求已调用的多个源数据。其中,单个请求方在该段时间内可能发起多次缓存数据更新请求。
基于此,本实施例中,可获取多个源数据所关联的缓存数据的失效程度。其中,多个源数据所关联的缓存数据,是指缓存更新请求所需要更新的缓存数据。
在一种实现方式中,可确定多个源数据所关联的缓存数据中,当前处于失效状态的缓存数据所占的比例,作为失效程度。
其中,缓存数据的失效状态可按照前述实施例中提及的判断缓存数据当前是否处于有效状态的方案而获得,这样,可确定出多个源数据所关联的缓存数据中,当前处于失效状态的缓存数据所占的比例。
在实际应用中,还可监听多个源数据的变化情况;根据多个源数据的变化情况,统计第一单位时段内发生变化的源数据占多个源数据的比例,作为多个源数据所关联的缓存数据中,当前处于失效状态的缓存数据所占的比例。
其中,变化情况包括变化时间、变化内容或者变化次数等等,本实施例对此不作限定。第一单位时段可以是5分钟、10分钟或1个小时等等,本实施例对此不作限定。而且,在不同的情况下,第一单位时段的长度可不完全相同。例如,夜晚的第一单位时段的长度可大于白天的第一单位时段的长度,当然,这仅是示例性的。
基于此,本实施例中,可根据多个源数据所关联的缓存数据的失效程度,调整针对多个源数据的接口调用条件。其中,接口调用条件可包括接口调用代价,当然还可包括其它限制条件。请求方是指需要利用多个源数据更新本地缓存数据的设备。
例如,当统计出的比例较大时,表征着在第一单位时段内,多个源数据中的大部分已经发生了变化,这代表请求方的更新需求将增加,因此,提高接口调用条件。而,当统计出的比例较小时,表征着在第一单位时段内,多个源数据中只有一小部分发生了变化,这代表请求方的更新需求将减少,因此,可降低接口调用条件。
据此,本实施例中,可根据多个源数据所关联的缓存数据的失效情况,适应性地调整接口调用条件。
另外,本实施例中,还可将多个源数据所关联的缓存数据的失效程度主动通知各请求方,以供请求方确定是否进行主动更新。
进一步,本实施例中,还可统计第二单位时段内针对多个源数据的缓存数据更新请求次数;根据缓存数据更新请求次数,调整接口调用条件。
例如,当缓存数据更新请求次数激增时,可提高接口调用条件,而当缓存数据更新请求次数锐减时,可降低接口调用条件。
据此,本实施例中,可根据请求方发起的缓存数据更新请求的数量,发掘请求方的查询需求量的变化,从而适应性地调整接口调用条件。
进一步,本实施中,还可预置特定查询时段,例如,假期、日高峰时段,日低峰时段等等,基于特定查询时段,可调整针对多个源数据的接口调用条件。
例如,针对假期,请求方的查询需求将激增,在该特定查询时段内,可提高接口调用条件。又例如,在日低峰时段,请求方的查询需求将锐减,在该特定查询时段内,可降低接口调用条件。
据此,本实施例中,可分时分段调整接口调用条件。
图5为本申请又一实施例提供的一种数据源端的结构示意图。如图5所示,该数据源端包括:存储器50和处理器51。
存储器50,用于存储计算机程序,并可被配置为存储其它各种数据以支持在数据源端设备上的操作。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器51,与存储器50耦合,用于执行存储器50中的计算机程序,以用于:
监听缓存数据更新请求,并确定缓存数据更新请求已调用的多个源数据;
获取多个源数据所关联的缓存数据的失效程度;
根据失效程度,调整接口调用条件。
在一可选实施例中,处理器51在获取多个源数据所关联的缓存数据的失效程度时,用于:
确定多个源数据所关联的缓存数据中,当前处于失效状态的缓存数据所占的比例,作为失效程度。
在一可选实施例中,处理器51在确定多个源数据所关联的缓存数据中,当前处于失效状态的缓存数据所占的比例时,用于:
监听多个源数据的变化情况;
根据多个源数据的变化情况,统计第一单位时段内发生变化的源数据占多个源数据的比例,作为多个源数据所关联的缓存数据中,当前处于失效状态的缓存数据所占的比例。
在一可选实施例中,处理器51还用于:
统计第二单位时段内针对多个源数据的缓存数据更新请求次数;
根据缓存数据更新请求次数,调整接口调用条件。
在一可选实施例中,处理器51还用于:
获取预置的特定查询时段;
基于特定查询时段,调整接口调用条件。
进一步,如图5所示,该数据源端还包括:通信组件52、电源组件53等其它组件。图5中仅示意性给出部分组件,并不意味着数据源端只包括图5所示组件。
值得说明的是,上述关于数据源端的各实施例中的技术细节可参考前述关于数据处理方法中的相关描述,为节省篇幅,在此不再重复赘述,但这不应造成对本申请保护范围的损失。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由数据源端执行的各步骤。
其中,图3和图5中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其它技术来实现,以促进短程通信。
其中,图3和图5中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤100至步骤102的执行主体可以为设备A;又比如,步骤101和102的执行主体可以为设备A,步骤103的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如100、101等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、数值等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (26)
1.一种数据处理方法,其特征在于,包括:
接收数据查询请求,所述数据查询请求中包含数据描述信息;
在存储单元中获取与所述数据描述信息匹配的目标缓存数据;
获取对所述目标缓存数据的时效性具有影响的至少一个属性参数值;
基于各种属性参数与缓存数据的时效性之间存在的影响关系以及所述至少一个属性参数值,确定所述目标缓存数据当前是否处于有效状态;
若确定所述目标缓存数据当前处于有效状态,则将所述目标缓存数据作为查询结果输出。
2.根据权利要求1所述的方法,其特征在于,所述基于各种属性参数与缓存数据的时效性之间存在的影响关系以及所述至少一个属性参数值,确定所述目标缓存数据当前是否处于有效状态,包括:
基于各种属性参数与缓存数据的时效性之间存在的影响关系,根据所述目标缓存数据对应的至少一个属性参数值,计算所述目标缓存数据在待分析时段期间失效的概率,所述待分析时段为当前查询时刻与所述目标缓存数据上一次被认定为处于有效状态的时刻之间的时段;
根据所述目标缓存数据在所述待分析时段期间失效的概率,确定所述目标缓存数据当前是否处于有效状态。
3.根据权利要求2所述的方法,其特征在于,根据所述目标缓存数据在所述待分析时段期间失效的概率,确定所述目标缓存数据当前是否处于有效状态,包括:
若所述目标缓存数据在所述待分析时段期间失效的概率大于预设第一概率阈值,确定所述目标缓存数据当前处于无效状态;
若所述目标缓存数据在所述待分析时段期间失效的概率小于预设第二概率阈值,确定所述目标缓存数据当前处于有效状态;
其中,所述预设第一概率阈值大于或等于所述预设第二概率阈值。
4.根据权利要求3所述的方法,其特征在于,在所述目标缓存数据为机票缓存信息的情况下,所述若所述目标缓存数据在所述待分析时段期间失效的概率大于预设第一概率阈值,确定所述目标缓存数据当前处于无效状态,包括:
若所述机票缓存信息在所述待分析时段期间失效的概率大于所述预设第一概率阈值,判断发起所述数据查询请求的用户是否存在历史订购行为;
若存在,则获取所述用户对应的查购比,并基于所述用户对应的查购比对所述机票缓存信息在所述待分析时段期间失效的概率进行线性补偿;
根据补偿后的所述机票缓存信息在所述待分析时段期间失效的概率,确定所述目标缓存数据当前是否处于有效状态。
5.根据权利要求4所述的方法,其特征在于,所述使用所述用户对应的查购比对所述机票缓存信息在所述待分析时段期间失效的概率进行线性补偿,包括:
若所述用户对应的查购比大于或等于预设的查购比阈值,则按照第一补偿系数对所述机票缓存信息在所述待分析时段期间失效的概率进行线性补偿;
若所述用户对应的查购比小于所述预设的查购比阈值,则按照第二补偿系数对所述机票缓存信息在所述待分析时段期间失效的概率进行线性补偿;
其中,所述第一补偿系数大于所述第二补偿系数,所述查购比为购买次数占查询次数的比例。
6.根据权利要求4所述的方法,其特征在于,所述根据补偿后的所述机票缓存信息在所述待分析时段期间失效的概率,确定所述目标缓存数据当前是否处于有效状态,包括:
若补偿后的所述机票缓存信息在所述待分析时段期间失效的概率小于所述预设第二概率阈值,确定所述目标缓存数据当前处于有效状态;
若补偿后的所述机票缓存信息在所述待分析时段期间失效的概率大于所述预设第一概率阈值,确定所述目标缓存数据当前处于无效状态。
7.根据权利要求2所述的方法,其特征在于,所述目标缓存数据上一次被认定为处于有效状态的情况包括:
上一次接收到针对所述目标缓存数据的数据查询请求的时刻,认定所述目标缓存数据在当时处于有效状态;或者,
最近一次发生针对所述目标缓存数据的主动更新事件的时刻,认定所述目标缓存数据在当时处于有效状态。
8.根据权利要求2所述的方法,其特征在于,所述根据所述目标缓存数据对应的至少一个属性参数值,计算所述目标缓存数据在待分析时段期间失效的概率,包括:
将所述目标缓存数据对应的至少一个属性参数值作为机器学习模型的输入参数,分别计算所述至少一个属性参数值各自导致的所述目标缓存数据在所述待分析时段期间失效的概率;
根据所述至少一个属性参数各自对所述目标缓存数据的时效性的影响权重,对所述至少一个属性参数值各自导致的所述目标缓存数据在所述待分析时段期间失效的概率进行加权求和,以确定所述目标缓存数据在待分析时段期间失效的概率。
9.根据权利要求8所述的方法,其特征在于,还包括:
获取多个历史数据查询过程中查询到的有效结果数据和涉及的至少一个属性参数,并按查询时刻的先后顺序形成时间序列,作为训练样本,其中,所述有效结果数据与其所在查询时刻下的源数据一致;
采用时间递归神经网络算法,对训练样本进行模型训练,以得到所述机器学习模型。
10.根据权利要求1所述的方法,其特征在于,还包括:
若确定所述目标缓存数据当前处于无效状态,从数据源端获取目标缓存数据对应的源数据,作为查询结果输出;
基于所述获取到的源数据更新所述目标缓存数据。
11.根据权利要求1~10任一项所述的方法,其特征在于,所述目标缓存数据为机票缓存信息。
12.根据权利要求11所述的方法,其特征在于,所述将所述目标缓存数据作为查询结果输出之后,还包括:
继续监测针对所述机票缓存信息向数据源端提交的订购请求;
若所述数据源端返回订购失败的通知消息,则更新所述机票缓存信息。
13.根据权利要求12所述的方法,其特征在于,所述若所述数据源端返回订购失败的通知消息,则更新所述机票缓存信息,包括:
若所述数据源端返回订购失败的通知消息且所述订购请求中的订购张数为多张,从所述数据源端获取实际余票数量,并按照所述实际余票数量更新所述机票缓存信息中的余票数量;或者
若所述数据源端返回订购失败的通知消息且所述订购请求中的订购张数为一张,将所述机票缓存信息中的余票数量更新为零。
14.根据权利要求12所述的方法,其特征在于,还包括:
若所述数据源端返回订购成功的通知消息,则基于所述订购请求中的订购张数,更新所述机票缓存信息中的余票数量。
15.根据权利要求11所述的方法,其特征在于,还包括:
监测所述机票缓存信息中的余票数量;
若监测到所述机票缓存信息中的余票数量小于预设的余票阈值,则从数据源端获取所述机票缓存信息对应的机票源信息;
基于所述获取到的机票源信息更新所述机票缓存信息。
16.根据权利要求8所述的方法,其特征在于,所述属性参数为出发地、目的地、出发时间、缓存更新时间、返程时间、特殊节假日、航线热度、飞行偏好、距离起飞日期的时间间隔、余票数量、航班号、单程、返程或是否需要婴儿座椅。
17.根据权利要求1所述的方法,其特征在于,还包括:
若确定所述目标缓存数据当前处于有效状态,根据所述目标缓存数据在所述待分析时段期间失效的概率,确定所述目标缓存数据对应的推荐更新时刻;
在所述推荐更新时刻,从数据源端获取目标缓存数据对应的源数据,以更新所述目标缓存数据。
18.根据权利要求1所述的方法,其特征在于,还包括:
统计一段时间内接收到的多个数据查询请求下,以缓存数据作为查询结果的数据查询请求的数量占所述一段时间内数据查询请求总数的比例;
根据所述比例,调整所述存储单元中缓存数据的全局更新周期。
19.一种数据处理方法,其特征在于,包括:
监听缓存数据更新请求,并确定所述缓存数据更新请求已调用的多个源数据;
获取所述多个源数据所关联的缓存数据的失效程度;
根据所述失效程度,调整接口调用条件。
20.根据权利要求19所述的方法,其特征在于,所述获取所述多个源数据所关联的缓存数据的失效程度,包括:
确定所述多个源数据所关联的缓存数据中,当前处于失效状态的缓存数据所占的比例,作为所述失效程度。
21.根据权利要求20所述的方法,其特征在于,所述确定所述多个源数据所关联的缓存数据中,当前处于失效状态的缓存数据所占的比例,包括:
监听所述多个源数据的变化情况;
根据所述多个源数据的变化情况,统计第一单位时段内发生变化的源数据占所述多个源数据的比例,作为所述多个源数据所关联的缓存数据中,当前处于失效状态的缓存数据所占的比例。
22.根据权利要求19所述的方法,其特征在于,还包括:
统计第二单位时段内针对所述多个源数据的缓存数据更新请求次数;
根据所述缓存数据更新请求次数,调整所述接口调用条件。
23.根据权利要求19所述的方法,其特征在于,还包括:
获取预置的特定查询时段;
基于所述特定查询时段,调整接口调用条件。
24.一种数据处理设备,其特征在于,包括存储器、处理器和通信组件;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器及所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:
通过所述通信组件接收数据查询请求,所述数据查询请求中包含数据描述信息;
在存储单元中获取与所述数据描述信息匹配的目标缓存数据;
获取对所述目标缓存数据的时效性具有影响的至少一个属性参数值;
基于各种属性参数与缓存数据的时效性之间存在的影响关系以及所述至少一个属性参数值,确定所述目标缓存数据当前是否处于有效状态;
若确定所述目标缓存数据当前处于有效状态,则将所述目标缓存数据作为查询结果并通过所述通信组件输出。
25.一种数据源端,其特征在于,包括存储器、处理器和通信组件;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器及所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:
监听缓存数据更新请求,并确定所述缓存数据更新请求已调用的多个源数据;
获取所述多个源数据所关联的缓存数据的失效程度;
根据所述失效程度,调整接口调用条件。
26.一种存储计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-18、19-23任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910974784.0A CN112734064B (zh) | 2019-10-14 | 2019-10-14 | 一种数据处理方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910974784.0A CN112734064B (zh) | 2019-10-14 | 2019-10-14 | 一种数据处理方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112734064A true CN112734064A (zh) | 2021-04-30 |
CN112734064B CN112734064B (zh) | 2024-10-18 |
Family
ID=75588582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910974784.0A Active CN112734064B (zh) | 2019-10-14 | 2019-10-14 | 一种数据处理方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112734064B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672645A (zh) * | 2021-07-26 | 2021-11-19 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 余票计算方法及系统 |
CN114625311A (zh) * | 2021-08-05 | 2022-06-14 | 亚信科技(中国)有限公司 | 一种确定缓存组件的方法、装置 |
CN115277128A (zh) * | 2022-07-13 | 2022-11-01 | 上海砾阳软件有限公司 | 一种非法请求的处理方法、装置及电子设备 |
CN116797323A (zh) * | 2023-08-21 | 2023-09-22 | 北京嗨飞科技有限公司 | 一种数据处理方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140052750A1 (en) * | 2012-08-14 | 2014-02-20 | Amadeus S.A.S. | Updating cached database query results |
CN105630819A (zh) * | 2014-11-03 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种缓存数据的刷新方法和装置 |
CN107291920A (zh) * | 2017-06-28 | 2017-10-24 | 南京途牛科技有限公司 | 一种机票查询缓存方法 |
CN107291901A (zh) * | 2017-06-23 | 2017-10-24 | 携程旅游网络技术(上海)有限公司 | 主被动组合获取机票数据的方法、系统、设备及存储介质 |
-
2019
- 2019-10-14 CN CN201910974784.0A patent/CN112734064B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140052750A1 (en) * | 2012-08-14 | 2014-02-20 | Amadeus S.A.S. | Updating cached database query results |
CN105630819A (zh) * | 2014-11-03 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种缓存数据的刷新方法和装置 |
CN107291901A (zh) * | 2017-06-23 | 2017-10-24 | 携程旅游网络技术(上海)有限公司 | 主被动组合获取机票数据的方法、系统、设备及存储介质 |
CN107291920A (zh) * | 2017-06-28 | 2017-10-24 | 南京途牛科技有限公司 | 一种机票查询缓存方法 |
Non-Patent Citations (3)
Title |
---|
X. QIN等: ""PRESC^2: efficient self-reconfiguration of cache strategies for elastic caching platforms"", 《COMPUTING》, vol. 96, 9 September 2013 (2013-09-09) * |
吴劲, 卢显良, 任立勇, 魏青松: "缓存失效策略的性能分析数学模型", 电子科技大学学报, no. 02, 25 April 2005 (2005-04-25) * |
邱鹏;万怀宇;林友芳;刘宇;姚一;: "基于用户行为分析的在线订票系统缓存优化策略研究", 计算机与现代化, no. 05, 15 May 2017 (2017-05-15) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672645A (zh) * | 2021-07-26 | 2021-11-19 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 余票计算方法及系统 |
CN114625311A (zh) * | 2021-08-05 | 2022-06-14 | 亚信科技(中国)有限公司 | 一种确定缓存组件的方法、装置 |
CN115277128A (zh) * | 2022-07-13 | 2022-11-01 | 上海砾阳软件有限公司 | 一种非法请求的处理方法、装置及电子设备 |
CN115277128B (zh) * | 2022-07-13 | 2024-02-23 | 上海砾阳软件有限公司 | 一种非法请求的处理方法、装置及电子设备 |
CN116797323A (zh) * | 2023-08-21 | 2023-09-22 | 北京嗨飞科技有限公司 | 一种数据处理方法、装置及设备 |
CN116797323B (zh) * | 2023-08-21 | 2023-11-14 | 北京嗨飞科技有限公司 | 一种数据处理方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112734064B (zh) | 2024-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112734064B (zh) | 一种数据处理方法、设备及存储介质 | |
US10783482B2 (en) | Data structure management for product preparation and delivery | |
US10762539B2 (en) | Resource estimation for queries in large-scale distributed database system | |
US9652538B2 (en) | Web crawler optimization system | |
EP3128441B1 (en) | Handling data requests | |
US20140059163A1 (en) | Distributed request processing | |
CN103718171B (zh) | 以用户历史优化web爬取 | |
EP3745264A1 (en) | Automated scaling of resources based on long short-term memory recurrent neural networks and attention mechanisms | |
US20240185147A1 (en) | Optimizing engagement of transportation providers | |
US20170052976A1 (en) | Dynamic caching system | |
US20160063577A1 (en) | Handling of real-time advertisement with content prefetching | |
US10812322B2 (en) | Systems and methods for real time streaming | |
WO2016048345A1 (en) | Computing nodes | |
US20140059162A1 (en) | Distributed information synchronization | |
US20200356927A1 (en) | Balancing acquisition and engagement for transportation providers and transportation requesters over multiple time horizons | |
CA2954839A1 (en) | Systems and methods of enabling forecasting | |
JP7341330B2 (ja) | 日付切替データオフロード方法、装置、設備及び媒体 | |
CN104462270B (zh) | 一种信息推荐的方法及装置 | |
US20210241171A1 (en) | Machine learning feature engineering | |
Li et al. | Predictive edge caching through deep mining of sequential patterns in user content retrievals | |
US20240184784A1 (en) | Apparatus, method and storage medium for database query | |
CN109614386B (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
US11943144B1 (en) | Dynamic traffic management of microservices | |
US20210224593A1 (en) | Automatic selection of request handler using trained classification model | |
KR20150060747A (ko) | 네트워크에서 부하를 분배하는 시스템 및 방법 |
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 |