CN110377622A - 数据获取方法、数据检索方法及请求响应方法 - Google Patents
数据获取方法、数据检索方法及请求响应方法 Download PDFInfo
- Publication number
- CN110377622A CN110377622A CN201910530498.5A CN201910530498A CN110377622A CN 110377622 A CN110377622 A CN 110377622A CN 201910530498 A CN201910530498 A CN 201910530498A CN 110377622 A CN110377622 A CN 110377622A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- cache
- retrieval
- preset
- 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
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/24569—Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据获取方法,服务器获取获取数据标识,根据所述数据标识在内存缓存中进行检索;若在所述内存缓存中没有检索到对应的物料数据,则从数据库中获取所述数据标识对应的物料数据;对所述物料数据进行处理,得到展示数据。通过分层次地存储物料数据,以对数据的获取进行层次化地处理,提高数据获取效率,也减少了数据库被击穿的风险。本发明还公开了一种数据检索方法,以及公开了一种请求响应方法。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据获取方法、数据检索方法及请求响应方法。
背景技术
随着计算机网络技术的发展,对各种检索系统的要求越来越高,对检索系统的实时性、准确性以及稳定性等方面都提出了较大的要求。示例性地,在广告检索系统、页面推荐系统或者各种检索系统中,都对上述特性有较高的要求。
然而,随着用户的日渐普及,日常的流量越来越大,往往导致了很多检索系统中在检索或者获取数据的时候耗时较高,而且在流量持续增加后,系统不能处理新的请求,存大较大的宕机风险。
发明内容
本发明实施例提供一种数据获取方法,以解决数据获取效率不高的问题。
本发明实施例提供一种数据检索方法,以解决数据检索效率不高的问题。
本发明实施例提供一种请求响应方法,以解决请求响应效率不高的问题。
一种数据获取方法,包括:
获取数据标识,根据所述数据标识在内存缓存中进行检索;
若在所述内存缓存中没有检索到对应的物料数据,则从数据库中获取所述数据标识对应的物料数据;
对所述物料数据进行处理,得到展示数据。
一种数据检索方法,包括:
响应于数据检索请求,获取服务器的并发状态数据;
若所述服务器的并发状态数据小于预设的第一并发阈值,则根据所述数据检索请求获取数据标识;
采用上述数据获取方法获取所述数据标识对应的展示数据。
一种请求响应方法,包括:
实时监测处理器的利用率;
根据所述处理器的利用率获取比例系数,其中,所述处理器的利用率和所述比例系数呈正相关;
根据所述比例系数对当前请求集进行筛选,得到检索请求;
采用上述数据获取方法响应所述检索请求。
上述数据获取方法中,服务器获取数据标识,根据所述数据标识在内存缓存中进行检索;若在所述内存缓存中没有检索到对应的物料数据,则从数据库中获取所述数据标识对应的物料数据;对所述物料数据进行处理,得到展示数据。通过分层次地存储物料数据,以对数据的获取进行层次化地处理,提高数据获取效率,也减少了数据库被击穿的风险。
上述数据检索方法中,在获取到数据检索请求之后,获取服务器的并发状态数据;若所述服务器的并发状态数据小于预设的第一并发阈值,则根据所述数据检索请求获取数据标识;最后采用数据获取方法获取所述数据标识对应的广告展示数据。通过对服务器的并发状态数据的判断来选择数据检索的方式,更好地保证了系统运行的顺畅,提高了数据检索的效率。
上述请求响应方法中,实时监测处理器的利用率;根据所述处理器的利用率获取比例系数,其中,所述处理器的利用率和所述比例系数呈正相关;根据所述比例系数对当前请求集进行筛选,得到检索请求;最后采用数据获取方法响应所述检索请求。根据不同的处理器的利用率来对当前请求集进行筛选,并选择不同的响应方式,更好地在缓解处理器负担的前提下保证检索的效率和准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中数据获取方法、数据检索方法或者请求响应方法的一应用环境示意图;
图2是本发明一实施例中数据获取方法的一流程图;
图3是本发明一实施例中数据获取方法的另一流程图;
图4是本发明一实施例中数据检索方法的一流程图;
图5是本发明一实施例中请求响应方法的一流程图;
图6是本发明一实施例中数据获取装置的一原理框图;
图7是本发明一实施例中数据检索装置的一原理框图;
图8是本发明一实施例中请求响应装置的一原理框图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的数据获取方法,可应用在如图1的应用环境中,其中,客户端(计算机设备)通过网络与服务器进行通信。服务器获取客户端发送的数据标识,根据所述数据标识在内存缓存中进行检索;若在所述内存缓存中没有检索到对应的物料数据,则从数据库中获取所述数据标识对应的物料数据;对所述物料数据进行处理,得到展示数据。其中,客户端(计算机设备)可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种数据获取方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S201:获取数据标识,根据所述数据标识在内存缓存中进行检索。
数据标识为区分不同数据的标记,可选地,数据标识可以由数字、英文、符号或者中文中的至少一项组成。将部分数据存储在内存缓存中,可通过数据标识在内存缓存中进行检索,以确定内存缓存中是否存在该数据标识对应的数据。
可选地,该数据标识可以由客户端直接输入获得,也可以通过关键词检索之后,通过检索模块获取到对应的数据标识。
S202:若在所述内存缓存中没有检索到对应的物料数据,则从数据库中获取所述数据标识对应的物料数据。
内存缓存中只存储有部分物料数据,若在内存缓存中没有检索到对应的物料数据,则从数据库中获取所述数据标识对应的物料数据。在数据库中存储有所有物料数据,可选地,该物料数据可以为广告物料数据、书籍物料数据或者其他物料数据等。因此,通过数据标识,可以在数据库中获取到数据标识对应的物料数据。可选地,该数据库可以为redis数据库或者mango数据库。
S203:对所述物料数据进行处理,得到展示数据。
在得到物料数据之后,对物料数据进行处理,得到展示数据。具体地,可以根据具体的展示规则或者展示需求从物料数据中获取对应的内容,通过渲染、加载或者导入之后,得到展示数据。
进一步地,可以将展示数据发送至客户端,以在客户端的界面上显示该展示数据。
在本实施例中,服务器获取数据标识,根据所述数据标识在内存缓存中进行检索;若在所述内存缓存中没有检索到对应的物料数据,则从数据库中获取所述数据标识对应的物料数据;对所述物料数据进行处理,得到展示数据。通过分层次地存储物料数据,以对数据的获取进行层次化地处理,提高数据获取效率,也减少了数据库被击穿的风险。
在一个实施例中,若在所述内存缓存中检索到对应的物料数据,则对内存缓存中检索到对应的物料数据进行处理,得到展示数据。对物料数据的处理过程和步骤S203相同,在此不再赘述。在这个实施例中,若在内存缓存中检索到对应的物料数据,就直接对物料数据进行处理,得到展示数据,提高了数据获取的效率。
在一个实施例中,如图3所示,所述从数据库中获取所述数据标识对应的物料数据,包括:
S301:根据所述数据标识在redis缓存中进行检索。
同样地,将部分数据存储在redis缓存中,再通过数据标识在redis缓存中进行检索,以确定redis缓存中是否存在该数据标识对应的数据。
在一个具体实施方式中,若在redis缓存中检索到对应的物料数据,则触发执行上述实施例中的步骤S203,得到展示数据。
S302:若在所述redis缓存中没有检索到对应的物料数据,则从mongo数据库中获取所述数据标识对应的物料数据。
redis缓存中只存储有部分物料数据,若在redis缓存中没有检索到对应的物料数据,则从mongo数据库中获取所述数据标识对应的物料数据。在mongo数据库中存储有所有物料数据。因此,通过数据标识,可以在mongo数据库中获取到数据标识对应的物料数据。
在本实施例中,先根据所述数据标识在redis缓存中进行检索;若在所述redis缓存中没有检索到对应的物料数据,则从mongo数据库中获取所述数据标识对应的物料数据。通过在数据库中分层次进行数据存储,更好地保证了数据库被击穿的风险。
在一个实施例中,在从数据库中获取所述数据标识对应的物料数据之后,该数据获取方法还包括:
将所述物料数据同步至所述内存缓存中。
通过将物料数据同步至内存缓存中,可以确保接下来要获取同样的数据时,可以直接从内存缓存中就可以检索到对应的物料数据,保证了数据获取的效率,也可以缓解数据库击穿的问题。
进一步地,将所述物料数据同步至所述内存缓存中,可以包括:为所述物料数据设置过期时间。即为同步到内存缓存中的物料数据设置一个过期的时间,当该同步到内存缓存中的物料数据在内存存储中存储的时间达到该过期时间时,则对该物料数据进行删除处理。考虑到部分数据更新的频率较高,可以更好的保证数据的时效性。可选地,该过期时间可以为5s、10s或者15s等。
在一个实施例中,所述数据获取方法还包括:
实时监控内存缓存中的缓存数据的存储时间,若缓存数据的存储时间超过预设时间,则将对应的缓存数据移除。
和/或,
实时监控内存缓存中的缓存容量,若所述内存缓存中缓存容量超过预设容量,则采用缓存算法对内存缓存中的缓存数据进行移除。
其中,该预设时间为预先设置的一个数值,可选地,该预设时间可以为5s、10s或者15s等。对内存缓存中的缓存数据的存储时间进行监控,若有缓存数据的存储时间超过预设时间,则将对应的缓存数据移除。其中,缓存数据即为存储至内存缓存中的物料数据。
可选地,可以为不同的缓存数据或者不同类型的缓存数据设置不同的预设时间,对内存缓存中的缓存数据的存储时间进行监控时,当每一缓存数据的存储时间达到该缓存数据对应的预设时间时,才将该缓存数据移除。
预设容量为一个预先设定的存储容量的值,可选地,可以根据内存缓存中的总容量来设置该预设容量。示例性性地,可以设置该预设容量为内存缓存中的总容量的70%、80%、90%、95%或者100%等。若监控到内存缓存中缓存容量超过预设容量,则采用缓存算法对内存缓存中的物料数据进行移除。可选地,缓存算法可以使用LRU(Least RecentlyUsed)算法实现。
在本实施例中,可以对内存缓存中缓存数据的的存储时间和内存缓存的缓存容量进行择一监控,也可以同时监控这两项。通过存储时间和/或缓存容量两个项目来对内环缓存进行数据清理,更好地保证了内存的运行效率和数据的时效性。
本发明实施例还提供一种数据检索方法,可应用在如图1的应用环境中,其中,客户端(计算机设备)通过网络与服务器进行通信。服务器响应于数据检索请求,获取服务器的并发状态数据;若所述服务器的并发状态数据小于预设的第一并发阈值,则根据所述数据检索请求获取数据标识;采用数据获取方法获取所述数据标识对应的展示数据。其中,客户端(计算机设备)可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图4所示,提供一种数据检索方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S401:响应于数据检索请求,获取服务器的并发状态数据。
数据检索请求为客户端发起的对数据进行检索的触发请求。可选地,该数据可以为广告数据、阅读数据、推荐数据等。该数据检索请求可以为客户端接收到数据检索指令之后触发,或者客户端在检测到用户进入特定页面的时候触发,例如,进入一应用程序或者进入一网页的时候触发该数据检索请求。
在接收到数据检索请求之后,获取服务器的并发状态数据。并发状态数据可以为并发数或者并发度。不同的操作系统可以根据对应的指令或者工具获取到服务器的并发状态数据,在此不再赘述。
S402:若所述服务器的并发状态数据小于预设的第一并发阈值,则根据所述数据检索请求获取数据标识。
第一并发阈值为预先设置的一个数值,具体可以根据实际需要进行设定。该第一并发阈值的设定可以为界定系统是否处于较为空闲状态。具体的数值设定可以根据系统的性能进行综合设置。可选地,若采用并发数作为并发状态数据,则可以设置第一并发阈值为20、30、40或者50等。若服务器的并发状态数据小于预设的第一并发阈值,则根据所述数据检索请求获取数据标识。具体地,可以在数据检索请求中包括有数据标识,或者,根据数据检索请求中包含的关键词通过对应的检索模块进行检索,得到数据标识,或者通过预定的映射关系来根据数据检索请求获取数据标识。
S403:采用数据获取方法获取所述数据标识对应的展示数据。
得到数据标识之后,通过上述实施例中的数据获取方法来获取所述数据标识对应的广告展示数据。
在本实施例中,在获取到数据检索请求之后,获取服务器的并发状态数据;若所述服务器的并发状态数据小于预设的第一并发阈值,则根据所述数据检索请求获取数据标识;最后采用数据获取方法获取所述数据标识对应的广告展示数据。通过对服务器的并发状态数据的判断来选择数据检索的方式,更好地保证了系统运行的顺畅,提高了数据检索的效率。
在一个实施例中,在所述获取服务器的并发状态数据之后,所述数据检索方法还包括:
若所述服务器的并发状态数据大于预设的第一并发阈值,则从预设的目标缓存中获取展示数据。
在本实施例中,若所述服务器的并发状态数据大于预设的第一并发阈值则从预设的目标缓存中获取展示数据。目标缓存为预先设置的一个缓存架构。示例性地,该目标缓存可以包括细粒度redis缓存。在目标缓存中预先存储了展示数据,在该步骤中,直接从目标缓存中获取展示数据,提高了数据检索的效率。
在一个实施例中,目标缓存包括粗粒度内存缓存和细粒度redis缓存。
在目标缓存中设置粗粒度内存缓存和细粒度redis缓存。其中,缓存到目标缓存中的数据分别按照对应的粒度进行处理后存入到对应的位置中(粗粒度内存缓存和细粒度redis缓存)。可以理解地,上述两个缓存中的粗粒度和细粒度是一个相对的概念,可以根据不同的数据类型做对应的调整。
所述从预设的目标缓存中获取展示数据,包括:
若所述并发状态数据大于预设的第二并发阈值,则从粗粒度内存缓存中获取展示数据;若所述并发状态数据小于或者等于预设的第二并发阈值,则从细粒度redis缓存中获取展示数据。
预先设定第二并发阈值,第二并发阈值的设定可以为界定系统是否处于较为繁忙的状态。具体的数值设定可以根据系统的性能进行综合设置。可选地,第二并发阈值可以为200、300或者400等(以并发数为例)。当并发状态数据大于预设的第二并发阈值时,说明系统负担较大,可以通过获取粗粒度的数据作为展示数据,因此从粗粒度内存缓存中获取展示数据。若所述并发状态数据小于或者等于预设的第二并发阈值,可以通过获取细粒度的数据作为展示数据,因此从细粒度redis缓存中获取展示数据。
在一个具体实施方式中,所述目标缓存还包括粗粒度redis缓存。当系统中的高级检索功能出现宕机时,可以直接从粗粒度redis缓存中获取展示数据。
本实施例通过对服务器并发状态的不同来选择获取不同的展示数据,在数据获取效率和获取精度上达到一个较好的折衷。
在一个实施例中,在所述获取所述数据标识对应的展示数据之后,所述数据检索方法还包括:
基于所述展示数据更新所述目标缓存。
和/或,
若达到更新时间,则根据预设的策略更新所述目标缓存。
具体地,可以将展示数据和目标缓存中存储的缓存数据进行比对,若展示数据的内容中包括缓存数据中不存在的内容,则将这部分内容更新至缓存数据中,或者若展示数据的数据量大于缓存数据,则直接采用展示数据替换目标缓存中存储的缓存数据,成为新的缓存数据。
进一步地,若目标缓存包括粗粒度内存缓存和细粒度redis缓存,则基于所述展示数据更新所述目标缓存可以包括:
若所述展示数据的内容中包括细粒度redis缓存的缓存数据中不存在的内容,则将这部分内容更新至所述细粒度redis缓存中。
更新时间为一个预设的时间值,为了保证数据的时效性,可以设定一个更新时间,当系统当前时间达到更新时间时,则根据预设的策略更新所述目标缓存。其中,该预设的策略可以为采用最近服务端生成的展示数据来更新目标缓存。
本发明实施例还提供一种请求响应方法,可应用在如图1的应用环境中,其中,客户端(计算机设备)通过网络与服务器进行通信。服务器实时监测系统的利用率;根据所述系统的利用率获取比例系数,其中,所述系统的利用率和所述比例系数呈正相关;根据所述比例系数对当前请求集进行筛选,得到检索请求;采用数据获取方法响应所述检索请求。其中,客户端(计算机设备)可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图5所示,提供一种请求响应方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S501:实时监测处理器的利用率。
对处理器的利用率进行实时监测。可选地,可以通过检测处理器的idle参数来监测处理器的利用率。处理器的利用率越高,idle参数的数值越低。
S502:根据所述处理器的利用率获取比例系数,其中,所述处理器的利用率和所述比例系数呈正相关。
比例系数为预先设定的数值,具体地,预先设定至少一个比例系数,可以根据处理器的不同利用率设置不同的比例系数,而所述处理器的利用率和所述比例系数呈正相关。即所述处理器的利用率越高,则对应的比例系数越大,而处理器的利用率越低,对应的比例系数越小。示例性地,以idle参数为例,若idle参数为16-20,则设定该比例系数为95%,进一步地,若idle参数为11-15,则设定该比例系数为90%。
S503:根据所述比例系数对当前请求集进行筛选,得到检索请求。
当前请求集为当前时刻服务端接收到的请求的集合,按照比例系数对当前请求集中的请求进行筛选,将当前请求集按照比例系数筛选对应数量的请求,作为检索请求。示例性地,若比例系数为90%,则从当前请求集中筛选90%的请求作为检索请求。
S504:采用数据获取方法响应所述检索请求。
通过上述实施例中的获取方法响应所述检索请求。可选地,若检索请求中包括数据标识,则直接执行上述实施例中的步骤S201-203即可,若检索请求包括检索关键词,则根据检索关键词通过检索模块获取到对应的数据标识,再执行步骤S201-203。该检索模块可以根据实际数据类型或者实际需要进行设定,在此不再赘述。
在本实施例中,实时监测处理器的利用率;根据所述处理器的利用率获取比例系数,其中,所述处理器的利用率和所述比例系数呈正相关;根据所述比例系数对当前请求集进行筛选,得到检索请求;最后采用数据获取方法响应所述检索请求。根据不同的处理器的利用率来对当前请求集进行筛选,并选择不同的响应方式,更好地在缓解处理器负担的前提下保证检索的效率和准确性。
在一个实施例中,在所述根据所述比例系数对当前请求集进行筛选,得到检索请求之后,所述请求响应方法还包括:
S505:将当前请求集中异于所述检索请求的其他请求确定为缓存请求。
具体地,将当前请求集中检索请求之外的其他请求确定为缓存请求。
S506:响应于所述缓存请求,从预设的目标缓存中获取展示数据。
响应于所述缓存请求,从预设的目标缓存中获取展示数据。具体可以和上述实施例中从预设的目标缓存中获取展示数据的过程相同,在此不在赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种数据获取装置,该数据获取装置与上述实施例中数据获取方法一一对应。如图6所示,该数据获取装置包括第一数据标识获取模块601、物料数据获取模块602和物料数据处理模块603。各功能模块详细说明如下:
第一数据标识获取模块601,用于获取数据标识,根据所述数据标识在内存缓存中进行检索。
物料数据获取模块602,用于在所述内存缓存中没有检索到对应的物料数据时,则从数据库中获取所述数据标识对应的物料数据。
物料数据处理模块603,用于对所述物料数据进行处理,得到展示数据。
优选地,物料数据获取模块602还用于根据所述数据标识在redis缓存中进行检索;若在所述redis缓存中没有检索到对应的物料数据,则从mongo数据库中获取所述数据标识对应的物料数据。
优选地,该数据获取装置还用于将所述物料数据同步至所述内存缓存中。
优选地,该数据获取装置还用于实时监控所述内存缓存中的缓存数据的存储时间,若所述缓存数据的存储时间超过预设时间,则将对应的缓存数据移除;
和/或,
实时监控内存缓存的缓存容量,若所述内存缓存中缓存容量超过预设容量,则采用缓存算法对内存缓存中的缓存数据进行移除。
关于数据获取装置的具体限定可以参见上文中对于数据获取方法的限定,在此不再赘述。上述数据获取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一实施例中,提供一种数据检索装置,该数据检索装置与上述实施例中数据检索方法一一对应。如图7所示,该数据检索装置包括并发状态获取模块701、第二数据标识获取模块702和展示数据获取模块703。各功能模块详细说明如下:
并发状态获取模块701,用于响应于数据检索请求,获取服务器的并发状态数据。
第二数据标识获取模块702,用于在所述服务器的并发状态数据小于预设的第一并发阈值时,则根据所述数据检索请求获取数据标识。
展示数据获取模块703,用于采用如上述实施例的数据获取方法获取所述数据标识对应的展示数据。
优选地,该数据检索装置还用于在所述服务器的并发状态数据大于预设的第一并发阈值时,则从预设的目标缓存中获取展示数据。
优选地,目标缓存包括粗粒度内存缓存和细粒度redis缓存。展示数据获取模块703还用于在所述并发状态数据大于预设的第二并发阈值时,则从粗粒度内存缓存中获取展示数据;若所述并发状态数据小于或者等于预设的第二并发阈值,则从细粒度redis缓存中获取展示数据。
优选地,该数据检索装置还用于基于所述展示数据更新所述目标缓存。
和/或,
若达到更新时间,则根据预设的策略更新所述目标缓存。
关于数据检索装置的具体限定可以参见上文中对于数据检索方法的限定,在此不再赘述。上述数据检索装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一实施例中,提供一种请求响应装置,该请求响应装置与上述实施例中请求响应方法一一对应。如图8所示,该请求响应装置包括系统检测模块801、比例系数获取模块802、请求集筛选模块803和请求响应模块804。各功能模块详细说明如下:
系统检测模块801,用于实时监测系统的利用率。
比例系数获取模块802,用于根据所述系统的利用率获取比例系数,其中,所述系统的利用率和所述比例系数呈正相关。
请求集筛选模块803,用于根据所述比例系数对当前请求集进行筛选,得到检索请求。
请求响应模块804,用于采用如上述实施例中的数据获取方法响应所述检索请求。
优选地,该请求响应装置还用于将当前请求集中异于所述检索请求的其他请求确定为缓存请求;响应于所述缓存请求,从预设的目标缓存中获取展示数据。
关于请求响应装置的具体限定可以参见上文中对于请求响应方法的限定,在此不再赘述。上述请求响应装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述实施例中数据获取方法所使用到的数据,或者该计算机设备的数据库用于存储上述实施例中数据检索方法所使用到的数据,或者该计算机设备的数据库用于存储上述实施例中请求响应方法所使用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述实施例所述数据获取方法,或者所述处理器执行所述计算机程序时实现上述实施例所述数据检索方法,或者所述处理器执行所述计算机程序时实现上述实施例所述请求响应方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例所述数据获取方法,或者所述处理器执行所述计算机程序时实现上述实施例所述数据检索方法,或者所述处理器执行所述计算机程序时实现上述实施例所述请求响应方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例所述数据获取方法,或者所述计算机程序被处理器执行时实现上述实施例所述数据检索方法,或者所述计算机程序被处理器执行时实现上述实施例所述请求响应方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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所述的数据获取方法,其特征在于,所述从数据库中获取所述数据标识对应的物料数据,包括:
根据所述数据标识在redis缓存中进行检索;
若在所述redis缓存中没有检索到对应的物料数据,则从mongo数据库中获取所述数据标识对应的物料数据。
3.如权利要求1所述的数据获取方法,其特征在于,在从数据库中获取所述数据标识对应的物料数据之后,该数据获取方法还包括:
将所述物料数据同步至所述内存缓存中。
4.如权利要求1所述的数据获取方法,其特征在于,所述数据获取方法还包括:
实时监控所述内存缓存中的缓存数据的存储时间,若所述缓存数据的存储时间超过预设时间,则将对应的缓存数据移除;
和/或,
实时监控内存缓存的缓存容量,若所述内存缓存中缓存容量超过预设容量,则采用缓存算法对内存缓存中的缓存数据进行移除。
5.一种数据检索方法,其特征在于,包括:
响应于数据检索请求,获取服务器的并发状态数据;
若所述服务器的并发状态数据小于预设的第一并发阈值,则根据所述数据检索请求获取数据标识;
采用如权利要求1-4中任一项所述的数据获取方法获取所述数据标识对应的展示数据。
6.如权利要求5所述的数据检索方法,其特征在于,在所述获取服务器的并发状态数据之后,所述数据检索方法还包括:
若所述服务器的并发状态数据大于预设的第一并发阈值,则从预设的目标缓存中获取展示数据。
7.如权利要求6所述的数据检索方法,其特征在于,所述目标缓存包括粗粒度内存缓存和细粒度redis缓存;
所述从预设的目标缓存中获取展示数据,包括:
若所述并发状态数据大于预设的第二并发阈值,则从粗粒度内存缓存中获取展示数据;
若所述并发状态数据小于或者等于预设的第二并发阈值,则从细粒度redis缓存中获取展示数据。
8.如权利要求5所述的数据检索方法,其特征在于,在所述获取所述数据标识对应的展示数据之后,所述数据检索方法还包括:
基于所述展示数据更新所述目标缓存;
和/或,
若达到更新时间,则根据预设的策略更新所述目标缓存。
9.一种请求响应方法,其特征在于,包括:
实时监测处理器的利用率;
根据所述处理器的利用率获取比例系数,其中,所述处理器的利用率和所述比例系数呈正相关;
根据所述比例系数对当前请求集进行筛选,得到检索请求;
采用如权利要求1-4中任一项所述的数据获取方法响应所述检索请求。
10.如权利要求9所述的请求响应方法,其特征在于,在所述根据所述比例系数对当前请求集进行筛选,得到检索请求之后,所述请求响应方法还包括:
将当前请求集中异于所述检索请求的其他请求确定为缓存请求;
响应于所述缓存请求,从预设的目标缓存中获取展示数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910530498.5A CN110377622A (zh) | 2019-06-19 | 2019-06-19 | 数据获取方法、数据检索方法及请求响应方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910530498.5A CN110377622A (zh) | 2019-06-19 | 2019-06-19 | 数据获取方法、数据检索方法及请求响应方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110377622A true CN110377622A (zh) | 2019-10-25 |
Family
ID=68248971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910530498.5A Pending CN110377622A (zh) | 2019-06-19 | 2019-06-19 | 数据获取方法、数据检索方法及请求响应方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377622A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124555A (zh) * | 2019-12-26 | 2020-05-08 | 深圳前海环融联易信息科技服务有限公司 | 大数据接口的调用方法、装置、计算机设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226525A (zh) * | 2007-01-19 | 2008-07-23 | 国际商业机器公司 | 控制web页面的下载和显示的方法、服务器、客户端及系统 |
CN101383832A (zh) * | 2008-10-07 | 2009-03-11 | 成都市华为赛门铁克科技有限公司 | 一种挑战黑洞攻击防御方法及装置 |
CN102214192A (zh) * | 2010-04-12 | 2011-10-12 | 腾讯科技(深圳)有限公司 | 一种实现Web页面数据曲线图显示的方法及服务器 |
US20120233199A1 (en) * | 2011-03-10 | 2012-09-13 | Jenkins Jeffrey R | Intelligent Web Caching |
CN103336849A (zh) * | 2013-07-24 | 2013-10-02 | 昆明理工大学 | 一种数据库检索系统中提高检索速度的方法及装置 |
CN104899156A (zh) * | 2015-05-07 | 2015-09-09 | 中国科学院信息工程研究所 | 一种面向大规模社交网络的图数据存储及查询方法 |
CN105095424A (zh) * | 2015-07-17 | 2015-11-25 | 四川久远银海软件股份有限公司 | 一种实现医院his系统中药品的高并发检索方法 |
CN105450716A (zh) * | 2014-09-25 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 动态业务分发方法及系统 |
CN106411777A (zh) * | 2016-09-27 | 2017-02-15 | 福建中金在线信息科技有限公司 | 一种处理高并发数据的方法和系统 |
CN106649544A (zh) * | 2016-10-27 | 2017-05-10 | 国家电网公司信息通信分公司 | 一种用电信息数据检索方法及装置 |
CN106897433A (zh) * | 2017-02-27 | 2017-06-27 | 福建中金在线信息科技有限公司 | 一种数据获取方法及装置 |
CN107015865A (zh) * | 2017-03-17 | 2017-08-04 | 华中科技大学 | 一种基于时间局部性的dram缓存管理方法及系统 |
CN107544849A (zh) * | 2017-09-30 | 2018-01-05 | 北京天元创新科技有限公司 | 一种web服务器并发管理方法及系统 |
CN107622115A (zh) * | 2017-09-19 | 2018-01-23 | 武大吉奥信息技术有限公司 | 一种面向wfs服务的空间查询结果缓存方法 |
CN109710639A (zh) * | 2018-11-26 | 2019-05-03 | 厦门市美亚柏科信息股份有限公司 | 一种基于双缓存机制的检索方法、装置及存储介质 |
-
2019
- 2019-06-19 CN CN201910530498.5A patent/CN110377622A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226525A (zh) * | 2007-01-19 | 2008-07-23 | 国际商业机器公司 | 控制web页面的下载和显示的方法、服务器、客户端及系统 |
CN101383832A (zh) * | 2008-10-07 | 2009-03-11 | 成都市华为赛门铁克科技有限公司 | 一种挑战黑洞攻击防御方法及装置 |
CN102214192A (zh) * | 2010-04-12 | 2011-10-12 | 腾讯科技(深圳)有限公司 | 一种实现Web页面数据曲线图显示的方法及服务器 |
US20120233199A1 (en) * | 2011-03-10 | 2012-09-13 | Jenkins Jeffrey R | Intelligent Web Caching |
CN103336849A (zh) * | 2013-07-24 | 2013-10-02 | 昆明理工大学 | 一种数据库检索系统中提高检索速度的方法及装置 |
CN105450716A (zh) * | 2014-09-25 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 动态业务分发方法及系统 |
CN104899156A (zh) * | 2015-05-07 | 2015-09-09 | 中国科学院信息工程研究所 | 一种面向大规模社交网络的图数据存储及查询方法 |
CN105095424A (zh) * | 2015-07-17 | 2015-11-25 | 四川久远银海软件股份有限公司 | 一种实现医院his系统中药品的高并发检索方法 |
CN106411777A (zh) * | 2016-09-27 | 2017-02-15 | 福建中金在线信息科技有限公司 | 一种处理高并发数据的方法和系统 |
CN106649544A (zh) * | 2016-10-27 | 2017-05-10 | 国家电网公司信息通信分公司 | 一种用电信息数据检索方法及装置 |
CN106897433A (zh) * | 2017-02-27 | 2017-06-27 | 福建中金在线信息科技有限公司 | 一种数据获取方法及装置 |
CN107015865A (zh) * | 2017-03-17 | 2017-08-04 | 华中科技大学 | 一种基于时间局部性的dram缓存管理方法及系统 |
CN107622115A (zh) * | 2017-09-19 | 2018-01-23 | 武大吉奥信息技术有限公司 | 一种面向wfs服务的空间查询结果缓存方法 |
CN107544849A (zh) * | 2017-09-30 | 2018-01-05 | 北京天元创新科技有限公司 | 一种web服务器并发管理方法及系统 |
CN109710639A (zh) * | 2018-11-26 | 2019-05-03 | 厦门市美亚柏科信息股份有限公司 | 一种基于双缓存机制的检索方法、装置及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124555A (zh) * | 2019-12-26 | 2020-05-08 | 深圳前海环融联易信息科技服务有限公司 | 大数据接口的调用方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230276299A1 (en) | System and method for efficient use of network bandwidth | |
US10564870B1 (en) | Placing data storage volumes | |
US7831566B2 (en) | Systems and methods of hierarchical storage management, such as global management of storage operations | |
CN107395659A (zh) | 一种业务受理及共识的方法及装置 | |
US11429630B2 (en) | Tiered storage for data processing | |
CN109215486B (zh) | 电子地图标注及显示方法、装置、终端设备及存储介质 | |
US20020112123A1 (en) | Database management system with a multiple-level cache arrangement | |
JP2013507718A (ja) | 社会的距離に基づくコンテンツ項目のプリフェッチ | |
US11275667B2 (en) | Handling of workload surges in a software application | |
CN106462589A (zh) | 动态缓存器分配和网络管理 | |
CN107436840A (zh) | 应用程序运行性能分析方法、装置及系统 | |
CN110381151A (zh) | 一种异常设备检测方法及装置 | |
CN109885624A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US9152640B2 (en) | Determining file allocation based on file operations | |
CN105677904B (zh) | 基于分布式文件系统的小文件存储方法及装置 | |
CN105683928B (zh) | 用于数据高速缓存策略的方法、服务器和存储器设备 | |
US10599839B2 (en) | Security investigations using a card system framework | |
CN104021088B (zh) | 日志存储方法和装置 | |
CN109815425A (zh) | 缓存数据处理方法、装置、计算机设备和存储介质 | |
CN108595652A (zh) | 加载dom节点数据的方法、装置、计算机设备及存储介质 | |
CN114218309A (zh) | 数据处理方法、系统和计算机设备 | |
CN110096521A (zh) | 日志信息处理方法及装置 | |
CN115438087B (zh) | 基于缓存库的数据查询方法、装置、存储介质和设备 | |
CN105512051B (zh) | 一种自学习型智能固态硬盘缓存管理方法和装置 | |
KR20160096313A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191025 |
|
RJ01 | Rejection of invention patent application after publication |