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

一种分片数据的缓存、访问方法、装置、终端及存储介质与流程

2021-11-03 14:42:00 来源:中国专利 TAG:


1.本发明属于计算机技术领域,尤其涉及一种分片数据的缓存、访问方法、装置、终端及存储介质。


背景技术:

2.超文本传输协议(hypertext transfer protocol,http)是简单的请求

响应协议,是服务器传输超文本到客户端(例如,浏览器)的传送协议。其中,http的缓存机制,是一种能够提高客户端对服务器数据的复用率、减少请求次数、提高访问体验的技术手段,已经广泛应用在具有http请求的软件体系中。
3.根据是否需向服务器发起http请求,将缓存过程划分为两个部分—强缓存和协商缓存。具体地,客户端向服务器请求网络资源时,会先获取该资源缓存的消息头(header)信息,根据消息头中的缓存控制(cache

control)和有效时间(expires)信息,判断是否命中强缓存,若命中直接从缓存中获取资源信息,包括缓存消息头信息,该次资源请求就不会与服务器进行通信。如果没有命中强缓存,客户端会发送请求到服务器,请求中携带第一次返回的有关缓存的消息头字段信息,由服务器根据消息头信息来比对结果是否协商缓存命中。若命中,则服务器返回新响应消息头信息,对缓存中的对应消息头信息进行更新,但是不返回请求的资源内容,返回的新响应消息头信息会告诉客户端可以直接从缓存获取,否则返回最新的资源内容。
4.然而,现有http协议的缓存方案并不支持range请求,即无法对服务器返回的指定文件或数据的部分数据进行缓存,服务器返回的分片数据(一段数据),不会被缓存在客户端。这样,在下一次进行同样的range请求时,客户端依然需要重新到服务器上进行下载。


技术实现要素:

5.本发明的目的在于提供一种分片数据的缓存、访问方法、装置、终端及存储介质,旨在解决由于现有技术无法提供一种用于对文件中分片或分段数据进行有效缓存的方法,导致分片或分段数据无法正常缓存的问题。
6.一方面,本发明提供了一种分片数据的缓存方法,所述方法包括下述步骤:
7.接收请求访问指定分片数据的http请求;
8.从所述http请求中获取预设请求参数的参数值,所述请求参数包括请求地址、请求方法以及请求范围;
9.根据所述请求地址,获取预设的缓存信息列表,根据所述请求方法以及请求范围,查找所述指定分片数据在所述缓存信息列表中的缓存信息;
10.当未查找到所述缓存信息时,向所述服务器发送所述http请求,接受所述服务器对所述http请求的响应,将所述响应存储到预设的存储单元;
11.根据所述存储单元的地址信息以及所述请求参数,生成所述响应对应的缓存信息;
12.将所述响应对应的缓存信息添加到所述缓存信息列表中。
13.另一方面,本发明还提供了一种分片数据的访问方法,所述方法包括下述步骤:
14.接收请求访问指定分片数据的http请求;
15.从所述http请求中获取预设请求参数的参数值,所述请求参数包括请求地址、请求方法以及请求范围;
16.根据所述请求地址,获取被缓存数据的缓存信息列表,根据所述请求方法以及请求范围,查找所述指定分片数据在所述缓存信息列表中的缓存信息;
17.当查找到所述缓存信息时,根据所述缓存信息,获取缓存的所述指定分片数据。
18.另一方面,本发明还提供了一种分片数据的缓存装置,所述装置包括:
19.请求接收单元,用于接收请求访问指定分片数据的http请求;
20.值获取单元,用于从所述http请求中获取预设请求参数的参数值,所述请求参数包括请求地址、请求方法以及请求范围;
21.信息查找单元,用于根据所述请求地址,获取预设的缓存信息列表,根据所述请求方法以及请求范围,查找所述指定分片数据在所述缓存信息列表中的缓存信息;
22.响应存储单元,用于当未查找到所述缓存信息时,向所述服务器发送所述http请求,接受所述服务器对所述http请求的响应,将所述响应存储到预设的存储单元;
23.信息生成单元,用于根据所述存储单元的地址信息以及所述请求参数,生成所述响应对应的缓存信息;以及
24.信息添加单元,用于将所述响应对应的缓存信息添加到所述缓存信息列表中。
25.另一方面,本发明还提供了一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
26.另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
27.本发明在接收到请求访问指定分片数据的http请求时,从http请求中获取包括请求地址、请求方法以及请求范围参数的参数值,根据请求地址获取预设的缓存信息列表,根据请求方法以及请求范围查找指定分片数据在缓存信息列表中的缓存信息,当未查找到缓存信息时,向服务器发送http请求,接受服务器对http请求的响应,将响应存储到预设的存储单元,根据存储单元的地址信息以及前述请求参数生成响应对应的缓存信息,最后将响应对应的缓存信息添加到缓存信息列表中,从而实现分片数据的缓存,在后续用户访问分片数据时,提高访问效率。
附图说明
28.图1是本发明实施例一提供的分片数据的缓存方法的实现流程图;
29.图2是本发明实施例二提供的分片数据的访问方法的实现流程图;
30.图3是本发明实施例三提供的分片数据的缓存装置的结构示意图;以及
31.图4是本发明实施例四提供的计算设备的结构示意图。
具体实施方式
32.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
33.以下结合具体实施例对本发明的具体实现进行详细描述:
34.实施例一:
35.图1示出了本发明实施例一提供的分片数据的缓存方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
36.在步骤s101中,接收请求访问指定分片数据的http请求;
37.本发明实施例适用于计算设备,具体地适用于使用客户端/服务器(c/s)模式中的客户端,客户端通过网络与服务器相连,接受用户的请求,并通过网络向服务器发送http请求,对目标文件进行操作(访问)。在本发明实施例中,http请求为对目标文件的指定分片数据进行操作的请求,该指定分片数据为服务器上存储的目标文件上的一部分,即请求访问服务器上目标文件中指定范围内的数据,具体地,该指定范围通过http请求头中的请求范围(例如,range参数)进行指定。
38.在步骤s102中,从http请求中获取预设请求参数的参数值,该请求参数包括请求地址、请求方法以及请求范围;
39.在本发明实施例中,通过客户端接收用户的http请求后,从http请求中获取预设请求参数的参数值,该请求参数包括请求地址、请求方法以及请求范围,从而统一http请求中不同请求方法的请求参数设置,提高http请求的响应效率。
40.在http请求的请求参数中,请求地址为请求访问资源或数据(目标文件)的地址,例如,url(uniform resource locator,统一资源定位器)地址,请求方法指定了客户端想对服务器上目标文件作何种操作,请求范围指定了请求操作或访问的目标文件的范围,即分片数据在目标文件中的位置。优选地,请求方法包括get方法和head方法,从而便于后续对get方法获得的分片数据进行缓存,提高分片数据再次访问时的响应效率,此时,请求范围为http请求中的请求range,以使用现有http请求规范实现指定分片数据的缓存。另外,通过head方法可获取http请求的请求头信息,通过对请求头信息进行缓存,可对资源或超链接的有效性进行检测。在这里,为了统一http请求中不同请求方法的请求参数设置,http请求中的请求方法为head方法时,请求范围的范围可以设置为0到0等开始值和结束值相同的一范围,从而简化请求方法为head方法时的参数配置,提高后续缓存的访问效率。
41.在步骤s103中,根据请求地址,获取预设的缓存信息列表,根据请求方法以及请求范围,查找指定分片数据在缓存信息列表中的缓存信息;
42.本发明实施例在客户端设置了缓存信息列表,以用于记录分片数据在客户端的缓存信息,缓存信息列表可以是任何可以记录缓存信息的表格、文件等。具体地,缓存信息列表可包括多个缓存信息项,每个缓存信息项可对应一个分片数据的缓存信息,缓存信息项可包括服务器响应的htpp请求中的请求地址、请求方法以及请求范围参数信息,还可以包括分片数据在客户端的缓存地址。优选地,还可以包括由请求地址、请求方法运算得到标识号,以便于通过标识号快速查找到对应的缓存信息项,进而通过请求范围参数最终确认是否缓存有请求的分片数据。
43.具体地,在查找指定分片数据在缓存信息列表中的缓存信息时,首先获取请求地址对应的缓存信息列表,当未获取到请求地址对应的缓存信息列表,确定未查找到缓存信息。当获取到请求地址对应的缓存信息列表时,在获取的缓存信息列表中匹配请求方法,当未匹配到请求方法,确定未查找到缓存信息。当匹配到请求方法时,获取对应的缓存信息项,在获取的缓存信息项中查找http请求中请求范围对应的缓存信息项。在获取的缓存信息项中查找http请求中请求范围对应的缓存信息项时,具体地,可以将http请求中请求范围的开始值与结束值与缓存信息项中请求范围的开始值与结束值进行比对,当http请求中请求范围的开始值大于等于缓存信息项中请求范围的开始值、且结束值小于等于缓存信息项中请求范围的结束值时,则确定查找到对应的缓存信息项,否则确定未查找到对应的缓存信息项。当未查找到缓存信息项时,确定未查找到缓存信息,从而根据http请求中的请求地址、请求方法以及请求范围,快速定位指定分片数据在客户端缓存信息列表中的缓存信息。
44.在步骤s104中,当未查找到缓存信息时,向服务器发送http请求,接受服务器对http请求的响应,将响应存储到预设的存储单元;
45.在本发明实施例中,当未查找到指定分片数据在客户端的缓存信息时,客户端向服务器发送http请求,服务器在接收到http请求后,根据http请求中的请求地址获取客户端请求访问的目标文件,进而根据请求范围对该目标文件对应范围的指定分片数据执行对应的请求方法,之后向客户端返回对应的响应。客户端接受服务器返回的对http请求的响应,将响应存储到客户端预设的存储单元。具体地,在将响应数据存储到预设的存储单元时,例如,当http请求中的请求方法为get方法时,可以存储请求的数据,当http请求中的请求方法为head方法时,只存储请求的响应头信息。
46.在步骤s105中,根据存储单元的地址信息以及所述请求参数,生成响应对应的缓存信息;
47.在将服务器的响应存储到客户端的存储单元后,客户端根据该存储单元的地址信息以及http请求中的请求参数,生成响应对应的缓存信息。
48.具体地,在生成响应对应的缓存信息时,可将htpp请求中的请求地址、请求方法以及请求范围参数信息设置在缓存信息中,还可以将分片数据在客户端的缓存地址也设置在缓存信息中。优选地,在生成缓存信息时,还可以由请求地址、请求方法运算得到一标识号,将该标识号添加到缓存信息中,以便于后续通过标识号快速查找到该缓存信息,进而通过请求范围最终定位缓存(分片数据)。当然,缓存信息在生成时,还可以设置该缓存的有效期等信息。
49.在步骤s106中,将响应对应的缓存信息添加到缓存信息列表中。
50.在将响应对应的缓存信息添加到缓存信息列表中后,缓存信息即成为缓存信息列表中的一缓存信息项,后续在接收到请求访问该同一分片数据的http请求时,可获取该列表获取缓存的分片数据。
51.本发明实施例在接收到请求访问指定分片数据的http请求时,从http请求中获取包括请求地址、请求方法以及请求范围参数的参数值,根据请求地址获取预设的缓存信息列表,根据请求方法以及请求范围查找指定分片数据在缓存信息列表中的缓存信息,当未查找到缓存信息时,向服务器发送http请求,接受服务器对http请求的响应,将响应存储到
预设的存储单元,根据存储单元的地址信息以及前述请求参数生成响应对应的缓存信息,最后将响应对应的缓存信息添加到缓存信息列表中,从而无须对服务器进行任何更改,即可实现分片数据的缓存,在后续用户访问分片数据时,提高访问效率。
52.实施例二:
53.图2示出了本发明实施例二提供的分片数据的访问方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
54.在步骤s201中,接收请求访问指定分片数据的http请求;
55.本发明实施例适用于计算设备,具体地适用于使用客户端/服务器(c/s)模式中的客户端,客户端通过网络与服务器相连,接受用户的请求,并通过网络向服务器发送http请求,对目标文件进行操作(访问)。在本发明实施例中,http请求为对目标文件的指定分片数据进行操作的http请求,该指定分片数据为服务器上存储的目标文件上的一部分,即请求访问服务器上目标文件中指定范围内的数据,具体地,该指定范围通过http请求头中的请求范围(例如,range参数)进行指定。
56.在步骤s202中,从http请求中获取预设请求参数的参数值,该请求参数包括请求地址、请求方法以及请求范围;
57.在本发明实施例中,通过客户端接收用户的http请求后,从http请求中获取预设请求参数的参数值,该请求参数包括请求地址、请求方法以及请求范围,从而统一http请求中不同请求方法的请求参数设置,提高http请求的响应效率。
58.在http请求的请求参数中,请求地址为请求访问资源或数据(目标文件)的地址,请求方法指定了客户端想对服务器上目标文件作何种操作,请求范围指定了请求操作或访问的目标文件的范围,即分片数据在目标文件中的位置。优选地,请求方法包括get方法和head方法,从而便于后续对get方法获得的分片数据进行缓存,提高分片数据再次访问时的响应效率,此时,请求范围为http请求中的请求range,以使用现有http请求规范实现指定分片数据的缓存。另外,通过head方法可获取http请求的请求头信息,通过对请求头信息进行缓存,可对资源或超链接的有效性或是否可以可达进行检测。在这里,为了统一http请求中不同请求方法的请求参数设置,http请求中的请求方法为head方法时,请求范围的范围可以设置为0到0等开始值和结束值相同的一范围,从而简化请求方法为head方法时的参数配置,提高后续缓存的访问效率。
59.在步骤s203中,根据请求地址,获取预设的缓存信息列表,根据请求方法以及请求范围,查找指定分片数据在缓存信息列表中的缓存信息;
60.本发明实施例在客户端设置了缓存信息列表,以用于记录分片数据在客户端的缓存信息,缓存信息列表可以是任何可以记录缓存信息的表格、文件等。具体地,缓存信息列表可包括多个缓存信息项,每个缓存信息项可对应一个分片数据的缓存信息,缓存信息项可包括服务器响应的htpp请求中的请求地址、请求方法以及请求范围参数信息,还可以包括分片数据在客户端的缓存地址。优选地,还可以包括由请求地址、请求方法运算得到标识号,以便于通过标识号快速查找到对应的缓存信息项,进而通过请求范围参数最终确认是否缓存有请求的分片数据。
61.具体地,在查找指定分片数据在缓存信息列表中的缓存信息时,首先根据http请求中的请求地址,获取请求地址对应的缓存信息列表,在获取的缓存信息列表中匹配请求
方法,当在缓存信息列表中匹配到请求方法时,获取对应的缓存信息项,在获取的缓存信息项中查找http请求中请求范围对应的缓存信息项,当查找到时,在查找到的缓存信息项中获取缓存信息,将获取的缓存信息确定为指定分片数据在缓存信息列表中的缓存信息,从而根据http请求中的请求地址、请求方法以及请求范围,快速定位指定分片数据在客户端缓存信息列表中的缓存信息。在获取的缓存信息项中查找http请求中请求范围对应的缓存信息项时,具体地,可以将http请求中请求范围的开始值与结束值与缓存信息项中请求范围的开始值与结束值进行比对,当http请求中请求范围的开始值大于等于缓存信息项中请求范围的开始值、且结束值小于等于缓存信息项中请求范围的结束值时,则确定该缓存信息项为指定分片数据对应的缓存信息。
62.在步骤s204中,当查找到缓存信息时,根据缓存信息,获取缓存的指定分片数据。
63.在本发明实施例中,在查找到缓存信息后,从缓存信息中获取存储指定分片数据的存储单元的地址信息,根据地址信息读取缓存的指定分片数据。具体地,当http请求中请求范围的开始值大于缓存信息项中请求范围的开始值、且结束值小于缓存信息项中请求范围的结束值时,表明已缓存数据覆盖了用户想要访问的分片数据,此时获取该缓存信息项对应的缓存数据,并根据http请求中请求范围(即请求范围的开始值和结束值)从获取的缓存数据中截取http请求中请求范围对应的分片数据,从而精确得到缓存的指定分片数据。
64.进一步地,截取得到http请求中请求范围对应的分片数据后,可将该分片数据存储到客户端的存储单元(缓存存储器)中,根据该存储单元的地址信息以及http请求中的请求参数,生成该分片数据对应的缓存信息,之后,将生成的缓存信息添加到缓存信息列表中,从而将用户最近最新访问的分片数据缓存起来,提高了后续缓存的命中率。
65.本发明实施例在接收到请求访问指定分片数据的http请求时,从http请求中获取包括请求地址、请求方法以及请求范围参数的参数值,根据请求地址获取预设的缓存信息列表,根据请求方法以及请求范围查找指定分片数据在缓存信息列表中的缓存信息,当查找到缓存信息时,根据缓存信息,获取缓存的指定分片数据,从而使用缓存的分片数据对用户的分片数据请求进行响应,无需从服务器上进而获取,提高了分片数据的访问效率。
66.实施例三:
67.图3示出了本发明实施例三提供的分片数据的缓存装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
68.请求接收单元31,用于接收请求访问指定分片数据的http请求;
69.值获取单元32,用于从所述http请求中获取预设请求参数的参数值,所述请求参数包括请求地址、请求方法以及请求范围;
70.信息查找单元33,用于根据所述请求地址,获取预设的缓存信息列表,根据所述请求方法以及请求范围,查找所述指定分片数据在所述缓存信息列表中的缓存信息;
71.响应存储单元34,用于当未查找到所述缓存信息时,向所述服务器发送所述http请求,接受所述服务器对所述http请求的响应,将所述响应存储到预设的存储单元;
72.信息生成单元35,用于根据所述存储单元的地址信息以及所述请求参数,生成所述响应对应的缓存信息;以及
73.信息添加单元36,用于将所述响应对应的缓存信息添加到所述缓存信息列表中。
74.在本发明实施例中,缓存装置的各单元可由相应的硬件或软件单元实现,各单元
可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。具体各单元的实施方式可参考实施一的描述,在此不再赘述。
75.实施例四:
76.图4示出了本发明实施例四提供的计算设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
77.本发明实施例的计算设备4包括处理器40、存储器41以及存储在存储器41中并可在处理器40上运行的计算机程序42。该处理器40执行计算机程序42时实现上述各个方法实施例中的步骤,例如图1所示的步骤s101至s106。或者,处理器40执行计算机程序42时实现上述各装置实施例中各单元的功能,例如图3所示单元31至36的功能。
78.本发明实施例的计算设备可以为个人计算机、移动设备等使用http协议的联网设备。该计算设备4中处理器40执行计算机程序42时实现上述方法时实现的步骤可参考前述方法实施例的描述,在此不再赘述。
79.实施例五:
80.在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤,例如,图1所示的步骤s101至s106。或者,该计算机程序被处理器执行时实现上述装置实施例中各单元的功能,例如图3所示单元31至36的功能。
81.本发明实施例在接收到请求访问指定分片数据的http请求时,从http请求中获取包括请求地址、请求方法以及请求范围参数的参数值,根据请求地址获取预设的缓存信息列表,根据请求方法以及请求范围查找指定分片数据在缓存信息列表中的缓存信息,当未查找到缓存信息时,向服务器发送http请求,接受服务器对http请求的响应,将响应存储到预设的存储单元,根据存储单元的地址信息以及前述请求参数生成响应对应的缓存信息,最后将响应对应的缓存信息添加到缓存信息列表中,从而无须对服务器进行任何更改,即可实现分片数据的缓存,在后续用户访问分片数据时,提高访问效率。
82.本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,rom/ram、磁盘、光盘、闪存等存储器。
83.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献