CN115174679A - 一种网络文件缓存方法、装置、电子设备及存储介质 - Google Patents
一种网络文件缓存方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115174679A CN115174679A CN202210895472.2A CN202210895472A CN115174679A CN 115174679 A CN115174679 A CN 115174679A CN 202210895472 A CN202210895472 A CN 202210895472A CN 115174679 A CN115174679 A CN 115174679A
- Authority
- CN
- China
- Prior art keywords
- target
- file
- reading
- content
- callback
- 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 32
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 230000004931 aggregating effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种网络文件缓存方法、装置、电子设备及存储介质,通过获取的针对目标文件的回调读取信息,判断本地缓存中是否存在与该回调读取信息关联的目标读取内容,进一步的,在确定缓存存在时,直接从本地缓存中获取上述目标读取内容,否则,将携带回调读取信息的读取请求发送至远端服务器,以便获得并缓存该远端服务器返回的目标读取内容,基于上述方式,本申请实施例有效减少了相关技术中,目标客户端在较近时间内向远端服务器发送的读取请求的次数较多的问题,从而避免了目标客户端中的文件读取卡顿,同时,针对不同目标文件的读取分量灵活可调,进一步提升了目标对象的文件读取体验。
Description
技术领域
本发明涉及网络数据处理技术领域,尤其涉及一种网络文件缓存方法、装置、电子设备及存储介质。
背景技术
在网络文件的在线存储服务中,目标客户端通常可以基于针对目标文件触发的回调指令,向远端服务器发送针对该网络文件的读取请求,并使得该远端服务器基于接收到的上述读取请求,返回与上述网络文件相应的文件内容。
然而,由于实际状况中,针对一个网络文件的读取通常不是一次性完成的,这一状况可能会导致较近时间内,目标客户端向远端服务器所发送的读取请求的次数较多,进而导致远端服务器中的相关进程针对上述网络文件的处理时间可能较长,从而引发目标客户端中的文件读取卡顿。
发明内容
本申请实施例提供一种网络文件缓存方法、装置、电子设备及存储介质,用于解决目标客户端中的文件读取卡顿。
第一方面,本申请实施例提供一种网络文件缓存方法,包括:
获取针对目标文件的回调读取信息,其中,所述回调读取信息用于关联所述目标文件中的目标读取内容。
从本地缓存中,判断是否存在所述回调读取信息关联的所述目标读取内容。
若是,则从所述本地缓存中,直接获取所述回调读取信息关联的所述目标读取内容。
否则,将携带所述回调读取信息的读取请求发送至远端服务器,并获得所述远端服务器返回的与所述回调读取信息关联的所述目标读取内容。
第二方面,本申请实施例提供一种网络文件缓存装置,包括:
获取模块,用于获取针对目标文件的回调读取信息,其中,所述回调读取信息用于关联所述目标文件中的目标读取内容。
判断模块,用于从本地缓存中,判断是否存在所述回调读取信息关联的所述目标读取内容。
第一读取模块,用于响应于所述本地缓存中存在所述目标读取内容,从所述本地缓存中,直接获取所述回调读取信息关联的所述目标读取内容。
第二读取模块,用于响应于所述本地缓存中不存在所述目标读取内容,将携带所述回调读取信息的读取请求发送至远端服务器,并获得所述远端服务器返回的与所述回调读取信息关联的所述目标读取内容。
在一种可选的实施例中,所述获取针对目标文件的回调读取信息,所述获取模块具体用于:
获取针对目标文件的定位读取信息,其中,所述定位读取信息至少包括:针对所述目标文件的读取偏移量以及读取长度。
从所述目标文件关联的至少一个切片文件内容中,获得与所述定位读取信息匹配的各个目标文件内容。
基于获得的各个目标文件内容,分别确定所述各个目标文件内容各自在所述目标文件中的读取序数,并对确定的各个读取序数进行聚合,获得针对所述目标文件的回调读取信息。
在一种可选的实施例中,所述目标文件关联的至少一个切片文件内容,是采用以下方式获得的:
获取针对所述目标文件确定的读取分量,其中,所述读取分量是基于所述目标文件的文件数据量以及所述目标文件的文件类型获得的。
基于所述读取分量,对所述目标文件的文件内容进行切分,获得所述目标文件关联的至少一个切片文件内容。
在一种可选的实施例中,所述获得所述远端服务器返回的与所述回调读取信息关联的所述目标读取内容之后,所述第二读取模块还用于:
获取所述本地缓存的切片缓存数量。
判断所述切片缓存数量是否超过预设的数量阈值。
若是,则在所述本地缓存中,删除相应读取时间满足预设条件的各个切片文件内容,并响应于所述各个切片文件内容的删除完毕,在所述本地缓存中存储所述目标读取内容。
否则,直接在所述本地缓存中存储所述目标读取内容。
第三方面,提出了一种电子设备,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述第一方面所述的网络文件缓存方法的步骤。
第四方面,提出一种计算机可读存储介质,其包括程序代码,当所述程序代码在电子设备上运行时,所述程序代码用于使所述电子设备执行上述第一方面所述的网络文件缓存方法的步骤。
本申请实施例的技术效果如下:
本申请实施例提供了一种网络文件缓存方法、装置、电子设备及存储介质,通过获取的针对目标文件的回调读取信息,判断本地缓存中是否存在与该回调读取信息关联的目标读取内容,进一步的,在确定缓存存在时,直接从本地缓存中获取上述目标读取内容,否则,将携带回调读取信息的读取请求发送至远端服务器,以便获得并缓存该远端服务器返回的目标读取内容,基于上述方式,本申请实施例能够从本地缓存中,快速读取出与当前获取的回调读取信息关联的目标读取内容,进而有效减少了相关技术中,目标客户端在较近时间内向远端服务器发送的读取请求的次数较多的问题,从而避免了目标客户端中的文件读取卡顿。
另一方面,基于上述方式,可以针对不同的目标文件分别设置待缓存的不同目标读取内容,在目标文件的数据量较多时,可以通过设置的相应数据量的目标读取内容,进一步减少目标客户端需要向远端服务器发送的读取请求的次数,进而在无需缓存所有网络文件的情况下,有效提升了目标客户端中,目标对象对网络文件的读取体验。
附图说明
图1为本申请实施例提供的一种回调接口的调用示意图;
图2为本申请实施例提供的一种可能的应用场景示意图;
图3为本申请实施例提供的一种网络文件缓存方法的流程图;
图4为本申请实施例提供的一种目标读取内容的存储方式示意图;
图5为本申请实施例提供的一种网络文件缓存方法的逻辑示意图;
图6为本申请实施例提供的一种网络文件缓存装置的结构示意图;
图7为本申请实施例提供的一种电子设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本申请的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。A与B连接,可以表示:A与B直接连接和A与B通过C连接这两种情况。另外,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
此外,本申请技术方案中,对数据的采集、传播、使用等,均符合国家相关法律法规要求。
为便于本领域技术人员理解,首先对本申请实施例涉及的部分名词及术语进行简要地阐述、说明,如下所述:
回调接口:指将使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,则该接口变量可以调用被类实现的接口的方法。
示例性的,参阅图1所示,在基于用户空间文件系统(Filesystem in Userspace,FUSE)的网络文件的在线存储服务中,通过用户空间userspace中的网盘客户端app开启的数据读出Readfile,由实时操作系统(如,Keernel32.dll)中的文件系统驱动File SystemDriver控制网盘客户端(如,Winfsp.dll)转发读出网盘数据库(如,Fuse.app)中的文件数据,基于上述方式,操作系统所处进程中的读写回调接口可以通过FUSE的驱动映射,对操作系统的文件读写API进行控制访问,从而达到对在线存储中的网络文件进行读取的目的。
本申请的设计思路如下:
在网络文件的在线存储服务中,目标客户端通常可以基于针对目标文件触发的回调指令,向远端服务器发送针对该网络文件的读取请求,而远端服务器在接收到当前针对网络文件的上述读取请求时,可以基于其中携带的相关定位信息,返回目标客户端所需读取的相关文件内容。
然而,由于实际状况中,针对一个网络文件的读取通常不是一次性完成的,这一状况可能会导致较近时间内,目标客户端向远端服务器所发送的读取请求的次数较多,进而导致远端服务器中的相关进程针对上述网络文件的处理时间可能较长,从而引发目标客户端中的文件读取卡顿。
为解决目标客户端中文件读取卡顿的问题,本申请实施例提供了一种网络文件缓存方法、装置、电子设备及存储介质,通过获取的针对目标文件的回调读取信息,判断本地缓存中是否存在与该回调读取信息关联的目标读取内容,进一步的,在确定缓存存在时,直接从本地缓存中获取上述目标读取内容,否则,将携带回调读取信息的读取请求发送至远端服务器,以便获得并缓存该远端服务器返回的目标读取内容,基于上述方式,本申请实施例能够从本地缓存中,快速读取出与当前获取的回调读取信息关联的目标读取内容,进而有效减少了相关技术中,目标客户端在较近时间内向远端服务器发送的读取请求的次数较多的问题,从而避免了目标客户端中的文件读取卡顿。
另一方面,基于上述方式,可以针对不同的目标文件分别设置待缓存的不同目标读取内容,在目标文件的数据量较多时,可以通过设置的相应数据量的目标读取内容,进一步减少目标客户端需要向远端服务器发送的读取请求的次数,进而在无需缓存所有网络文件的情况下,有效提升了目标客户端中,目标对象对网络文件的读取体验。
进一步的,基于上述技术效果,以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请实施例及实施例中的特征可以相互组合。
参阅图2所示,其为本申请实施例提供的一种可能的应用场景示意图,该应用场景包括:目标终端201和远端服务器202。其中,目标终端201和远端服务器202之间可通过通信网络进行信息交互,所述通信网络采用的通信方式可包括:无线通信方式和有线通信方式。
示例性的,目标终端201可通过蜂窝移动通信技术接入网络,与远端服务器202进行通信,所述蜂窝移动通信技术,包括第五代移动通信(5th Generation MobileNetworks,5G)技术。
可选的,目标终端201可通过短距离无线通信方式接入网络,与远端服务器202进行通信,所述短距离无线通信方式,包括无线保真(Wireless Fidelity,Wi-Fi)技术。
本申请实施例对上述设备的数量不做任何限制,如图1所示,仅以目标终端201和远端服务器202为例进行描述,下面对上述各设备及其各自的功能进行简要介绍。
目标终端201是一种可以向用户提供语音和/或数据连通性的设备,包括:具有无线连接功能的手持式终端设备、车载终端设备等。
示例性的,目标终端201包括但不限于:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(Mobile Internet Device,MID)、可穿戴设备,虚拟现实(Virtual Reality,VR)设备、增强现实(Augmented Reality,AR)设备、工业控制中的无线终端设备、无人驾驶中的无线终端设备、智能电网中的无线终端设备、运输安全中的无线终端设备、智慧城市中的无线终端设备,或智慧家庭中的无线终端设备等。
此外,目标终端201上可以安装有与网络文件的在线存储服务相关的客户端,如,与网盘服务相关的客户端。
示例性的,该客户端可以是软件(例如,APP、浏览器、短视频软件等),也可以是网页、小程序等。可选的,本申请实施例中,目标终端201可以使用上述安装的网盘客户端,向远端服务器202发送携带回调读取信息的读取请求。
进一步的,远端服务器202可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
示例性的,本申请实施例中,远端服务器202可以是存储有目标文件中的指定目标文件内容的物理服务器,该目标文件内容可以在远端服务器202中关联有唯一的读取标识,则当目标终端201向远端服务器202发起携带该读取标识的回调读取信息时,远端服务器202可以向目标终端201返回与之关联的上述目标读取内容。
基于上述应用场景,下面将结合参考附图,对本申请实施例所提供的网络文件缓存进行进一步地阐述、说明,参阅图3所示,包括:
S301:获取针对目标文件的回调读取信息。
具体来讲,上述回调读取信息,可以关联目标文件中的指定目标文件内容,其中,目标文件可以是任意格式下的可读取数据文件,如,压缩文件(Zip、Exe等)、视频文件(Wmv、Mp4等)、文档文件(Doc、Txt等)以及其他类型的数据文件,本申请对此不作限制。
示例性的,本申请实施例中,目标文件可以是记录在目标终端201中的网盘客户端中的任一可读取的视频文件,且为便于读取,该视频文件可以具有唯一的文件标识(如,文件ID、文件编号等),如,0001.mp4。
进一步的,基于上述目标文件的文件标识,目标终端201可以在接收到针对该目标文件的回调指令时,获得针对该目标文件的回调读取信息,具体来讲,在一种可选的实施例中,上述回调读取信息可以采用以下方式获得:
S3011:获取针对目标文件的定位读取信息。
具体来讲,在一种可选的实施例中,可以在目标对象读取目标文件时,基于接收的针对目标文件的回调指令,获取该回调指令携带的,针对目标文件的定位读取信息。
又或者,在另一种可选的实施例中,也可以在目标对象读取目标文件之前,获取相关技术人员基于人为指定的,针对未读取的目标文件的定位读取信息。
为便于理解,以接收到的针对目标文件的回调指令为例进行说明,则在本申请实施例中,将回调指令携带的,针对目标文件的读取偏移量以及读取长度,作为针对目标文件的定位读取信息。
示例性的,本申请实施例中,假设目标终端201中的网盘客户端收到针对上述目标文件0001.mp4的回调指令时,其指示的读取偏移量offset以及读取长度length分别为6MB以及5MB,则基于指示的上述读取偏移量offset以及读取长度length,将其作为针对目标文件0001.mp4的定位读取信息。
S3012:从目标文件关联的至少一个切片文件内容中,获得与定位读取信息匹配的各个目标文件内容。
具体来讲,在一种可选的实施例中,可以基于目标文件的文件数据量以及文件类型,确定针对目标文件的读取分量,并采用该读取分量,对目标文件的文件内容进行划分,获得目标文件关联的各个切片文件内容。
示例性的,实际状况下,相关技术人员可以依据实际的应用场景,设定针对目标文件的内容划分数目,并基于确定的该内容划分数目,对待读取的目标文件的文件数据量进行整除,从而获得针对目标文件的读取分量;在一种可选的实施例中,还可针对指定的特殊文件类型,如,“压缩文件”、“视频文件”等,对应设置此类特殊文件类型下的目标文件所特有的读取分量(如,设置为相应整除结果的两倍),以确保不同文件类型下,针对不同网络文件的合理划分。
为便于理解,本申请实施例中,假设上述目标文件0001.mp4的文件数据量为50MB,且针对该目标文件0001.mp4确定的内容划分数目为10,则基于上述文件数据量对应该内容划分数目的整除结果,以及上述状况中,目标文件0001.mp4所对应“视频文件”的文件类型,相关技术人员可以对应设置目标文件0001.mp4的读取分量,为10MB。
示例性的,在另一种可选的实施例中,为考虑实际状况下,目标对象对目标文件的下载需求,还可以依据目标对象的实际带宽,灵活设置针对目标文件的读取分量。
为便于理解,本申请实施例中,为确保目标对象所选择的目标文件内容的下载速度,还可根据目标对象的实际带宽,设置其相应的读取分量不超过带宽与预设下载时间的乘积数据量,示例性的,也可以设置上述针对目标对象的读取分量不超过预设的分量阈值,进而确保实际场景中,符合上述读取分量的目标文件内容能够满足文件所需的下载速率,进而满足目标对象的文件读取体验。
值得注意的是,上述方式仅为举例说明,实际状况下,本领域技术人员或相关对象也可基于实际的应用场景,针对不同的目标文件,分别设置不同的读取分量以对其进行划分,本申请对此不作限制。进一步的,基于确定的上述读取分量,本申请实施例可以将目标文件的文件内容进行切分,获得目标文件关联的各个切片文件内容,如下表1所示,值得注意的是,上述方式仅为举例说明,实际状况中,可以针对不同的网络文件,分别采用不同的读取分量进行划分,且上述读取分量的计算方法既可在目标终端中进行,也可在与之对应的远端服务器中进行,在此不再赘述。
表1
切片文件内容01 | 0-10MB |
切片文件内容02 | 10-20MB |
切片文件内容03 | 20-30MB |
切片文件内容04 | 30-40MB |
切片文件内容05 | 40-50MB |
可见,采用上述方式,将需读取的目标文件预先切分为相应的至少一个切片文件内容,从而采用获取的定位读取信息,确定其中的各个与定位读取信息匹配的目标文件内容,在满足目标对象针对目标文件的读取需求的同时,仅对其中的部分目标文件内容进行获取,从而进一步减轻了网盘客户端的运行负担,避免了目标文件的读取卡顿。
示例性的,本申请实施例中,采用针对目标文件确定的上述读取偏移量offset以及读取长度length,从上述各个目标文件关联的至少一个切片文件内容中,获取与之相匹配的各个目标文件内容,具体的,以上述确定的读取偏移量:6MB以及读取长度:5MB为例,则确定的相应各个目标文件内容为:{切片文件内容01,切片文件内容02}。
S3013:基于获得的各个目标文件内容,分别确定各个目标文件内容各自在目标文件中的读取序数,并对确定的各个读取序数进行聚合,获得针对目标文件的回调读取信息。
具体来讲,在一种可选的实施例中,可以对当前针对目标文件指示的,相应各个目标文件内容各自的读取序数进行聚合,以便后续过程中,基于携带的各个读取序数以及该目标文件携带的相应文件标识,从本地缓存或远端服务器中快速获取与之对应的各个目标文件内容。
示例性的,本申请实施例中,假设上述确定的各个目标文件内容各自在目标文件中对应的读取序数为01、02,则本申请实施例中,可以将确定的上述两个读取序数进行聚合,获得当前状况下,针对目标文件0001.mp4的回调读取信息,记为0001.mp4-{01,02}。
可见,基于上述方式,本申请实施例可以通过获取的回调读取信息,确定其关联的目标读取内容,包括:{切片文件内容1,切片文件内容2}。
S302:从本地缓存中,判断是否存在回调读取信息关联的目标读取内容,若是,执行S303,否则,执行S304。
进一步的,基于上述获得的回调读取信息,判断当前状况下,本地缓存中是否存在与该回调读取信息关联的目标读取内容。
具体来讲,本申请实施例中,为实现本地缓存中,相应各个切片文件内容的高效管理,可以将本地缓存中的每个切片文件内容,分别赋予一个唯一的切片标识,可选的,上述切片标识是基于相应切片文件内容所对应网络文件的文件标识,以及相应切片文件内容在所对应网络文件中的读取序数确定的。
示例性的,假设本地缓存中,存在一个切片文件内容所对应网络文件的文件标识为:0001.mp4,且该切片文件内容在上述网络文件中的读取序数为:01,则本申请实施例中,基于确定的上述文件标识以及读取序数,确定该切片文件内容的切片标识为:0001.mp4-01。
可见,基于上述方式,在确定获得的回调读取信息与本地缓存中,至少一个切片文件内容的切片标识关联时,可以确定本地缓存中存在与回调读取信息关联的目标读取内容,并基于上述唯一的标识方式,避免了本地缓存中的标识冲突,从而确保了对其中缓存的每个切片文件内容的高效读取。
S303:从本地缓存中,直接获取回调读取信息关联的目标读取内容。
具体来讲,基于上述方式,在确定本地缓存中存在至少一个切片文件内容的切片标识与上述获得的回调读取信息关联时,可以将上述关联的至少一个切片文件内容,作为针对回调读取信息的目标读取内容,并在本地缓存中,对该目标读取内容进行直接获取。
示例性的,假设本地缓存中,存在两个切片文件内容各自的切片标识分别为:0001.mp4-01、0001.mp4-02,则在本申请实施例中,响应于获得的回调读取信息0001.mp4-{01,02},将上述两个切片文件内容作为当前状况下的目标读取内容,并从目标终端201的本地缓存中直接获取上述目标读取内容,在满足对目标文件的读取需求的同时,无需再向远端服务器发起对应的读取请求。
S304:将携带回调读取信息的读取请求发送至远端服务器,并获得远端服务器返回的与回调读取信息关联的目标读取内容。
具体来讲,若实际状况中,本地缓存中的所有切片文件内容的切片标识均未与上述获得的回调读取信息关联,则目标终端201中的网盘客户端还可进一步向远端服务器202发起携带该回调读取信息的读取请求,以便在远端服务器中获得与回调读取信息关联的目标读取内容,进而保障目标对象的文件读取需求。
示例性的,假设目标终端201的本地缓存中,未存在有相应切片标识为0001.mp4-02的切片文件标识,则在本申请实施例中,可以基于获得的回调读取信息0001.mp4-{01,02},获取远端服务器中的相应切片标识为0001.mp4-02的上述切片文件内容,进而满足目标对象对目标文件的读取需求。
进一步的,由于实际状况中,相应读取时间最近的切片文件内容所被再次读取到的可能性更高,因此,本申请实施例中,为确保本地缓存空间的高效利用,参阅图4所示,在上述S304中,在获得远端服务器返回的与回调读取信息关联的目标读取内容之后,还包括:
S401:获取本地缓存的切片缓存数量。
S402:判断切片缓存数量是否超过预设的数量阈值,若是,则执行S403,否则,执行S404。
S403:在本地缓存中,删除相应读取时间满足预设条件的各个切片文件内容,并响应于各个切片文件内容的删除完毕,在本地缓存中存储目标读取内容。
具体来讲,为确保本地缓存中的空间利用率,获取当前状况下,目标终端201所对应本地缓存中的切片缓存数量,从而基于预设的数据阈值,判断是否可以直接存储当前获取到的目标读取内容,其中,上述数据阈值可以基于相关技术人员进行人为指定,也可以根据实际状况下的终端磁盘大小进行对应设置。
示例性的,本申请实施例中,假设当前状况下,本地缓存的切片缓存数量为50,且根据目标终端201的内部磁盘大小,设置的相应数量阈值为50,则在当前状况中,可以直接将相应读取时间最早的指定数目的切片文件内容进行删除。
值得注意的是,上述待删除的各个切片文件内容的指定数目,可以与当前待存储进本地缓存中的目标读取内容中的切片文件内容的数目对应,也可以由本领域技术人员依据实际状况下的业务需求而进行人为指定。
示例性的,假设当前状况中,待存储进本地缓存中的目标读取内容中的切片文件内容的数目为2,即上述提到的切片文件内容1、切片文件内容2,则在S403中,可以将当前本地缓存中,相应读取时间最早的两个切片文件内容进行删除,进而保证上述目标读取内容的顺利存储。
S404:直接在本地缓存中存储目标读取内容。
另一方面,在确定切片缓存数量不超过预设的数量阈值,也可直接将当前从远端服务器中获取到的目标读取内容进行存储。
示例性的,本申请实施例中,假设当前状况下,本地缓存的切片缓存数量为48,且根据目标终端201的内部磁盘大小,设置的相应数量阈值为50,则基于上述方式,可以直接目标读取内容在本地缓存中进行存储,以便后续在指定状况下再次读取时,可以直接从缓存中获取相关的目标读取内容,进而减少目标终端向远端服务器发起的读取请求的次数,避免文件的读取卡顿。
参阅图5所示,为本申请实施例提供的一种网络文件缓存方法的逻辑示意图,在接收到回调指令时,通过获取的针对目标文件的回调读取信息,判断本地缓存中是否存在与该回调读取信息关联的目标读取内容,进一步的,在确定缓存中存在时,直接从本地缓存中获取相关的目标读取内容,否则,将携带回调读取信息的读取请求发送至远端服务器,以便获得并缓存该远端服务器返回的目标读取内容,进一步的,基于设定的数量阈值,判断当前状况下是否可以对获取的目标读取内容在本地缓存中进行直接存储,具体来讲,在确定超过数量阈值时,可以从本地缓存中删除读取时间最早的各个切片文件内容并对目标读取内容进行存储;而在不超过数量阈值时,也可在本地存储中直接对目标读取内容进行存储,基于上述方式,可以在下一次接收到回调指令时,快速读取本地缓存中的目标读取内容,进而有效减少了相关技术中,目标客户端在较近时间内向远端服务器发送的读取请求的次数较多的问题。
另一方面,基于上述方式,可以针对不同的目标文件分别设置待缓存的不同目标读取内容,在目标文件的数据量较多时,可以通过设置的相应数据量的目标读取内容,进一步减少目标客户端需要向远端服务器发送的读取请求的次数,进而在无需缓存所有网络文件的情况下,有效提升了目标客户端中,目标对象对网络文件的读取体验。
进一步地,基于相同的技术构思,本申请实施例还提供了一种网络文件缓存装置,该网络文件缓存装置用以实现本申请实施例的上述方法流程。参阅图6所示,该网络文件缓存装置包括:获取模块601、判断模块602、第一读取模块603以及第二读取模块604,其中:
获取模块601,用于获取针对目标文件的回调读取信息,其中,所述回调读取信息用于关联所述目标文件中的目标读取内容。
判断模块602,用于从本地缓存中,判断是否存在所述回调读取信息关联的所述目标读取内容。
第一读取模块603,用于响应于所述本地缓存中存在所述目标读取内容,从所述本地缓存中,直接获取所述回调读取信息关联的所述目标读取内容。
第二读取模块604,用于响应于所述本地缓存中不存在所述目标读取内容,将携带所述回调读取信息的读取请求发送至远端服务器,并获得所述远端服务器返回的与所述回调读取信息关联的所述目标读取内容。
在一种可选的实施例中,所述获取针对目标文件的回调读取信息,所述获取模块601具体用于:
获取针对目标文件的定位读取信息,其中,所述定位读取信息至少包括:针对所述目标文件的读取偏移量以及读取长度。
从所述目标文件关联的至少一个切片文件内容中,获得与所述定位读取信息匹配的各个目标文件内容。
基于获得的各个目标文件内容,分别确定所述各个目标文件内容各自在所述目标文件中的读取序数,并对确定的各个读取序数进行聚合,获得针对所述目标文件的回调读取信息。
在一种可选的实施例中,所述目标文件关联的至少一个切片文件内容,是采用以下方式获得的:
获取针对所述目标文件确定的读取分量,其中,所述读取分量是基于所述目标文件的文件数据量以及所述目标文件的文件类型获得的。
基于所述读取分量,对所述目标文件的文件内容进行切分,获得所述目标文件关联的至少一个切片文件内容。
在一种可选的实施例中,所述获得所述远端服务器返回的与所述回调读取信息关联的所述目标读取内容之后,所述第二读取模块604还用于:
获取所述本地缓存的切片缓存数量。
判断所述切片缓存数量是否超过预设的数量阈值。
若是,则在所述本地缓存中,删除相应读取时间满足预设条件的各个切片文件内容,并响应于所述各个切片文件内容的删除完毕,在所述本地缓存中存储所述目标读取内容。
否则,直接在所述本地缓存中存储所述目标读取内容。
与上述申请实施例基于同一发明构思,本申请实施例中还提供了一种电子设备,该电子设备可以用于网络文件缓存。在一种实施例中,该电子设备可以是服务器,也可以是终端设备或其他电子设备。在该实施例中,电子设备的结构可以如图7所示,包括存储器701,通讯接口703以及一个或多个处理器702。
存储器701,用于存储处理器702执行的计算机程序。存储器701可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器701可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器701也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器701是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器701可以是上述存储器的组合。
处理器702,可以包括一个或多个中央处理单元(Central Processing Unit,CPU)或者为数字处理单元等。处理器702,用于调用存储器701中存储的计算机程序时实现上述网络文件缓存方法。
通讯接口703用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器701、通讯接口703和处理器702之间的具体连接介质。本申请实施例在图7中以存储器701和处理器702之间通过总线704连接,总线704在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述的一种网络文件缓存方法。
本申请实施例提供了一种网络文件缓存方法、装置、电子设备及存储介质,通过获取的针对目标文件的回调读取信息,判断本地缓存中是否存在与该回调读取信息关联的目标读取内容,进一步的,在确定缓存存在时,直接从本地缓存中获取上述目标读取内容,否则,将携带回调读取信息的读取请求发送至远端服务器,以便获得并缓存该远端服务器返回的目标读取内容,基于上述方式,本申请实施例能够从本地缓存中,快速读取出与当前获取的回调读取信息关联的目标读取内容,进而有效减少了相关技术中,目标客户端在较近时间内向远端服务器发送的读取请求的次数较多的问题,从而避免了目标客户端中的文件读取卡顿。
另一方面,基于上述方式,可以针对不同的目标文件分别设置待缓存的不同目标读取内容,在目标文件的数据量较多时,可以通过设置的相应数据量的目标读取内容,进一步减少目标客户端需要向远端服务器发送的读取请求的次数,进而在无需缓存所有网络文件的情况下,有效提升了目标客户端中,目标对象对网络文件的读取体验。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个服务器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
可使用一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。
在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算装置,或者,可以连接到外部计算装置(例如,利用因特网服务提供商来通过因特网连接)。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种网络文件缓存方法,其特征在于,包括:
获取针对目标文件的回调读取信息,其中,所述回调读取信息用于关联所述目标文件中的目标读取内容;
从本地缓存中,判断是否存在所述回调读取信息关联的所述目标读取内容;
若是,则从所述本地缓存中,直接获取所述回调读取信息关联的所述目标读取内容;
否则,将携带所述回调读取信息的读取请求发送至远端服务器,并获得所述远端服务器返回的与所述回调读取信息关联的所述目标读取内容。
2.如权利要求1所述的方法,其特征在于,所述获取针对目标文件的回调读取信息,包括:
获取针对目标文件的定位读取信息,其中,所述定位读取信息至少包括:针对所述目标文件的读取偏移量以及读取长度;
从所述目标文件关联的至少一个切片文件内容中,获得与所述定位读取信息匹配的各个目标文件内容;
基于获得的各个目标文件内容,分别确定所述各个目标文件内容各自在所述目标文件中的读取序数,并对确定的各个读取序数进行聚合,获得针对所述目标文件的回调读取信息。
3.如权利要求2所述的方法,其特征在于,所述目标文件关联的至少一个切片文件内容,是采用以下方式获得的:
获取针对所述目标文件确定的读取分量,其中,所述读取分量是基于所述目标文件的文件数据量以及所述目标文件的文件类型获得的;
基于所述读取分量,对所述目标文件的文件内容进行切分,获得所述目标文件关联的至少一个切片文件内容。
4.如权利要求1或2所述的方法,其特征在于,所述获得所述远端服务器返回的与所述回调读取信息关联的所述目标读取内容之后,还包括:
获取所述本地缓存的切片缓存数量;
判断所述切片缓存数量是否超过预设的数量阈值;
若是,则在所述本地缓存中,删除相应读取时间满足预设条件的各个切片文件内容,并响应于所述各个切片文件内容的删除完毕,在所述本地缓存中存储所述目标读取内容;
否则,直接在所述本地缓存中存储所述目标读取内容。
5.一种网络文件缓存装置,其特征在于,包括:
获取模块,用于获取针对目标文件的回调读取信息,其中,所述回调读取信息用于关联所述目标文件中的目标读取内容;
判断模块,用于从本地缓存中,判断是否存在所述回调读取信息关联的所述目标读取内容;
第一读取模块,用于响应于所述本地缓存中存在所述目标读取内容,从所述本地缓存中,直接获取所述回调读取信息关联的所述目标读取内容;
第二读取模块,用于响应于所述本地缓存中不存在所述目标读取内容,将携带所述回调读取信息的读取请求发送至远端服务器,并获得所述远端服务器返回的与所述回调读取信息关联的所述目标读取内容。
6.如权利要求5所述的装置,其特征在于,所述获取针对目标文件的回调读取信息,所述获取模块具体用于:
获取针对目标文件的定位读取信息,其中,所述定位读取信息至少包括:针对所述目标文件的读取偏移量以及读取长度;
从所述目标文件关联的至少一个切片文件内容中,获得与所述定位读取信息匹配的各个目标文件内容;
基于获得的各个目标文件内容,分别确定所述各个目标文件内容各自在所述目标文件中的读取序数,并对确定的各个读取序数进行聚合,获得针对所述目标文件的回调读取信息。
7.如权利要求6所述的装置,其特征在于,所述目标文件关联的至少一个切片文件内容,是采用以下方式获得的:
获取针对所述目标文件确定的读取分量,其中,所述读取分量是基于所述目标文件的文件数据量以及所述目标文件的文件类型获得的;
基于所述读取分量,对所述目标文件的文件内容进行切分,获得所述目标文件关联的至少一个切片文件内容。
8.如权利要求5或6所述的装置,其特征在于,所述获得所述远端服务器返回的与所述回调读取信息关联的所述目标读取内容之后,所述第二读取模块还用于:
获取所述本地缓存的切片缓存数量;
判断所述切片缓存数量是否超过预设的数量阈值;
若是,则在所述本地缓存中,删除相应读取时间满足预设条件的各个切片文件内容,并响应于所述各个切片文件内容的删除完毕,在所述本地缓存中存储所述目标读取内容;
否则,直接在所述本地缓存中存储所述目标读取内容。
9.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210895472.2A CN115174679A (zh) | 2022-07-27 | 2022-07-27 | 一种网络文件缓存方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210895472.2A CN115174679A (zh) | 2022-07-27 | 2022-07-27 | 一种网络文件缓存方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115174679A true CN115174679A (zh) | 2022-10-11 |
Family
ID=83496195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210895472.2A Pending CN115174679A (zh) | 2022-07-27 | 2022-07-27 | 一种网络文件缓存方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174679A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110276657A1 (en) * | 2007-12-20 | 2011-11-10 | Chalk Media Service Corp. | Method and system for the delivery of large content assets to a mobile device over a mobile network |
CN104580437A (zh) * | 2014-12-30 | 2015-04-29 | 创新科存储技术(深圳)有限公司 | 一种云存储客户端及其高效数据访问方法 |
US20150229688A1 (en) * | 2013-06-20 | 2015-08-13 | Tencent Technology (Shenzhen) Company Limited | Method and device for playing streaming media, and non-transitory storage medium |
US20160337426A1 (en) * | 2015-05-14 | 2016-11-17 | Hola Networks Ltd. | System and Method for Streaming Content from Multiple Servers |
CN110324681A (zh) * | 2019-07-08 | 2019-10-11 | 广州酷狗计算机科技有限公司 | 多媒体数据的切片方法、装置、存储介质及传输系统 |
CN110602229A (zh) * | 2019-09-20 | 2019-12-20 | 中国银行股份有限公司 | 基于动态切片的终端系统版本下载方法、装置及系统 |
CN113411404A (zh) * | 2021-06-24 | 2021-09-17 | 平安普惠企业管理有限公司 | 一种文件下载方法、装置、服务器及存储介质 |
CN114265818A (zh) * | 2021-12-27 | 2022-04-01 | 完美世界(北京)软件科技发展有限公司 | 文件上传方法、装置、设备及计算机可读介质 |
-
2022
- 2022-07-27 CN CN202210895472.2A patent/CN115174679A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110276657A1 (en) * | 2007-12-20 | 2011-11-10 | Chalk Media Service Corp. | Method and system for the delivery of large content assets to a mobile device over a mobile network |
US20150229688A1 (en) * | 2013-06-20 | 2015-08-13 | Tencent Technology (Shenzhen) Company Limited | Method and device for playing streaming media, and non-transitory storage medium |
CN104580437A (zh) * | 2014-12-30 | 2015-04-29 | 创新科存储技术(深圳)有限公司 | 一种云存储客户端及其高效数据访问方法 |
US20160337426A1 (en) * | 2015-05-14 | 2016-11-17 | Hola Networks Ltd. | System and Method for Streaming Content from Multiple Servers |
CN110324681A (zh) * | 2019-07-08 | 2019-10-11 | 广州酷狗计算机科技有限公司 | 多媒体数据的切片方法、装置、存储介质及传输系统 |
CN110602229A (zh) * | 2019-09-20 | 2019-12-20 | 中国银行股份有限公司 | 基于动态切片的终端系统版本下载方法、装置及系统 |
CN113411404A (zh) * | 2021-06-24 | 2021-09-17 | 平安普惠企业管理有限公司 | 一种文件下载方法、装置、服务器及存储介质 |
CN114265818A (zh) * | 2021-12-27 | 2022-04-01 | 完美世界(北京)软件科技发展有限公司 | 文件上传方法、装置、设备及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110290217B (zh) | 数据请求的处理方法及装置、存储介质及电子装置 | |
CN108924250B (zh) | 基于区块链的业务请求处理方法、装置和计算机设备 | |
CN110557284B (zh) | 基于客户端网关的数据聚合方法及装置 | |
CN107197359B (zh) | 视频文件缓存方法及装置 | |
CN109151070B (zh) | 基于区块链的点对点cdn的服务调度方法、电子装置 | |
CN106817388B (zh) | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 | |
CN110310139B (zh) | 数据投放方法以及数据投放引擎装置 | |
CN112416569A (zh) | 缓存内存调整方法、装置及计算机设备 | |
CN113411404A (zh) | 一种文件下载方法、装置、服务器及存储介质 | |
CN109951514A (zh) | 基于云存储的文件处理方法、系统及计算机设备 | |
CN110704177A (zh) | 计算任务处理方法、装置、计算机设备和存储介质 | |
CN112433920A (zh) | 一种埋点数据上报方法、装置、设备及介质 | |
CN109902103A (zh) | 业务数据管理方法、装置、设备及计算机可读存储介质 | |
CN111061752A (zh) | 数据处理方法、装置及电子设备 | |
CN111885184A (zh) | 高并发场景下热点访问关键字处理方法和装置 | |
CN112600761A (zh) | 一种资源分配的方法、装置及存储介质 | |
CN114281263A (zh) | 容器集群管理系统的存储资源处理方法、系统和设备 | |
CN112422450A (zh) | 计算机设备、服务请求的流量控制方法及装置 | |
CN113992662A (zh) | 文件传输方法、装置及存储介质 | |
CN112650710B (zh) | 数据迁移的发送方法及装置、存储介质、电子装置 | |
CN114006946A (zh) | 同质资源请求的处理方法、装置、设备及存储介质 | |
CN112422604B (zh) | 文件上传方法、装置、系统及计算机设备 | |
CN111245949A (zh) | 文件归档传输方法、装置及设备 | |
CN109862069B (zh) | 消息处理方法和装置 | |
CN115174679A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221011 |