CN110471939A - 数据访问方法、装置、计算机设备及存储介质 - Google Patents
数据访问方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110471939A CN110471939A CN201910625926.2A CN201910625926A CN110471939A CN 110471939 A CN110471939 A CN 110471939A CN 201910625926 A CN201910625926 A CN 201910625926A CN 110471939 A CN110471939 A CN 110471939A
- Authority
- CN
- China
- Prior art keywords
- data
- new data
- access
- server
- heat
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 241000234671 Ananas Species 0.000 description 2
- 235000007119 Ananas comosus Nutrition 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及缓存数据分配领域,公开了一种数据访问方法、装置、计算机设备及存储介质,其方法包括:接收客户端发送的访问请求;判断服务端缓存中是否存在与所述访问请求匹配的目标数据;若存在目标数据,则判断所述目标数据是否过期;若所述目标数据已过期,则根据所述访问请求向指定网络位置获取更新数据;将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。本发明提供的数据访问方法,减少服务器接口请求压力、保证缓存数据的时效性、减少了访问请求的响应时间,大大提升了用户体验。
Description
技术领域
本发明涉及缓存数据分配领域,尤其涉及一种数据访问方法、装置、计算机设备及存储介质。
背景技术
当前,前端网页高频率的接口请求会造成服务端较高的运行压力。因而需要改变服务器接口的调用方式,减少服务器接口的调用,以降低服务端的运行压力。现有的解决方式采用从本地缓存读取数据,减少了服务器接口的调用。然而,一些本地缓存的数据存在时效性的问题,导致从本地缓存读取的数据不是接口请求所需要的数据。
发明内容
基于此,有必要针对上述技术问题,提供一种数据访问方法、装置、计算机设备及存储介质,以保证前端服务器缓存数据的时效性。
一种数据访问方法,包括:
接收客户端发送的访问请求;
判断服务端缓存中是否存在与所述访问请求匹配的目标数据;
若所述服务端缓存中存在与所述访问请求匹配的目标数据,则判断所述目标数据是否过期;
若所述目标数据已过期,则根据所述访问请求向指定网络位置获取更新数据;
将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;
若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。
一种数据访问装置,包括:
接收访问请求模块,用于接收客户端发送的访问请求;
查找目标数据模块,用于判断服务端缓存中是否存在与所述访问请求匹配的目标数据;
判断过期模块,用于若所述服务端缓存中存在与所述访问请求匹配的目标数据,则判断所述目标数据是否过期;
数据更新模块,用于若所述目标数据已过期,则根据所述访问请求向指定网络位置获取更新数据;
高频数据判断模块,用于将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;
数据缓存模块,用于若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据访问方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据访问方法。
上述数据访问方法、装置、计算机设备及存储介质,通过接收客户端发送的访问请求,以获得用户的数据请求。判断服务端缓存中是否存在与所述访问请求匹配的目标数据,以在服务端缓存查找目标数据,减少查询响应延迟。若所述服务端缓存中存在与所述访问请求匹配的目标数据,则判断所述目标数据是否过期,以确定目标数据的时效性。若所述目标数据已过期,则根据所述访问请求向指定网络位置获取更新数据,以获得更新后的目标数据(即更新数据)。将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据,以评估获取到的更新数据被访问的概率。若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存,以将具有较高被访问概率的更新数据存储于服务端缓存中,提高服务端缓存的有效利用率。本发明提供的数据访问方法,减少服务器接口请求压力、保证缓存数据的时效性、减少了访问请求的响应时间,大大提升了用户体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中数据访问方法的一应用环境示意图;
图2是本发明一实施例中数据访问方法的一流程示意图;
图3是本发明一实施例中数据访问方法的一流程示意图;
图4是本发明一实施例中数据访问方法的一流程示意图;
图5是本发明一实施例中数据访问方法的一流程示意图;
图6是本发明一实施例中数据访问方法的一流程示意图;
图7是本发明一实施例中数据访问方法的一流程示意图;
图8是本发明一实施例中数据访问装置的一结构示意图;
图9是本发明一实施例中数据访问装置的一结构示意图;
图10是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供的数据访问方法,可应用在如图1的应用环境中,其中,客户端与服务端进行通信。其中,客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种数据访问方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:
S10、接收客户端发送的访问请求;
S20、判断服务端缓存中是否存在与所述访问请求匹配的目标数据;
S30、若所述服务端缓存中存在与所述访问请求匹配的目标数据,则判断所述目标数据是否过期;
S40、若所述目标数据已过期,则根据所述访问请求向指定网络位置获取更新数据;
S50、将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;
S60、若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。
本实施例中,访问请求用于获取客户端需要加载的目标数据。在此处,目标数据可以是指定的查询数据,如访问请求为请求获取某一地区的天气状况,则目标数据可以是该地区的最新天气状况。
在此处,服务端缓存可以指前端服务器的本地缓存(英文可以表示为:localStorage)。服务端缓存中存储有多个的缓存数据。在服务端缓存中,可以使用键值对的方式存储缓存数据,如以固定的键名来存储一段更新的变量值。若访问请求与键名匹配,则该键名存储的变量值即为与该访问请求匹配的目标数据。例如,访问请求A请求获取B地的天气状况,而服务端缓存中存储有B地的天气数据(如,该天气数据可以存储在与B地对应的“天气”键名所对应的键值),则服务端缓存中存储的B地的天气数据为与方位请求A匹配的目标数据。也就是说服务端缓存中存在与访问请求A匹配的目标数据。
在服务端缓存的每条数据都可以设置一个时间键名,如expire_time,该时间键名对应的键值可以是过期时间。若当前时间晚于过期时间,则判定该数据过期;若当前时间早于过期时间,则判定该数据未过期。例如,数据C的时间键名对应的键值可以是2019年01月01日00时00分00秒,若当前时间为2019年01月01日00时00分01秒,则判定数据C已过期,若当前时间为2018年12月31日22时00分00秒,则判定数据C未过期。可以根据实际需要规定在2019年01月01日00时00分00秒时,数据C是否为过期,如可以规定在2019年01月01日00时00分00秒时,数据C为过期,也可以规定在2019年01月01日00时00分00秒时,数据C未过期。可以根据上述判断方法判断服务端缓存中的目标数据是否过期。
需要注意的是,不同的缓存数据,设置的过期时间可以是不同的。可以根据缓存数据的获取时间设定过期时间,如缓存数据的获取时间为2019年01月01日00时00分00秒,该缓存数据的过期时间可以设置为2019年01月01日00时30分00秒。也可以根据缓存数据的更新频率进行设定,例如,天气数据的更新频率为每隔三个小时更新一次,具体更新时间为0点、3点、……24点;一天气数据的获取时间为2019年01月01日00时17分26秒,该缓存数据的过期时间可以设置为2019年01月01日03时00分00秒。
在一情况下,过期时间可以用时间戳表示。时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数(在一些情况下,时间戳也可以是总毫秒数)。例如,当前时间为2019年01月01日00时00分00秒,则其时间戳为1546272000。可以计算当前时间的时间戳,比较当前时间的时间戳与过期时间的时间戳的大小,若当前时间的时间戳小于过期时间的时间戳,则与该过期时间对应的缓存数据未过期;若当前时间的时间戳大于过期时间的时间戳(相等的状况发生的频率较少,可以根据实际情况定义缓存数据是否过期),则与该过期时间对应的缓存数据已过期。
若服务端缓存中的目标数据已过期,则需要从指定网络位置重新获取更新数据。指定网络位置可以指后端的网络数据接口。若服务端缓存不存在与访问请求匹配的目标数据,则根据访问请求向后端的网络数据接口获取更新数据。同样的,此处的更新数据指的是访问请求所需要获取的数据。
在获得更新数据之后,服务端将该更新数据返回给客户端,客户端接收到该更新数据,完成访问请求的流程。
由于服务端缓存的容量有限,因而可以选择性地存储部分更新数据。服务端可以判断更新数据是否属于高频访问数据,若更新数据属于高频访问数据,则将该更新数据存储于服务端缓存,若更新数据不属于高频访问数据,则服务端缓存不存储该更新数据。可以根据指定网络位置(即后端的网络数据接口)对更新数据进行划分,如对所有后端的网络数据接口进行划分,一部分为高频访问接口,另一部分为非高频访问接口。高频访问接口返回的数据即为高频访问数据,而非高频访问接口返回的数据则不属于高频访问数据。在另一些情况下,也可以采用其他方式对是否属于高频访问数据进行定义。可以基于历史的访问记录对获取的更新数据进行分类,如分成时政、体育、娱乐、科技等多个类别,统计各类别的访问频次,并选取频次高的类别作为高频访问类别。若更新数据属于高频访问类别,则该更新数据属于高频访问数据。也可以按不同时段对更新数据进行分类,如第一时段,A类别的访问频次最高,则属于A类别的更新数据为高频访问数据,第二时段,B类别的访问频次最高,则属于B类别的更新数据为高频访问数据。
而在服务端,在确定将更新数据存储于服务端缓存后,可以为该更新数据添加过期时间。过期时间可以由服务端生成,也可以由指定网络位置提供。如向指定网络位置获取更新数据时,服务端获得指定网络位置返回的结果,返回的结果包括两部分,一部分为请求头,另一部分为请求体,请求体包括上述更新数据,而在请求头中则包含过期时间。过期时间用于判断服务端缓存存储的缓存数据是否过期。
更新数据和过期时间可以使用键值对的方式存储在服务端缓存中。如,可以使用如表1的方式对更新数据进行存储。
表1存储于服务端缓存的更新数据及过期时间
键名 | 更新数据 | 过期时间 |
标识1 | 更新数据1 | 时间戳1 |
标识2 | 更新数据2 | 时间戳2 |
标识3 | 更新数据3 | 时间戳3 |
…… | …… | …… |
在服务端缓存中,每个更新数据与一个时间戳(过期时间)对应。在一些情况下,也可以存在部分更新数据与时间戳对应,另外一部分更新数据不与时间戳对应。例如,一些数据内容不会因为时间的变化而变化(或者变化很少),如一些知识类数据(自然定律、名家观点等)。
步骤S10-S60中,接收客户端发送的访问请求,以获得用户的数据请求。判断服务端缓存中是否存在与所述访问请求匹配的目标数据,以在服务端缓存查找目标数据,减少查询响应延迟。若所述服务端缓存中存在与所述访问请求匹配的目标数据,则判断所述目标数据是否过期,以确定目标数据的时效性。若所述目标数据已过期,则根据所述访问请求向指定网络位置获取更新数据,以获得更新后的目标数据(即更新数据)。将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据,以评估获取到的更新数据被访问的概率。若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存,以将具有较高被访问概率的更新数据存储于服务端缓存中,提高服务端缓存的有效利用率。
可选的,如图3所示,步骤S30之后,还包括:
S31、若所述目标数据未过期,则检测与所述客户端的连接状态;
S32、若所述与所述客户端的连接状态处于正常连接,则将所述目标数据返回给所述客户端。
当服务端缓存中的目标数据未过期,服务端可以直接调用目标数据,将目标数据返回给客户端。在将目标数据返回给客户端前,可再一次确定与客户端的连接状态,以保证目标数据可以准确返回给客户端。服务端与客户端的连接状态可以包括正常连接和非正常连接。若处于正常连接,服务端发送给客户端的目标数据丢包率低,速度快。若处于非正常连接,服务端发送给客户端的目标数据丢包率高,速度低。
客户端接收到该目标数据后,可以将该目标数据展示于客户端的显示界面上。此时,访问请求所获得的目标数据是直接从服务端缓存读取的,且该目标数据是未过期,大大降低了服务端的运行压力,同时保证了获取的目标数据的时效性,缩短了访问请求的响应时间,提升了用户体验。
步骤S31-S32中,若所述目标数据未过期,则说明目标数据的时效性是符合要求的,此时可进一步检测与所述客户端的连接状态,以保证目标数据可以准确返回给客户端。若所述与所述客户端的连接状态处于正常连接,则将所述目标数据返回给所述客户端,可以最大程度较少客户端的等待响应时间。
可选的,如图4所示,步骤S20之后,还包括:
S21、若所述服务端缓存不存在与所述访问请求匹配的目标数据,则根据所述访问请求向指定网络位置获取更新数据;
S22、将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;
S23、若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。
本实施例中,若所述服务端缓存不存在与所述访问请求匹配的目标数据,则需要从指定网络位置重新获取更新数据。步骤S21-S23的处方式与步骤S40-S60相同,在此不再赘述。
步骤S21-S23中,若所述服务端缓存不存在与所述访问请求匹配的目标数据,则根据所述访问请求向指定网络位置获取更新数据,以获得更新后的目标数据(即更新数据)。将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据,以评估获取到的更新数据被访问的概率。若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存,以将具有较高被访问概率的更新数据存储于服务端缓存中,提高服务端缓存的有效利用率。
可选的,如图5所示,步骤S60之前,包括:
S61、获取与所述更新数据匹配的更新周期;
S62、根据所述更新周期确定所述过期时间。
本实施例中,不同类型的更新数据匹配不同的更新周期。例如,一更新数据属于“直播”类型的数据,则其更新周期非常短,可以是10秒、30秒;而另一更新数据属于“非直播”类型的数据,如天气更新数据,其更新周期可以是3小时、6小时甚至更长。更新周期可以是一个时间间隔,也可以是一个时间点。若更新周期为时间点,则更新周期即为过期时间。而当更新周期为时间间隔,则过期时间可以是获取更新数据的时间加上更新周期。如,获取更新数据的时间为2019年01月01日00时00分00秒,更新周期为20分钟,则过期时间为2019年01月01日00时20分00秒。
步骤S61-S62中,获取与所述更新数据匹配的更新周期,以针对不同类型的更新数据匹配不同的更新周期。根据所述更新周期确定所述过期时间,以计算出具体的过期时间,便于确定更新数据不可用的具体时间。
可选的,如图6所示,步骤S50包括:
S501、计算所述更新数据的搜索热度系数;
S502、判断所述搜索热度系数是否大于预设热度阈值;
S503、若所述搜索热度系数大于或等于所述预设热度阈值,则判定所述更新数据属于高频访问数据。
在此处,可以按一定时间频率,如每隔一个小时,从外部网络获取网络实时热点搜索数据,根据获取到的实时热点数据确定更新数据的搜索热度系数。例如,从某搜索引擎获取到网络实时热点搜索数据包括了一定数量的搜索关键词以及该关键词对应的搜索次数。搜索关键词包括A、B、C……,对应的搜索次数为:a、b、c……。若更新数据中包含了关键词A、D、G,这三个关键词对应的搜索次数为:a、d、g,出现的频次分别为2,3,4。则该更新数据的搜索热度系数可以表示为:
δ=2a+3d+4g。
在实际的计算中,搜索热度系数的计算方式可以结合实际需要进行设定。
预设热度阈值可以根据实际需要进行设置,如可以设置为100。当更新数据的搜索热度系数大于或等于预设热度时,则判定更新数据属于高频访问数据;而当更新数据的搜索热度系数小于预设热度时,则判定更新数据不属于高频访问数据。
步骤S501-S503中,计算所述更新数据的搜索热度系数,以计算出用于评价更新数据被访问概率的搜索热度系数。判断所述搜索热度系数是否大于预设热度阈值,若所述搜索热度系数大于或等于所述预设热度阈值,则判定所述更新数据属于高频访问数据,以将更新数据划分为高频访问数据和非高频访问数据。
可选的,如图7所示,步骤S50包括:
S504、获取指定数量的热搜关键词;
S505、根据所述热搜关键词生成热搜关键词组,所述热搜关键词组包括所述热搜关键词及所述热搜关键词的关联词;
S506、基于所述访问请求和/或所述更新数据确定所述更新数据的搜索关键词,判断所述搜索关键词是否包含所述热搜关键词组中的所述热搜关键词或所述热搜关键词的关联词;
S507、若所述搜索关键词包含所述热搜关键词组中的所述热搜关键词或所述热搜关键词的关联词,则判定所述更新数据属于高频访问数据。
本实施例中,可以按指定频率获取指定数量的热搜关键词。指定频率可以根据实际需要进行设定,如可以是15分钟一次,也可以30分钟一次。指定数量可以根据实际需要进行设定,如可以是100个,也可以是200个。热搜关键词可以来源于不同热点网站的搜索统计数据,如百度热点、微博热搜等。
可以根据获取到的热搜关键词生成热搜关键词组,可以基于一个热搜关键词生成多个热搜关键词的关联词。关联词指的是与热搜关键词关系密切的语词,如可以是热搜关键词的同义词、近义词,也可以是其他与热搜关键词关系密切的语词(如因为某些热点事件,导致原先两个没有关联的词语产生关联关系)。在一实例中,热搜关键词为“菠萝”,则热搜关键词的关联词可以包括“凤梨”。可以构建预设的语言模型,对热搜关键词进行处理,生成热搜关键词的关联词。预设的语言模型可以是基于自然语言算法。预设的语言模型可以定期获取网络上的语言样本(如可以是新闻、博文等),并根据获取到的语言样本对语言模型进行更新。生成的热搜关键词组包括热搜关键词及热搜关键词的关联词,例如,生成的热搜关键词组可以包括100个热搜关键词,以及700个热搜关键词的关联词。
可以根据访问请求和/或更新数据确定更新数据的搜索关键词。例如,更新数据的搜索关键词可以是访问请求中包含的关键词。也可以使用关键词提取算法从更新数据中提取搜索关键词。在一些情况下,更新数据的搜索关键词既包含访问请求中包含的关键词,也包含从更新数据中提取的搜索关键词。在此处,更新数据的搜索关键词可以是一个或多个。
在确定更新数据的搜索关键词之后,可以判断更新数据的搜索关键词是否包含热搜关键词组中的热搜关键词或热搜关键词的关联词,若更新数据的搜索关键词包含热搜关键词组中的热搜关键词和\或热搜关键词的关联词,则判定更新数据属于高频访问数据,若更新数据的搜索关键词不包含热搜关键词组中的热搜关键词或热搜关键词的关联词,则判定更新数据不属于高频访问数据。例如,在一实例中,热搜关键词组用集合{a1,a2、a3、……an}表示,搜索关键词用集合{h,i,j,k,l}表示。若集合{h,i,j,k,l}与集合{a1,a2、a3、……an}存在相同的元素,如j=a3,则可以判定更新数据属于高频访问数据。若集合{h,i,j,k,l}与集合{a1,a2、a3、……an}不存在相同的元素,即则可以判定更新数据不属于高频访问数据。
步骤S504-S507中,获取指定数量的热搜关键词,以获得最新的热搜词汇(即热搜关键词)。根据所述热搜关键词生成热搜关键词组,所述热搜关键词组包括所述热搜关键词及所述热搜关键词的关联词,以将获取到的热搜词汇扩展为热搜关键词组,提高热搜关键词的识别正确率。基于所述访问请求和/或所述更新数据确定所述更新数据的搜索关键词,判断所述搜索关键词是否包含所述热搜关键词组中的所述热搜关键词或所述热搜关键词的关联词,以确定更新数据是否与热搜关键词组相关。若所述搜索关键词包含所述热搜关键词组中的所述热搜关键词或所述热搜关键词的关联词,则判定所述更新数据属于高频访问数据,以将更新数据划分为高频访问数据和非高频访问数据。
本发明实施例通过接收客户端发送的访问请求;判断服务端缓存中是否存在与所述访问请求匹配的目标数据;若所述服务端缓存中存在与所述访问请求匹配的目标数据,则判断所述目标数据是否过期;若所述目标数据已过期,则根据所述访问请求向指定网络位置获取更新数据;将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。本发明实施例提供的数据访问方法,减少服务器接口请求压力、保证缓存数据的时效性、减少了访问请求的响应时间,大大提升了用户体验。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种数据访问装置,该数据访问装置与上述实施例中数据访问方法一一对应。如图8所示,该数据访问装置包括接收访问请求模块10、查找目标数据模块20、判断过期模块30、数据更新模块40、高频数据判断模块50和数据缓存模块60。各功能模块详细说明如下:
接收访问请求模块10,用于接收客户端发送的访问请求;
查找目标数据模块20,用于判断服务端缓存中是否存在与所述访问请求匹配的目标数据;
判断过期模块30,用于若所述服务端缓存中存在与所述访问请求匹配的目标数据,则判断所述目标数据是否过期;
数据更新模块40,用于若所述目标数据已过期,则根据所述访问请求向指定网络位置获取更新数据;
高频数据判断模块50,用于将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;
数据缓存模块60,用于若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。
可选的,数据访问装置还包括:
目标数据发送模块,用于若所述目标数据未过期,则将所述目标数据返回给所述客户端。
可选的,数据访问装置还包括:
获取更新数据模块,用于若所述服务端缓存不存在与所述访问请求匹配的目标数据,则根据所述访问请求向指定网络位置获取更新数据;
数据返回模块,用于将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;
高频数据缓存模块,用于若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。
可选的,数据访问装置还包括:
获取更新周期模块,用于获取与所述更新数据匹配的更新周期;
确定过期时间模块,用于根据所述更新周期确定所述过期时间。
可选的,如图9所示,高频数据判断模块50包括:
热度系数计算单元501,用于计算所述更新数据的搜索热度系数;
阈值判断单元502,用于判断所述搜索热度系数是否大于预设热度阈值;
数据判断单元503,用于若所述搜索热度系数大于或等于所述预设热度阈值,则判定所述更新数据属于高频访问数据。
可选的,高频数据判断模块50还包括:
获取热搜关键词单元,用于获取指定数量的热搜关键词;
生成热搜词组单元,用于根据所述热搜关键词生成热搜关键词组,所述热搜关键词组包括所述热搜关键词及所述热搜关键词的关联词;
确定搜索关键词单元,用于基于所述访问请求和/或所述更新数据确定所述更新数据的搜索关键词,判断所述搜索关键词是否包含所述热搜关键词组中的所述热搜关键词或所述热搜关键词的关联词;
高频数据判断单元,用于若所述搜索关键词包含所述热搜关键词组中的所述热搜关键词或所述热搜关键词的关联词,则判定所述更新数据属于高频访问数据。
关于数据访问装置的具体限定可以参见上文中对于数据访问方法的限定,在此不再赘述。上述数据访问装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述数据访问方法涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据访问方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收客户端发送的访问请求;
判断服务端缓存中是否存在与所述访问请求匹配的目标数据;
若所述服务端缓存中存在与所述访问请求匹配的目标数据,则判断所述目标数据是否过期;
若所述目标数据已过期,则根据所述访问请求向指定网络位置获取更新数据;
将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;
若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收客户端发送的访问请求;
判断服务端缓存中是否存在与所述访问请求匹配的目标数据;
若所述服务端缓存中存在与所述访问请求匹配的目标数据,则判断所述目标数据是否过期;
若所述目标数据已过期,则根据所述访问请求向指定网络位置获取更新数据;
将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;
若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据访问方法,其特征在于,包括:
接收客户端发送的访问请求;
判断服务端缓存中是否存在与所述访问请求匹配的目标数据;
若所述服务端缓存中存在与所述访问请求匹配的目标数据,则判断所述目标数据是否过期;
若所述目标数据已过期,则根据所述访问请求向指定网络位置获取更新数据;
将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;
若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。
2.如权利要求1所述的数据访问方法,其特征在于,所述若所述服务端缓存中存在与所述访问请求匹配的目标数据,则判断所述目标数据是否过期之后,还包括:
若所述目标数据未过期,则检测与所述客户端的连接状态;
若所述与所述客户端的连接状态处于正常连接,则将所述目标数据返回给所述客户端。
3.如权利要求1所述的数据访问方法,其特征在于,所述判断服务端缓存中是否存在与所述访问请求匹配的目标数据之后,还包括:
若所述服务端缓存不存在与所述访问请求匹配的目标数据,则根据所述访问请求向指定网络位置获取更新数据;
将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;
若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。
4.如权利要求1所述的数据访问方法,其特征在于,所述为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存之前,包括:
获取与所述更新数据匹配的更新周期;
根据所述更新周期确定所述过期时间。
5.如权利要求1所述的数据访问方法,其特征在于,所述判断所述更新数据是否属于高频访问数据,包括:
计算所述更新数据的搜索热度系数;
判断所述搜索热度系数是否大于预设热度阈值;
若所述搜索热度系数大于或等于所述预设热度阈值,则判定所述更新数据属于高频访问数据。
6.如权利要求1所述的数据访问方法,其特征在于,所述判断所述更新数据是否属于高频访问数据,包括:
获取指定数量的热搜关键词;
根据所述热搜关键词生成热搜关键词组,所述热搜关键词组包括所述热搜关键词及所述热搜关键词的关联词;
基于所述访问请求和/或所述更新数据确定所述更新数据的搜索关键词,判断所述搜索关键词是否包含所述热搜关键词组中的所述热搜关键词或所述热搜关键词的关联词;
若所述搜索关键词包含所述热搜关键词组中的所述热搜关键词或所述热搜关键词的关联词,则判定所述更新数据属于高频访问数据。
7.一种数据访问装置,其特征在于,包括:
接收访问请求模块,用于接收客户端发送的访问请求;
查找目标数据模块,用于判断服务端缓存中是否存在与所述访问请求匹配的目标数据;
判断过期模块,用于若所述服务端缓存中存在与所述访问请求匹配的目标数据,则判断所述目标数据是否过期;
数据更新模块,用于若所述目标数据已过期,则根据所述访问请求向指定网络位置获取更新数据;
高频数据判断模块,用于将所述更新数据返回给所述客户端,并判断所述更新数据是否属于高频访问数据;
数据缓存模块,用于若所述更新数据属于高频访问数据,则为所述更新数据添加过期时间,将所述更新数据和所述过期时间关联存储于所述服务端缓存。
8.如权利要求7所述的数据访问装置,其特征在于,所述高频数据判断模块包括:
热度系数计算单元,用于计算所述更新数据的搜索热度系数;
阈值判断单元,用于判断所述搜索热度系数是否大于预设热度阈值;
数据判断单元,用于若所述搜索热度系数大于或等于所述预设热度阈值,则判定所述更新数据属于高频访问数据。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述数据访问方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910625926.2A CN110471939A (zh) | 2019-07-11 | 2019-07-11 | 数据访问方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910625926.2A CN110471939A (zh) | 2019-07-11 | 2019-07-11 | 数据访问方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110471939A true CN110471939A (zh) | 2019-11-19 |
Family
ID=68507983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910625926.2A Pending CN110471939A (zh) | 2019-07-11 | 2019-07-11 | 数据访问方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471939A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367666A (zh) * | 2020-02-28 | 2020-07-03 | 深圳壹账通智能科技有限公司 | 数据读写方法及系统 |
CN111464629A (zh) * | 2020-03-31 | 2020-07-28 | 中国建设银行股份有限公司 | 热点数据确定方法及装置 |
CN112115166A (zh) * | 2020-08-11 | 2020-12-22 | 苏宁云计算有限公司 | 数据缓存方法、装置、计算机设备和存储介质 |
CN112182039A (zh) * | 2020-09-30 | 2021-01-05 | 中国民航信息网络股份有限公司 | 一种数据缓存方法及系统 |
CN112306909A (zh) * | 2020-10-27 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种缓存淘汰方法、装置及电子设备 |
CN112631963A (zh) * | 2020-12-25 | 2021-04-09 | 北京奇艺世纪科技有限公司 | 缓存数据管理方法、装置、设备及存储介质 |
CN112699142A (zh) * | 2020-12-29 | 2021-04-23 | 平安普惠企业管理有限公司 | 冷热数据处理方法、装置、电子设备及存储介质 |
CN113486037A (zh) * | 2021-07-27 | 2021-10-08 | 北京京东乾石科技有限公司 | 更新缓存数据的方法、管理器和缓存服务器 |
CN114338808A (zh) * | 2021-12-17 | 2022-04-12 | 苏州浪潮智能科技有限公司 | 一种数据管理方法及装置、服务器 |
CN116208668A (zh) * | 2023-05-05 | 2023-06-02 | 北京零壹视界科技有限公司 | 基于内容分发网络的数据缓存方法、装置、设备和介质 |
CN113486037B (zh) * | 2021-07-27 | 2024-07-16 | 北京京东乾石科技有限公司 | 更新缓存数据的方法、管理器和缓存服务器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902730A (zh) * | 2012-09-10 | 2013-01-30 | 新浪网技术(中国)有限公司 | 基于数据缓存的读数据方法及装置 |
CN104391862A (zh) * | 2014-10-23 | 2015-03-04 | 北京锐安科技有限公司 | 一种缓存数据更新方法及装置 |
CN105404595A (zh) * | 2014-09-10 | 2016-03-16 | 阿里巴巴集团控股有限公司 | 缓存管理方法及装置 |
WO2016197666A1 (zh) * | 2015-06-10 | 2016-12-15 | 华为技术有限公司 | 一种服务器集群系统中的缓存方法、写入点客户端和读客户端 |
CN106815287A (zh) * | 2016-12-06 | 2017-06-09 | 中国银联股份有限公司 | 一种缓存管理方法及装置 |
CN108334505A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置、服务器及库存系统 |
-
2019
- 2019-07-11 CN CN201910625926.2A patent/CN110471939A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902730A (zh) * | 2012-09-10 | 2013-01-30 | 新浪网技术(中国)有限公司 | 基于数据缓存的读数据方法及装置 |
CN105404595A (zh) * | 2014-09-10 | 2016-03-16 | 阿里巴巴集团控股有限公司 | 缓存管理方法及装置 |
CN104391862A (zh) * | 2014-10-23 | 2015-03-04 | 北京锐安科技有限公司 | 一种缓存数据更新方法及装置 |
WO2016197666A1 (zh) * | 2015-06-10 | 2016-12-15 | 华为技术有限公司 | 一种服务器集群系统中的缓存方法、写入点客户端和读客户端 |
CN106815287A (zh) * | 2016-12-06 | 2017-06-09 | 中国银联股份有限公司 | 一种缓存管理方法及装置 |
CN108334505A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置、服务器及库存系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367666A (zh) * | 2020-02-28 | 2020-07-03 | 深圳壹账通智能科技有限公司 | 数据读写方法及系统 |
CN111464629A (zh) * | 2020-03-31 | 2020-07-28 | 中国建设银行股份有限公司 | 热点数据确定方法及装置 |
CN112115166A (zh) * | 2020-08-11 | 2020-12-22 | 苏宁云计算有限公司 | 数据缓存方法、装置、计算机设备和存储介质 |
CN112182039A (zh) * | 2020-09-30 | 2021-01-05 | 中国民航信息网络股份有限公司 | 一种数据缓存方法及系统 |
CN112306909A (zh) * | 2020-10-27 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种缓存淘汰方法、装置及电子设备 |
CN112631963A (zh) * | 2020-12-25 | 2021-04-09 | 北京奇艺世纪科技有限公司 | 缓存数据管理方法、装置、设备及存储介质 |
CN112631963B (zh) * | 2020-12-25 | 2023-09-01 | 北京奇艺世纪科技有限公司 | 缓存数据管理方法、装置、设备及存储介质 |
CN112699142A (zh) * | 2020-12-29 | 2021-04-23 | 平安普惠企业管理有限公司 | 冷热数据处理方法、装置、电子设备及存储介质 |
CN113486037A (zh) * | 2021-07-27 | 2021-10-08 | 北京京东乾石科技有限公司 | 更新缓存数据的方法、管理器和缓存服务器 |
CN113486037B (zh) * | 2021-07-27 | 2024-07-16 | 北京京东乾石科技有限公司 | 更新缓存数据的方法、管理器和缓存服务器 |
CN114338808A (zh) * | 2021-12-17 | 2022-04-12 | 苏州浪潮智能科技有限公司 | 一种数据管理方法及装置、服务器 |
CN116208668A (zh) * | 2023-05-05 | 2023-06-02 | 北京零壹视界科技有限公司 | 基于内容分发网络的数据缓存方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471939A (zh) | 数据访问方法、装置、计算机设备及存储介质 | |
US20210209182A1 (en) | Systems and methods for improved web searching | |
US9094478B2 (en) | Prereading method and system for web browser | |
US8560509B2 (en) | Incremental computing for web search | |
CN108920600B (zh) | 一种基于数据关联性的分布式文件系统元数据预取方法 | |
CN104834675A (zh) | 一种基于用户行为分析的查询性能优化方法 | |
CN105550338A (zh) | 一种基于HTML5应用缓存的移动Web缓存优化方法 | |
CN106464669B (zh) | 基于访问模式的智能文件预取 | |
CN107301215B (zh) | 一种搜索结果缓存方法及装置、搜索方法及装置 | |
JP2015505629A (ja) | 情報検索を行う方法及びサーバ | |
CN113703688B (zh) | 一种基于大数据和文件热度的分布式存储节点负载调整方法 | |
JP3521176B2 (ja) | 検索方法および検索装置 | |
KR20190022761A (ko) | 검색 캐시 업데이트 방법 및 장치 | |
CN112597274A (zh) | 基于bm25算法的文档确定方法、装置、设备及存储介质 | |
Bhushan et al. | Recommendation of optimized web pages to users using Web Log mining techniques | |
CN106777088A (zh) | 快速迭代的搜索引擎排序方法及系统 | |
US11599583B2 (en) | Deep pagination system | |
WO2024020708A1 (zh) | 基于用户画像的数据处理方法、装置、设备、介质及程序 | |
CN115269765A (zh) | 账号识别方法、装置、电子设备和存储介质 | |
CN103365897A (zh) | 一种支持Bigtable数据模型的片段缓存方法 | |
US20140330806A1 (en) | Data traffic amount prompting method and apparatus | |
CN111209388B (zh) | 用于关键词推广页面的数据处理方法、装置、计算机设备 | |
Kalarani et al. | Improving the efficiency of retrieved result through transparent proxy cache server | |
CN116894118B (zh) | 数据搜索方法、装置、设备及存储介质 | |
CN110493643B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191119 |
|
WD01 | Invention patent application deemed withdrawn after publication |