一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据获取方法、系统、装置、服务器及存储介质与流程

2022-02-22 18:40:16 来源:中国专利 TAG:


1.本公开涉及数据处理技术领域,尤其涉及一种数据获取方法、系统、装置、服务器及存储介质。


背景技术:

2.随着数据处理技术的发展,出现了一种应用于服务器中的数据缓存技术,通过将该服务器中一些访问量较高的数据缓存起来,从而可以降低服务器的负担,提升服务器的性能。
3.相关技术中,目前的服务器通常部署有多种不同的应用服务,同时每一个应用服务都部署有其对应的本地缓存,当应用服务需要获取数据时,可以优先从其对应的本地缓存中查询该数据是否存在,如果该应用服务对应的本地缓存中存在该数据,则可以通过本地缓存服务将数据返回。
4.然而,目前的数据获取方法中,不同应用服务分别部署有对应的本地缓存,而不同的本地缓存中可能存储有相同的缓存数据,因此容易造成服务器的资源浪费,缓存资源利用率较低。


技术实现要素:

5.本公开提供一种数据获取方法、系统、装置、服务器及存储介质,以至少解决相关技术中缓存资源利用率低的问题。本公开的技术方案如下:
6.根据本公开实施例的第一方面,提供一种数据获取方法,应用于服务器,包括:
7.响应于目标应用服务针对于目标数据的数据获取请求,检测预先针对所述服务器部署的单个本地缓存中是否存储有所述目标数据;所述服务器中部署有至少两个应用服务,所述至少两个应用服务中包含所述目标应用服务;所述本地缓存用于为所述至少两个应用服务提供数据缓存服务;
8.在所述本地缓存中存储有所述目标数据的情况下,从所述本地缓存中获取所述目标数据,并将获取到的所述目标数据返回至所述目标应用服务。
9.在一示例性实施例中,所述检测预先针对所述服务器部署的单个本地缓存中是否存储有所述目标数据之后,还包括:在所述本地缓存中未存储有所述目标数据的情况下,检测在所述服务器外部署的远程缓存中是否存储有所述目标数据;在所述远程缓存中存储有所述目标数据的情况下,获取所述远程缓存中存储的所述目标数据,并将所述目标数据返回至所述目标应用服务。
10.在一示例性实施例中,所述获取所述远程缓存中存储的所述目标数据,包括:根据所述服务器中针对于不同数据的数据请求次数,确定次数阈值;在所述目标数据的目标请求次数大于或者等于所述次数阈值的情况下,接收所述远程缓存返回的所述目标数据,并将所述目标数据存入所述本地缓存。
11.在一示例性实施例中,所述数据获取方法还包括:在所述目标请求次数小于所述
次数阈值的情况下,接收所述远程缓存返回的所述目标数据。
12.在一示例性实施例中,所述检测在所述服务器外部署的远程缓存中是否存储有所述目标数据之后,还包括:在所述远程缓存中未存储有所述目标数据的情况下,获取所述服务器对应的数据库中存储的所述目标数据,并将所述目标数据返回至所述目标应用服务。
13.在一示例性实施例中,所述获取所述服务器对应的数据库中存储的所述目标数据,包括:根据所述服务器中针对于不同数据的数据请求次数,确定次数阈值;在所述目标数据的目标请求次数大于或者等于所述次数阈值的情况下,接收所述远程缓存返回的所述目标数据,并将所述目标数据存入所述本地缓存;所述目标数据由所述数据库保存至所述远程缓存中。
14.在一示例性实施例中,所述数据获取方法还包括:在所述目标请求次数小于所述次数阈值的情况下,接收所述远程缓存返回的所述目标数据;所述目标数据由所述数据库保存至所述远程缓存中。
15.在一示例性实施例中,所述数据获取方法还包括:接收协调服务器触发的针对于原始数据的数据变更请求;根据所述数据更新请求,检测所述本地缓存中是否存储有所述原始数据;在所述本地缓存中存储有所述原始数据的情况下,将所述原始数据从所述本地缓存中删除。
16.根据本公开实施例的第二方面,提供一种数据获取系统,包括:服务器;所述服务器中部署有至少两个应用服务,以及单个本地缓存;所述本地缓存用于为所述至少两个应用服务提供数据缓存服务。
17.根据本公开实施例的第三方面,提供一种数据获取装置,应用于服务器,包括:
18.本地缓存检测单元,被配置为执行响应于目标应用服务针对于目标数据的数据获取请求,检测预先针对所述服务器部署的单个本地缓存中是否存储有所述目标数据;所述服务器中部署有至少两个应用服务,所述至少两个应用服务中包含所述目标应用服务;所述本地缓存用于为所述至少两个应用服务提供数据缓存服务;
19.目标数据获取单元,被配置为执行在所述本地缓存中存储有所述目标数据的情况下,从所述本地缓存中获取所述目标数据,并将获取到的所述目标数据返回至所述目标应用服务。
20.在一示例性实施例中,所述目标数据获取单元,还被配置为执行在所述本地缓存中未存储有所述目标数据的情况下,检测在所述服务器外部署的远程缓存中是否存储有所述目标数据;在所述远程缓存中存储有所述目标数据的情况下,获取所述远程缓存中存储的所述目标数据,并将所述目标数据返回至所述目标应用服务。
21.在一示例性实施例中,所述目标数据获取单元,进一步被配置为执行根据所述服务器中针对于不同数据的数据请求次数,确定次数阈值;在所述目标数据的目标请求次数大于或者等于所述次数阈值的情况下,接收所述远程缓存返回的所述目标数据,并将所述目标数据存入所述本地缓存。
22.在一示例性实施例中,所述目标数据获取单元,还被配置为执行在所述目标请求次数小于所述次数阈值的情况下,接收所述远程缓存返回的所述目标数据。
23.在一示例性实施例中,所述目标数据获取单元,还被配置为执行在所述远程缓存中未存储有所述目标数据的情况下,获取所述服务器对应的数据库中存储的所述目标数
据,并将所述目标数据返回至所述目标应用服务。
24.在一示例性实施例中,所述目标数据获取单元,进一步被配置为执行根据所述服务器中针对于不同数据的数据请求次数,确定次数阈值;在所述目标数据的目标请求次数大于或者等于所述次数阈值的情况下,接收所述远程缓存返回的所述目标数据,并将所述目标数据存入所述本地缓存;所述目标数据由所述数据库保存至所述远程缓存中。
25.在一示例性实施例中,所述目标数据获取单元,还被配置为执行在所述目标请求次数小于所述次数阈值的情况下,接收所述远程缓存返回的所述目标数据;所述目标数据由所述数据库保存至所述远程缓存中。
26.在一示例性实施例中,所述数据获取装置,还包括:本地缓存更新单元,被配置为执行接收协调服务器触发的针对于原始数据的数据变更请求;根据所述数据更新请求,检测所述本地缓存中是否存储有所述原始数据;在所述本地缓存中存储有所述原始数据的情况下,将所述原始数据从所述本地缓存中删除。
27.根据本公开实施例的第四方面,提供一种服务器,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项实施例所述的数据获取方法。
28.根据本公开实施例的第五方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如第一方面中任一项实施例所述的数据获取方法。
29.根据本公开实施例的第六方面,提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令被服务器的处理器执行时,使得所述服务器能够执行如第一方面中任一项实施例所述的数据获取方法。
30.本公开的实施例提供的技术方案至少带来以下有益效果:
31.通过服务器响应于目标应用服务针对于目标数据的数据获取请求,检测预先针对服务器部署的单个本地缓存中是否存储有目标数据;服务器中部署有至少两个应用服务,至少两个应用服务中包含目标应用服务;本地缓存用于为至少两个应用服务提供数据缓存服务;在本地缓存中存储有目标数据的情况下,从本地缓存中获取目标数据,并将获取到的目标数据返回至目标应用服务。本公开提供的数据获取方法,针对部署有多个应用服务的服务器设置单个本地缓存,该本地缓存可以为服务器中多个应用服务提供本地缓存,相比于传统技术中服务器需要为设置的多个应用服务都配置本地缓存,本公开可以只配置单个本地缓存即可为多个应用服务提供本地缓存服务,从而可以避免不同本地缓存中存储有相同缓存数据,减少服务器的资源浪费,并提高缓存资源利用率。
32.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
33.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
34.图1是根据一示例性实施例示出的一种数据获取方法的应用环境图。
35.图2是根据一示例性实施例示出的一种数据获取方法的流程图。
36.图3是根据一示例性实施例示出的将目标数据返回至目标应用服务的流程图。
37.图4是根据一示例性实施例示出的缓存数据更新的流程图。
38.图5是根据一示例性实施例示出的数据获取系统的结构示意图。
39.图6是根据另一示例性实施例示出的数据获取系统的结构示意图。
40.图7是根据一示例性实施例示出的一种数据获取方法的交互流程图。
41.图8是根据一示例性实施例示出的一种数据获取装置的框图。
42.图9是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
43.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
44.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
45.还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
46.本公开所提供的数据获取方法,可以应用于如图1所示的应用环境中。其中,终端101通过网络与服务器102进行交互。服务器102中可以部署有多个应用服务,例如可以包括应用服务1、应用服务2以及应用服务3,以及针对服务器部署的本地缓存服务。当用户用过终端101向服务器102中的某一个应用服务,例如应用服务2发起针对于数据获取请求时,应用服务2可以调用服务器102中部署的本地缓存,查询本地缓存中是否存储有该数据获取请求对应的数据,如果本地缓存中存储有该数据,则可以直接将本地缓存中的数据返回至应用服务2中,由应用服务2将数据发送至终端101。其中,终端101可以是但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器102可以是部署有多个应用服务的独立服务器来实现。
47.图2是根据一示例性实施例示出的一种数据获取方法的流程图,如图2所示,数据获取方法用于服务器102中,包括以下步骤。
48.在步骤s201中,服务器102响应于目标应用服务针对于目标数据的数据获取请求,检测预先针对服务器102部署的单个本地缓存中是否存储有目标数据;服务器102中部署有至少两个应用服务,至少两个应用服务中包含目标应用服务;本地缓存用于为至少两个应用服务提供数据缓存服务。
49.其中,服务器102指的是预先部署有多个应用服务的服务器,不同的应用服务可以用于实现不同的功能,而目标应用服务则指的是在服务器部署的多个应用服务中,发起数据获取请求的应用服务,该数据获取请求可以是终端101触发,向服务器102中的目标应用服务发起用于获取某一个数据,即获取目标数据的请求。本地缓存则指的是预先为该服务
器102配置的,用于为服务器102中配置的多个应用服务提供数据缓存服务的缓存。
50.具体来说,可以在部署有多个应用服务的服务器102中设置一个专门为服务器102中多个应用服务提供数据缓存服务的本地缓存,当用户需要从服务器102中通过某个应用服务,即目标应用服务获取目标数据时,可以向该目标应用服务发起针对于该目标数据的数据获取请求,目标应用服务得到该请求后,则可以将请求转发至部署该目标应用服务的服务器102中,使得服务器102可以对上述目标数据的数据获取请求进行响应,并查询其部署的本地缓存中是否存在数据获取请求对应的目标数据,以确定本地缓存中是否已经缓存有该目标数据。
51.例如,服务器102可以部署有应用服务1、应用服务2以及应用服务3,当用户通过客户端101向某一个应用服务,可以是应用服务2发起针对于数据a的获取请求时,应用服务2即可作为目标应用服务,而数据a则可以作为目标数据,之后应用服务2则可以将针对于数据a的数据获取请求发送至服务器102,由服务器102对上述数据获取请求进行响应,并查询预先为服务器102部署的本地缓存中是否已经存储有上述数据a。
52.在步骤s202中,服务器102在本地缓存中存储有目标数据的情况下,从本地缓存中获取目标数据,并将获取到的目标数据返回至目标应用服务。
53.而如果本地缓存中存储有上述目标数据,服务器102则可以从其部署的本地缓存中得到上述目标数据,并且将目标数据返回至目标应用服务中,再由目标应用服务将得到的目标数据发送至触发数据获取请求的终端101中,以完成数据获取请求的响应。
54.例如,服务器102接收到作为目标应用服务的应用服务2发起的针对于数据a的数据获取请求时,可以先查询服务器102中部署的本地缓存是否预先存储有数据a,如果本地缓存中存储有上述数据a,则可以从本地缓存中得到数据a,并将其返回至应用服务2,由应用服务2将数据a返回至终端101。
55.上述数据获取方法中,通过服务器102响应于目标应用服务针对于目标数据的数据获取请求,检测预先针对服务器102部署的单个本地缓存中是否存储有目标数据;服务器102中部署有至少两个应用服务,至少两个应用服务中包含目标应用服务;本地缓存用于为至少两个应用服务提供数据缓存服务;在本地缓存中存储有目标数据的情况下,从本地缓存中获取目标数据,并将获取到的目标数据返回至目标应用服务。本公开提供的数据获取方法,针对部署有多个应用服务的服务器设置单个本地缓存,该本地缓存可以为服务器中多个应用服务提供本地缓存,相比于传统技术中服务器需要为设置的多个应用服务都配置本地缓存,本公开可以只配置单个本地缓存即可为多个应用服务提供本地缓存服务,从而可以避免不同本地缓存中存储有相同缓存数据,减少服务器的资源浪费,并提高缓存资源利用率。
56.在一示例性实施例中,如图3所示,在步骤s201之后,还可以包括:
57.在步骤s301中,服务器102在本地缓存中未存储有目标数据的情况下,检测在服务器102外部署的远程缓存中是否存储有目标数据。
58.其中,远程缓存指的是在服务器102外部署的缓存,本实施例中服务器102的数量可以是多个,分别部署有不同的应用服务,并且每一个服务器102中都可以部署有一个本地缓存,远程缓存则可以是分别与专门为上述多个服务器102提供远程缓存服务的服务器,该服务器可以分别和多个服务器102通信连接。具体来说,当服务器102的本地缓存中未存储
有目标数据时,服务器102则可以进一步的通过为其提供远程缓存服务的远程缓存中获取目标数据,通过查询远程缓存中是否存在数据获取请求对应的目标数据,以确定远程缓存中是否已经缓存有该目标数据。
59.在步骤s302中,服务器102在远程缓存中存储有目标数据的情况下,获取远程缓存中存储的目标数据,并将目标数据返回至目标应用服务。
60.如果远程缓存中存储有上述目标数据,服务器102则可以从该远程缓存中得到上述目标数据,并且将目标数据返回至目标应用服务中,再由目标应用服务将得到的目标数据发送至触发数据获取请求的终端101中,以完成数据获取请求的响应。
61.例如,部署有多个应用服务的服务器可以是多个,并且每一个服务器中都部署有相应的本地缓存,即服务器a中可以部署有应用服务1、应用服务2以及应用服务3,并且部署有用于为上述应用服务提供本地缓存服务的本地缓存a,服务器b中可以部署有应用服务4、应用服务5以及应用服务6,并且部署有用于为上述应用服务提供本地缓存服务的本地缓存b,而服务器c中则可以部署有应用服务7、应用服务8以及应用服务9,并且部署有用于为上述应用服务提供本地缓存服务的本地缓存c,同时还可以针对服务器a、服务器b以及服务器c专门部署一个远程缓存服务器,例如服务器d为服务器a、服务器b以及服务器c提供远程缓存服务。当用户通过终端101向应用服务2发起针对于数据a的数据获取请求时,服务器a可以首先在其本地缓存,即本地缓存a中检测是否存储有上述数据a,如果本地缓存a中未存储有数据a,则可以进一步地检测提供远程缓存服务的服务器d中的远程缓存中是否存储有该目标数据,如果远程缓存中携带上述数据a,服务器102则可以从远程缓存中得到上述数据a,并将其返回至应用服务2,由应用服务2将数据a返回至终端101。
62.本实施例中,如果本地缓存未存储有目标数据,服务器102则可以进一步检测其对应的远程缓存中是否存储该目标数据,如果远程缓存中存储有目标数据,则可以从远处缓存中得到目标数据并返回,实现了在本地缓存中没有目标数据时通过远程缓存得到目标数据,在保证目标数据获取的同时,可以提高目标数据获取的效率。
63.进一步地,步骤s302可以进一步包括:服务器102根据服务器102中针对于不同数据的数据请求次数,确定次数阈值;在目标数据的目标请求次数大于或者等于次数阈值的情况下,接收远程缓存返回的目标数据,并将目标数据存入本地缓存。
64.其中,数据请求次数指的是终端101通过服务器102中的应用服务触发的用于获取数据的请求次数,由于不同数据的使用频率有所不同,因此针对于不同数据的请求次数也有所不同,同时,在服务器102中本地缓存的数据量也是有限的,因此,为了提高数据的获取效率,可以在本地缓存中尽可能存储使用频率较大的数据,即数据请求次数较多的数据。
65.具体来说,服务器102如果检测到目标数据未存储于本地缓存时,在得到目标数据后,则可以判断是否需要将其存储于本地缓存中,以供下次获取该目标数据时可以直接从本地缓存中得到该目标数据,而不需要再次通过调用远程缓存的方式得到上述目标数据,服务器102可以首先根据通过该服务器102触发的针对于不同数据的获取请求的请求次数,确定出一个数据阈值,可以是按照各数据请求的请求次数对不同的数据进行排序,并将排序在前预设百分比的数据所对应的请求次数作为该次数阈值。
66.之后,服务器102还可以得到针对于目标数据触发的数据请求的请求次数,即目标请求次数,如果目标请求次数大于或者等于该次数阈值时,则可以表明该目标数据属于使
用频率较高的数据,因此可以将目标数据存入本地缓存中,来提高目标数据获取的效率,此时服务器102还可以将存入本地缓存的目标数据返回至目标应用服务,由目标应用服务将目标数据返回至终端101。
67.本实施例中,服务器102还可以根据不同数据的数据请求次数设置相应的次数阈值,当目标数据的目标请求次数大于或者等于次数阈值时,还可以将其存入本地缓存中,使得本地缓存可以存储使用频率高的数据,进一步提高数据获取的效率。
68.并且,服务器102根据服务器102中针对于不同数据的数据请求次数,确定次数阈值之后,还可以包括:在目标请求次数小于次数阈值的情况下,接收远程缓存返回的目标数据。
69.同时,而如果目标请求次数小于该次数阈值时,则表明该目标数据属于使用频率较少的数据,因此为了不挤占其他本地缓存用于存储其他使用频率高的数据的存储空间,此时服务器102在得到目标数据后则不会将目标数据存入本地缓存中,而是将其直接从远程缓存返回至目标应用服务,由目标应用服务返回至终端101。
70.例如,针对于服务器102触发的数据请求可以包括:针对于数据a的请求、针对于数据b的请求、针对于数据c的请求、针对于数据d的获取请求以及针对于数据e的请求,其中数据a的请求次数为10次,数据b的请求为9次,数据c的请求为9次,数据d的请求次数为11次,数据e的请求次数为7次,如果设置的次数阈值为11次,可以是设置只存储前30%的数据,那么此时本地缓存中只存储有数据d。当用户通过终端101触发针对于数据a的请求时,服务器102则需要从远程缓存中检测是否存储有数据a,如果存在数据a则可以将其从远程缓存中得到,此时数据a的请求次数则由10次更新为11次,满足请求次数大于或者等于次数阈值,因此可以在得到数据a后还可以将其存储于本地缓存中,并从本地缓存中将数据a返回目标应用服务。而当用户终端101触发针对于数据e的请求时,数据e的请求次数则由7次更新为8次,仍然小于设定的次数阈值,因此服务器102不会将上述数据e存入本地缓存,而是直接将其从远程缓存中返回目标应用服务。
71.本实施例中,当目标数据的目标请求次数小于次数阈值时,服务器102则可以将目标数据直接返回目标应用服务,而不将其存入本地缓存中,以提高本地缓存的存储空间利用率。
72.另外,步骤s301之后,还可以包括:服务器102在远程缓存中未存储有目标数据的情况下,服务器102获取服务器102对应的数据库中存储的目标数据,并将目标数据返回至目标应用服务。
73.数据库则可以是用于存储各种应用服务对应的数据的数据库,该数据库可以通过数据库服务器实现。具体来说,如果远程缓存服务中也没有存储上述目标数据,那么服务器102则需要通过数据库来得到上述目标数据,以对数据获取请求进行响应,由于数据库中可以存储有各种应用服务对应的数据,因此服务器102在该数据库中可以得到上述目标数据,并将目标数据从数据库中返回至目标应用服务。
74.本实施例中,如果远程缓存中也未存储有上述目标数据,服务器102则可以进一步从数据库中得到上述目标数据,以对数据获取请求进行响应,从而保证目标数据的获取。
75.进一步地,服务器102获取服务器102对应的数据库中存储的目标数据,可以进一步包括:服务器102根据服务器中针对于不同数据的数据请求次数,确定次数阈值;在目标
数据的目标请求次数大于或者等于次数阈值的情况下,接收远程缓存返回的目标数据,并将目标数据存入本地缓存;目标数据由数据库保存至远程缓存中。
76.与远程缓存中得到目标数据同理,本实施例在服务器102得到由数据库中存储的目标数据后,也可以进一步判断是否需要将目标数据存入本地缓存中,使得本地缓存可以存储使用频率高的数据,以提高数据获取的效率,即服务器102可以根据终端101通过服务器102中的应用服务触发的针对于不同数据的请求次数,从而确定出一个相应的关于请求次数的阈值,如果针对于目标数据触发的数据请求的请求次数,即目标请求次数大于或者等于该次数阈值时,则可以表明该目标数据属于使用频率较高的数据,则可以将目标数据存入本地缓存中,来提高目标数据获取的效率。同时,在远程缓存未存储有目标数据的情况下,数据库还可以进一步地将目标数据存入远程缓存中,以避免其他用户对该目标数据发起数据获取请求时,需要再次通过数据库来得到目标数据,从而可以降低数据库的处理压力。
77.具体来说,在目标数据同时未存储于服务器102的本地缓存以及对应的远程缓存时,服务器102可以首先获取服务器102中针对于不同数据的数据请求的请求次数,并基于上述请求次数确定出相应的请求次数阈值,如果针对于目标数据的目标请求次数大于或者等于上述请求次数阈值时,数据库则可以先将从数据库中得到的目标数据存入远程缓存中,以避免其他用户对该目标数据发起数据获取请求时,需要再次通过数据库来得到目标数据,进而降低数据库的处理压力,同时数据库102则可以进一步地从远程缓存中将数据库存入远程缓存中的目标数据进行获取,并将其存入服务器102的本地缓存中,使得本地缓存可以存储使用频率高的目标数据,来提高数据获取的效率。之后,服务器102还可以进一步将存入本地缓存的目标数据返回至目标应用服务,由目标应用服务将目标数据返回至终端101。
78.本实施例中,如果远程缓存中未存储有目标数据,在数据库得到目标数据后,还可以将目标数据存入远程缓存中,以避免其他用户对该目标数据发起数据获取请求时,需要再次通过数据库来得到目标数据,从而降低数据库的处理压力。并且,服务器102还可以根据设置的数据阈值,来判断得到的目标数据是否存入本地缓存中,当目标数据的目标请求次数大于或者等于次数阈值时,服务器102则将目标数据存入本地缓存中,使得本地缓存可以存储使用频率高的数据,进一步提高数据获取的效率。
79.并且,服务器102根据数据请求次数确定次数阈值后,还可以包括:在目标请求次数小于次数阈值的情况下,接收远程缓存返回的目标数据;目标数据由数据库保存至远程缓存中。
80.而如果目标请求次数小于该次数阈值时,则表明该目标数据属于使用频率较少的数据,为了不挤占其他本地缓存用于存储其他使用频率高的数据的存储空间,此时服务器102在得到目标数据后则不会将目标数据存入本地缓存中。同时,为了避免其他用户对该目标数据发起数据获取请求时,需要再次通过数据库来得到目标数据,以降低数据库的处理压力,数据库还可以将得到的目标数据先存入远程缓存中。
81.也就是说,如果本地缓存以及远程缓存中都未存储有目标数据,同时目标请求次数小于设定的次数阈值的情况下,数据库可以将得到的目标数据先存入远程缓存中,服务器102则可以从远程缓存中得到上述目标数据,并将目标数据直接从远程缓存返回至目标
应用服务,由目标应用服务返回至终端101。
82.本实施例中,如果远程缓存中未存储有目标数据,在数据库得到目标数据后,还可以将目标数据存入远程缓存中,以避免其他用户对该目标数据发起数据获取请求时,需要再次通过数据库来得到目标数据,从而降低数据库的处理压力。同时,当目标数据的目标请求次数小于次数阈值时,服务器102则可以将目标数据直接返回目标应用服务,而不将其存入本地缓存,以提高本地缓存的存储空间利用率。
83.在一示例性实施例中,如图4所示,数据获取方法,还可以包括:
84.在步骤s401中,服务器102接收协调服务器触发的针对于原始数据的数据变更请求。
85.其中,原始数据指的是准备发生数据变更的数据,例如某一个数据发生了数据更新,或者数据删除等对数据进行变化的操作后,该数据则可以作为原始数据。协调服务器则是用于在原始数据发生更新时,通过触发数据变更请求来通知其他服务器相应对原始数据进行更新的服务器。具体来说,当某一个服务器针对某一个原始数据触发更新操作时,该服务器则可以通知协调服务器原始数据已经发生更新,此时为了保证不同服务器之间的数据的同步,协调服务器则可以向服务器102发起针对于原始数据的数据变更请求,以告知服务器102的原始数据已发生变更。此时,服务器102则可以接收到协调服务器触发的针对于原始数据的数据变更请求。
86.例如,在服务器a的某次针对数据a的操作中,数据a发生了变更,此时服务器a则可以告知协调服务器数据a已发生变更,此时为了保证数据a在其他部署的服务器,例如服务器b以及服务器c的数据同步,协调服务器则可以将数据a作为原始数据,向部署的服务器触发针对于数据a的数据变更请求。
87.在步骤s402中,服务器102根据数据更新请求,检测本地缓存中是否存储有原始数据;
88.在步骤s403中,服务器102在本地缓存中存储有原始数据的情况下,将原始数据从本地缓存中删除。
89.服务器102接收到原始数据的数据更新请求后,由于数据已发生变化,因此如果在服务器102的本地缓存中已经存储有原始数据的情况下,为了避免将未发生变化的原始数据返回至触发数据获取请求的终端101,服务器102还可以将本地缓存中存储的上述原始数据进行删除,来保证服务器102的本地缓存中存储数据的准确性。
90.本实施例中,如果服务器102接收到协调服务器触发的针对于原始数据的数据变更请求时,可以进一步判断其本地缓存中是否存储有上述原始数据,如果本地缓存中存储有原始数据,则将其进行删除,从而可以避免将未发生变化的原始数据返回至触发数据获取请求的终端101,以及保证服务器102的本地缓存中存储数据的准确性。
91.在一示例性实施例中,提供了一种数据获取系统,如图5所示,该数据获取系统可以包括有服务器,其中服务器中可以部署有至少两个应用服务,即可以包括应用服务1、应用服务2以及应用服务3,并且还可以在该服务器中部署单个本地缓存,该本地缓存可以为服务器中部署的应用服务1、应用服务2以及应用服务3提供数据缓存服务。
92.上述数据获取系统,通过在服务器中部署多个应用服务,以及用于为多个应用服务提供数据缓存服务的单个本地缓存,相比于传统技术中服务器需要为设置的多个应用服
务都配置本地缓存,本公开可以只配置单个本地缓存即可为多个应用服务提供本地缓存服务,从而可以避免不同本地缓存中存储有相同缓存数据,减少服务器的资源浪费,并提高缓存资源利用率。
93.在一示例性实施例中,如图6所示,数据获取系统,可以包括如5所示的多个服务器,即服务器a、服务器b以及服务器c,并且服务器a、服务器b以及服务器c都分别部署有多个应用服务,以及单个本地缓存。该数据获取系统中还可以部署有与上述多个服务器通信连接的,远程缓存服务器、数据库服务器,以及协调服务器。
94.其中,远程缓存服务器可以为服务器a、服务器b以及服务器c提供远程缓存服务,例如某个服务器a中的应用服务2发起针对于某个数据a的数据获取请求时,如果服务器a的本地缓存中未存储有上述数据a,那么则可以通过远程缓存服务器提供的远程缓存服务,来检测远程缓存中是否存储有数据a,如果远程缓存中携带上述数据a,则可以将其返回至应用服务2。
95.数据库服务器则是为服务器a、服务器b以及服务器c提供针对于应用服务的数据存储功能,如果远程缓存中也未存储有上述数据a,那么则可以进一步地通过数据库服务器得到上述数据a,并返回至应用服务2。
96.而协调服务器则是用于在服务器发生数据变更时,对多个服务器的数据进行同步处理。例如,当服务器b对数据a进行数据变更时,可以通知协调服务器数据a已发生变更,此时协调服务器则可以向与其连接的其他服务器,包括服务器a、服务器b、服务器c、远程缓存服务器以及数据库服务器发起针对于数据a的数据变更请求,以保证数据a在多个服务器中的数据同步。同时服务器a、服务器b以及服务器c在接收到数据变更请求时,还可以将其本地缓存中存储的数据a进行删除,以保证数据的实时准确性。
97.上述实施例提供的数据获取系统,可以在保证数据获取的可实现性的同时,提高数据获取的效率,同时,还可以保证服务器之间的数据同步,以保证数据的实时准确性。
98.在一示例性实施例中,还提供了一种数据获取方法,通过在每台服务器中部署单个专门的本地缓存服务,在同一台服务器中部署多个应用服务时,可以提供本台服务器中部署的多个应用服务来使用。具体的数据获取流程可如图7所示,包括以下过程:
99.步骤一:首先应用服务器要获取数据时,先调用该应用服务所部署的服务器上的本地缓存服务,此步骤时服务器内部调用不会产生网络宽带的占用,本地缓存服务首先统计要获取数据的标识将对应标识的统计数据增加一个数量,然后检查本地缓存中是否存在对应数据,如果存在则直接将数据返回给应用服务。如果不存在则进入步骤二。
100.步骤二:检查所要获取的数据是否占总的统计数据中请求次数的前指定位数,如果不在则进入步骤三,如果在则进入步骤四。
101.步骤三:未从本地缓存服务器中获取到对应的数据,则直接应用服务请求远程缓存服务获取数据,如果远程缓存服务有数据则直接返回应用服务,应用服务直接返回;如果远程缓存服务没有数据,则应用服务器请求数据库,查询出数据后放入远程缓存当中,然后再将数据返回给应用服务,应用服务拿数据返回。
102.步骤四:请求远程缓存服务获取数据,如果远程缓存服务有数据则直接将数据返回本地缓存服务,本地缓存服务将数据保存至服务内的本地缓存中然后将数据返回应用服务,应用服务直接返回;如果远程缓存服务没有数据,则应用服务器请求数据库,查询出数
据后放入远程缓存当中,然后再将数据返回给本地缓存服务,本地缓存服务将数据保存至服务内的本地缓存中然后将数据返回应用服务,应用服务直接返回。
103.更新或删除步骤:如果数据被更新或者删除,操作数据的服务器则直接通知协调服务器,协调服务器则会通知部署在每台服务器上的本地缓存服务,然后本地缓存服务将已经缓存在本地的数据进行删除。等待下次读取时根据规则判断是否需要加载进本地缓存。
104.上述数据获取方法中,通过在每台服务器中前置一台本地缓存服务,并且本地缓存服务具有统计数据访问量的功能,本地缓存服务只将访问量最大的一批数据缓存在本地缓存中,进而提高缓存命中率,同时应用服务自身不保存本地缓存进而节省了对服务器内存资源的浪费,通过统一调用本地缓存服务来进行缓存资源的获取,如果没有获取到数据则证明数据是冷数据则直接走非本地缓存服务数据的获取流程不进行缓存。同时数据如果发生删除或更新则直接由协调服务来通知本地缓存服务,因为将本地缓存从每个应用服务抽取成每个服务器部署一台本地缓存服务,从而让通知的连接数降低网络宽带的占用降级,并且本地缓存服务不会直接进行数据的重新加载,而是直接删除本地缓存中已经缓存的数据,采取懒加载的方式如果要获取时才会看是否是热数据如果是热数据才会再次加载。
105.应该理解的是,虽然本公开的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
106.可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
107.图8是根据一示例性实施例示出的一种数据获取装置的框图。参照图8,应用于服务器,该装置包括本地缓存检测单元801和目标数据获取单元802。
108.本地缓存检测单元801,被配置为执行响应于目标应用服务针对于目标数据的数据获取请求,检测预先针对服务器部署的单个本地缓存中是否存储有目标数据;服务器中部署有至少两个应用服务,至少两个应用服务中包含目标应用服务;本地缓存用于为至少两个应用服务提供数据缓存服务;
109.目标数据获取单元802,被配置为执行在本地缓存中存储有目标数据的情况下,从本地缓存中获取目标数据,并将获取到的目标数据返回至目标应用服务。
110.在一示例性实施例中,目标数据获取单元802,还被配置为执行在本地缓存中未存储有目标数据的情况下,检测在服务器外部署的远程缓存中是否存储有目标数据;在远程缓存中存储有目标数据的情况下,获取远程缓存中存储的目标数据,并将目标数据返回至目标应用服务。
111.在一示例性实施例中,目标数据获取单元802,进一步被配置为执行根据服务器中针对于不同数据的数据请求次数,确定次数阈值;在目标数据的目标请求次数大于或者等
于次数阈值的情况下,接收远程缓存返回的目标数据,并将目标数据存入本地缓存。
112.在一示例性实施例中,目标数据获取单元802,还被配置为执行在目标请求次数小于次数阈值的情况下,接收远程缓存返回的目标数据。
113.在一示例性实施例中,目标数据获取单元802,还被配置为执行在远程缓存中未存储有目标数据的情况下,获取服务器对应的数据库中存储的目标数据,并将目标数据返回至目标应用服务。
114.在一示例性实施例中,目标数据获取单元,进一步被配置为执行根据服务器中针对于不同数据的数据请求次数,确定次数阈值;在目标数据的目标请求次数大于或者等于次数阈值的情况下,接收远程缓存返回的目标数据,并将目标数据存入本地缓存;目标数据由数据库保存至远程缓存中。
115.在一示例性实施例中,目标数据获取单元803,还被配置为执行在目标请求次数小于次数阈值的情况下,接收远程缓存返回的目标数据;目标数据由数据库保存至远程缓存中。
116.在一示例性实施例中,数据获取装置,还包括:本地缓存更新单元,被配置为执行接收协调服务器触发的针对于原始数据的数据变更请求;根据数据更新请求,检测本地缓存中是否存储有原始数据;在本地缓存中存储有原始数据的情况下,将原始数据从本地缓存中删除。
117.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
118.图9是根据一示例性实施例示出的一种用于数据获取的电子设备900的框图。例如,电子设备900可以为服务器。参照图9,电子设备900包括处理组件920,其进一步包括一个或多个处理器,以及由存储器922所代表的存储器资源,用于存储可由处理组件920的执行的指令,例如应用程序。存储器922中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件920被配置为执行指令,以执行上述方法。
119.电子设备900还可以包括:电源组件924被配置为执行电子设备900的电源管理,有线或无线网络接口926被配置为将电子设备900连接到网络,和输入输出(i/o)接口928。电子设备900可以操作基于存储在存储器922的操作系统,例如windows server,mac os x,unix,linux,freebsd或类似。
120.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器922,上述指令可由电子设备900的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
121.在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由电子设备900的处理器执行以完成上述方法。
122.需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
123.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或
者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
124.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献