CN111367860A - 文件刷新方法及装置 - Google Patents
文件刷新方法及装置 Download PDFInfo
- Publication number
- CN111367860A CN111367860A CN201811605123.2A CN201811605123A CN111367860A CN 111367860 A CN111367860 A CN 111367860A CN 201811605123 A CN201811605123 A CN 201811605123A CN 111367860 A CN111367860 A CN 111367860A
- Authority
- CN
- China
- Prior art keywords
- file
- source
- refreshing
- refresh
- fragment
- 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 78
- 239000012634 fragment Substances 0.000 claims abstract description 143
- 238000013467 fragmentation Methods 0.000 claims abstract description 55
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 55
- 238000004891 communication Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 abstract description 17
- 230000011218 segmentation Effects 0.000 abstract description 3
- 230000000875 corresponding effect Effects 0.000 description 176
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件刷新方法及装置。其中,该方法包括:针对来自源服务器的源文件执行分片处理,得到源文件对应的各文件分片;将源文件与源文件对应的各文件分片之间的对应关系记录在源文件所对应的分片索引中;当接收到文件刷新请求时,确定与文件刷新请求相对应的源文件;根据与文件刷新请求相对应的源文件所对应的分片索引,针对与文件刷新请求相对应的源文件中的各文件分片执行刷新处理。由此可见,本发明能对源文件进行分片,并在分片过程中记录各文件分片与分片前的源文件间的对应关系,在后续接收到刷新请求后,能根据对应关系,实现针对某个文件分片的刷新处理,无需刷新全部文件,节约了系统开销,提升了刷新效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种文件刷新方法及装置。
背景技术
目前,文件的刷新机制得到了越来越广泛的应用。一方面,受到存储空间大小的制约,一些无用的文件需要通过刷新机制进行淘汰;另一方面,由于很多文件会不定期地执行更新操作,因此,需要通过刷新机制对已过期的、需要更新的文件进行刷新处理。在现有技术中,通常直接针对整个文件执行刷新处理。具体处理时,无论文件大小如何,都需要针对全部文件执行刷新操作。
但是,发明人在实现本发明的过程中发现,现有技术中的上述方式至少存在如下缺陷:现有技术中的刷新方式必须针对整个文件中的全部内容执行,当文件的数据量很大时,刷新操作将占据较长时间,导致系统资源消耗过多且刷新效率低下。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的文件刷新方法及装置。
根据本发明的一个方面,提供了文件刷新方法,包括:
针对来自源服务器的源文件执行分片处理,得到所述源文件对应的各个文件分片;
将所述源文件与所述源文件对应的各个文件分片之间的对应关系记录在所述源文件所对应的分片索引中;
当接收到文件刷新请求时,确定与所述文件刷新请求相对应的源文件;
根据与所述文件刷新请求相对应的源文件所对应的分片索引,针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
根据本发明另一个方面,提供了文件刷新装置,包括:
源文件分片处理模块,适于针对来自源服务器的源文件执行分片处理,得到所述源文件对应的各个文件分片;将所述源文件与所述源文件对应的各个文件分片之间的对应关系记录在所述源文件所对应的分片索引中;
刷新请求模块,适于当接收到文件刷新请求时,确定与所述文件刷新请求相对应的源文件;
刷新处理模块,适于根据与所述文件刷新请求相对应的源文件所对应的分片索引,针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述文件刷新方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述文件刷新方法对应的操作。
在本发明公开的文件刷新方法及装置中,首先,针对来自源服务器的源文件执行分片处理,并将源文件与源文件对应的各个文件分片之间的对应关系记录在源文件所对应的分片索引中;然后,当接收到文件刷新请求时,根据与文件刷新请求相对应的源文件所对应的分片索引,针对与文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。由此可见,在该方式中,能够针对来自源服务器的源文件进行分片,并在分片过程中记录各个文件分片与分片前的源文件之间的对应关系,相应的,在后续接收到刷新请求后,能够根据各个文件分片与分片前的源文件之间的对应关系,实现针对某个文件分片的刷新处理,而无需刷新全部文件,节约了系统开销,提升了刷新效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明一个实施例的文件刷新方法的流程示意图;
图2示出了本发明另一个实施例的文件刷新方法的流程示意图;
图3示出了本发明又一实施例的一种文件刷新装置的装置结构图;
图4示出了根据本发明实施例的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了本发明一个实施例的文件刷新方法的流程示意图。如图1所示,该方法包括:
步骤S110:针对来自源服务器的源文件执行分片处理,得到源文件对应的各个文件分片。
其中,本发明可应用于内容分发网络(Content Delivery Network,CDN)节点、本地存储设备等各类存储设备中,以实现便于访问的优势。存储设备中的数据文件通常是从源服务器拉取的,源服务器用于存储文本、图片、视频、网页等各类文件资源,CDN节点等存储设备按需获取源服务器反馈的源文件。
为了便于存储,在本实施例中,针对来自源服务器的源文件执行分片处理,以得到源文件对应的各个文件分片。具体的分片策略和分片方式可由本领域技术人员灵活设置,只要能够实现将大文件打散为多个小的文件分片的效果即可。
步骤S120:将源文件与源文件对应的各个文件分片之间的对应关系记录在源文件所对应的分片索引中。
其中,存储设备在进行文件分片时,需要记录分片前的源文件与分片后源文件对应的各个文件分片之间的对应关系,将该对应关系记录在源文件所对应的分片索引中。由此可见,每个源文件都具有对应的分片索引,该分片索引用于记录对应的源文件在分片之前以及分片之后的对应关系。关于分片索引的具体实现细节可由本领域技术人员灵活设置,本发明对此不作限定。
步骤S130:当接收到文件刷新请求时,确定与文件刷新请求相对应的源文件。
其中,文件刷新请求可以用于针对完整文件进行刷新,也可以用于针对完整文件中的至少一个文件分片进行刷新,具体取决于文件刷新请求中包含的标识信息。当接收到文件刷新请求后,根据其中包含的标识信息确定与该文件刷新请求相对应的源文件。
步骤S140:根据与文件刷新请求相对应的源文件所对应的分片索引,针对与文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
具体地,由于本实施例中的存储设备将源文件打散为多个文件分片进行存储,因此,无论是需要刷新整个源文件还是需要刷新源文件中的部分文件分片,都需要根据对应的分片索引确定该源文件被打散后所包含的分片数量以及各个分片的存储位置,相应的,根据该源文件被打散后所包含的分片数量以及各个分片的存储位置执行刷新处理。
该方式通过分片索引记录了各个分片文件在分片前以及分片后的对应关系,从而能够快速便捷地查询到一个源文件中包含的各个文件分片,进而便于针对各个文件分片执行刷新处理。
由此可见,在该方式中,能够针对来自源服务器的源文件进行分片,并在分片过程中记录各个文件分片与分片前的源文件之间的对应关系,相应的,在后续接收到刷新请求后,能够根据各个文件分片与分片前的源文件之间的对应关系,实现针对某个文件分片的刷新处理,而无需刷新全部文件,节约了系统开销,提升了刷新效率。
图2示出了本发明另一个实施例的文件刷新方法的流程示意图。在本实施例中,该刷新方法应用于CDN节点,用于实现CDN节点内部的刷新操作。
如图2所示,该方法包括:
步骤S210:确定源服务器返回的包含所述源文件的响应消息的消息类型,根据与所述消息类型相对应的分片处理规则执行分片处理,得到源文件对应的各个文件分片。
其中,CDN节点的工作原理为:当接收到客户端请求时,先查询本节点是否存储有与客户端请求相对应的数据文件,若是,直接根据本节点存储的数据文件提供服务,以实现就近访问的效果;若否,则向源服务器发送与该客户端请求相对应的请求消息,以请求源服务器返回与客户端请求相对应的数据文件。此时,由于与客户端请求相对应的数据文件是从源服务器拉取的,因此,称为源文件。源文件可以为图片、文本、视频、音频等各种类型的资源文件,具体取决于客户端请求的类型,本发明对源文件的具体形式不作限定。凡是从源服务器获取、用以存储在CDN节点本地,以提供加速访问功能的文件均属于源文件。
具体地,源服务器接收到CDN节点的请求消息后,将会返回包含与该请求消息相对应的源文件的响应消息,以供CDN节点根据该响应消息获取源文件。其中,CDN节点根据源服务器返回的响应消息的消息类型,确定与该消息类型相对应的分片处理规则。具体地,响应消息的消息类型包括以下类型中的至少一个:
(1)根据请求中包含的文件字段范围返回预设范围内的文件局部内容的类型。
在该方式中,CDN节点可以在请求消息中携带需要的文件片段的文件字段范围,相应的,源服务器根据请求消息中携带的文件字段范围,返回与该文件字段范围相对应的预设范围内的文件局部内容。例如,假设请求消息中携带的文件字段范围为1-20字节,相应的,源服务器可以直接返回1-20字节范围内的文件局部内容,当然,源服务器返回的文件局部内容所在的预设范围可以等于或大于请求消息中包含的文件字段范围。比如,在上例中,源服务器还可以返回1-50字节范围内的文件局部内容。
相应的,与该消息类型相对应的分片处理规则为:根据源服务器返回的文件局部内容创建文件分片并记录文件分片与源文件的文件标识之间的对应关系。在该方式中,CDN节点只存储有源文件的文件局部内容,因此,需要在其对应的分片索引中记录该文件局部内容位于整个源文件中的位置等信息。另外,随着客户端请求的增多,CDN节点可能再次接收到关于该源文件的其他部分的局部内容,相应的,根据后续接收到的源文件中的文件局部内容更新对应的分片索引,从而逐步完善源文件的内容。其中,后续接收到的源文件中的文件局部内容与之前接收到的源文件中的文件局部内容分别对应于不同的文件位置。
(2)返回文件全部内容的类型。
在该方式中,CDN节点只需在请求消息中携带需要的源文件的文件标识,相应的,源服务器根据请求消息中携带的文件标识返回整个文件。具体返回时,可以采用如下两种方式:一种方式为预先告知整个源文件的文件大小,然后再传输整个源文件,此时,CDN节点可以根据源文件的文件大小预先确定各个文件分片的分片大小,从而根据分片大小进行分片处理。另一种方式为预先不告知整个源文件的文件大小,CDN节点只有在传输结束后才可知晓文件大小,此时,CDN节点既可以按照预设的分片大小,在文件接收过程中动态分片,也可以先将接收到的文件进行缓存,并在整个源文件接收完毕后根据文件大小进行分片。
总之,无论采用何种分片处理规则,都需要在分片过程中动态生成与源文件相对应的分片索引,以记录分片前的源文件信息(如文件标识、文件大小、源文件获取时间、源服务器标识等)以及分片后的各个文件分片的信息(如各个文件分片的大小、分片标识以及分片存储位置、分片存储时间等)。分片前的信息与分片后的信息通过相同的标识信息进行关联存储,以便于查询。
步骤S220:将源文件与源文件对应的各个文件分片之间的对应关系记录在源文件所对应的分片索引中。
其中,存储设备在进行文件分片时,需要记录分片前的源文件与分片后源文件对应的各个文件分片之间的对应关系,将该对应关系记录在源文件所对应的分片索引中。由此可见,每个源文件都具有对应的分片索引,该分片索引用于记录对应的源文件在分片之前以及分片之后的对应关系。
在本实施例中,源文件与源文件对应的各个文件分片之间的对应关系包括:源文件相对应的各个文件分片的存储位置和/或存储时间。具体实施时,各个源文件对应的分片索引可以统一存储在预设的索引表中,以便于查询。另外,当源文件的数据量较大、分片较多时,一个源文件可通过多个分片索引存储对应的分片信息。当源文件的数据量较少,分片较少时,一个分片索引中可存储多个源文件的分片信息。总之,本发明不限定分片索引的具体实现方式,只要能够存储各个源文件分片前后的信息即可。
步骤S230:当接收到文件刷新请求时,确定与文件刷新请求相对应的源文件。
其中,文件刷新请求可以用于针对完整文件进行刷新,也可以用于针对完整文件中的至少一个文件分片进行刷新,具体取决于文件刷新请求中包含的标识信息。
在本实施例中,文件刷新请求中进一步包括:待刷新的文件的文件属性信息。该文件属性信息用于标识待刷新的文件。具体地,文件属性信息包括:文件分片信息、文件位置信息、和/或文件存储时间信息。相应的,根据文件属性信息即可快速确定与文件刷新请求相对应的源文件。具体实施时,无论文件刷新请求是针对于整个源文件的刷新请求,还是针对于至少一个文件分片的刷新请求,都需要预先确定与文件刷新请求相对应的源文件。
步骤S240:根据与文件刷新请求相对应的源文件所对应的分片索引,针对与文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
具体地,首先,根据与文件刷新请求相对应的源文件所对应的分片索引,确定与文件刷新请求相对应的源文件对应的各个文件分片的存储位置和/或存储时间;然后,根据与文件刷新请求相对应的源文件对应的各个文件分片的存储位置和/或存储时间,针对与文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。其中,在针对与文件刷新请求相对应的源文件中的各个文件分片执行刷新处理时,需要根据文件属性信息确定待刷新的各个文件分片,针对待刷新的各个文件分片执行刷新处理。
例如,在文件属性信息中包含两个文件分片的分片编号,相应的,根据分片索引查找与该两个分片编号相对应的分片的存储位置以及存储时间,并根据该两个分片编号相对应的分片的存储位置以及存储时间,获取对应的两个文件分片并执行刷新操作。
另外,该方式能够对CDN节点的预设存储空间内的文件进行刷新。具体地,在针对与文件刷新请求相对应的源文件中的各个文件分片执行刷新处理时,具体针对预设存储空间中存储的与文件刷新请求相对应的源文件中的各个文件分片执行刷新处理;其中,预设存储空间包括:内存空间、缓存空间和/或磁盘空间。由此可见,该方式可以针对CDN节点的内存、缓存和/或磁盘进行刷新操作,具体刷新何种类型的存储空间,可由本领域技术人员根据实际需求灵活设置。
该方式通过分片索引记录了各个分片文件在分片前以及分片后的对应关系,从而能够快速便捷地查询到一个源文件中包含的各个文件分片,进而便于针对各个文件分片执行刷新处理。
步骤S250:本级CDN节点根据刷新处理结果生成第一刷新消息,将第一刷新消息发送给上级CDN节点,以供上级CDN节点判断第一刷新消息中包含的文件是否已刷新,并在判断结果为否时执行与第一刷新消息相对应的刷新处理。
具体地,每当步骤S240执行完毕后,本级CDN节点进一步根据本次执行的刷新处理结果生成第一刷新消息,并将第一刷新消息发送给上级CDN节点。
为了便于理解,先针对CDN系统架构进行简单说明:在CDN系统架构中,为了便于用户就近访问所需内容,提升访问效率,通常会部署多级CDN节点,其中,边缘节点(例如E节点)为较靠近用户侧的节点,边缘节点与其上级节点(例如P节点)相连,以便从上级节点拉取所需内容,并就近提供给用户访问,边缘节点的上级节点还可能进一步与更上级节点相连,以便从更上级节点拉取所需内容。由此可见,CDN系统中包括多级CDN节点,每一级节点分别与其上级节点和/或下级节点相连,节点层级越高,越靠近中心服务器;节点层级越低,越靠近用户终端。通常情况下,各级节点除与本级节点的上级节点和/或下级节点相连之外,每级节点还分别与Web控制台相连,以便根据接收到的来自Web控制台的刷新消息或更新消息进行刷新处理。假设节点1的上级节点为节点2,节点2的上级节点为节点3,节点1、节点2、节点3分别与Web控制台相连,且节点1、节点2、节点3共同构成一条数据链路,同一条数据链路中的各个节点的存储内容应相互一致,以确保访问的正确性。当一条数据链路中的存储内容需要刷新时,通常按照先从上级节点依次刷新至下级节点的顺序实现。例如,Web控制台先向各个上级节点(例如节点3)发送刷新通知,当检测到上级节点中超过预设比例(例如90%甚至100%)的节点都接收到刷新通知后,再向下级节点(例如节点2)发送刷新通知。由于上级节点能够向下级节点同步数据内容,因此,为了防止在上级节点因故延迟刷新的情况下向下级节点错误地同步已被下级节点刷新的数据内容,需要由控制台控制上下级节点收到刷新通知的顺序,以确保上级节点先接收并处理刷新通知,下级节点后接收并处理刷新通知。
发明人在实现本发明的过程中发现,上述方式至少存在如下缺陷:控制台必须准确控制各级节点接收并处理刷新通知的顺序,一旦因传输延时或网络异常等因素导致下级节点比上级节点先收到刷新通知则容易导致数据不一致的问题(上级节点可能会将原本应该刷新的内容再次同步至下级节点,从而导致下级节点刷新失败),由此导致控制台需要持续监测各级节点的刷新完成进度,并确保上级节点先完成刷新操作,由此导致逻辑复杂、开销较大。为了解决上述问题,在本实施例中,每当CDN节点完成一次刷新处理后,由本级CDN节点进一步根据本次执行的刷新处理结果生成第一刷新消息,并将第一刷新消息发送给上级CDN节点。该第一刷新消息是指:本级CDN节点发送至上级CDN节点的刷新消息,用于通知上级CDN节点根据该刷新消息进行刷新。具体地,第一刷新消息中可以包括:待刷新的源文件的文件标识,待刷新的文件分片的分片编号、刷新后的文件的具体内容、刷新任务产生时间、刷新操作在本级CDN节点上的完成时间等相关信息。相应的,当上级CDN节点接收到第一刷新消息后,获取第一刷新消息中包含的待刷新的文件的文件标识,查询该文件标识所对应的文件在本级节点是否执行过刷新操作,具体可根据本级节点上存储的与该文件标识所对应的文件的最新存储时间以及第一刷新消息中包含的刷新任务产生时间、刷新操作在本级CDN节点上的完成时间来判断。例如,当本级节点上存储的与该文件标识所对应的文件的最新存储时间早于第一刷新消息中包含的刷新任务产生时间时,确定该文件标识所对应的文件在该上级节点尚未执行过刷新操作,因此,上级CDN节点根据该第一刷新消息执行刷新处理。若确定出该文件标识所对应的文件在该上级节点已经执行过刷新操作,则该上级CDN节点忽略该第一刷新消息。另外,在上级节点判断该文件标识所对应的文件在本级节点是否执行过刷新操作时,还可以通过比较上级节点中已存储的与该文件标识所对应的数据对象的数据内容与第一刷新消息中包含的刷新后的文件的具体内容是否一致的方式实现,若二者一致,说明已经刷新过,无需处理第一刷新消息;若二者不一致,说明尚未刷新过,需根据第一刷新消息进行刷新。
另外,考虑到每级CDN节点可能同时具备上级节点和下级节点,因此,一个CDN节点除了需要在刷新后向上级节点发送第一刷新消息之外,还需要接收来自下级节点的第二刷新消息。相应的,该方法进一步包括:本级CDN节点接收来自下级CDN节点的第二刷新消息,判断第二刷新消息中包含的文件是否已刷新,并在判断结果为否时执行与第二刷新消息相对应的刷新处理。其中,第二刷新消息是指:接收到的来自下级CDN节点的刷新消息。第二刷新消息以及第一刷新消息的具体内涵以及处理方式类似,此处不再赘述。
通过本步骤,能够确保一条数据链路上的各级CDN节点之间的内容同步,防止因下级CDN节点先收到刷新通知所导致的数据不一致问题。并且,该方式简化了控制台的控制逻辑,提升了数据准确性。
综上可知,通过本发明中的方式,CDN节点能够根据实际业务需求,在获取源文件的过程中动态进行文件分片处理,并且,根据文件分片处理结果,动态构建与该源文件相对应的分片索引。从而在后续接收到文件刷新请求时,结合分片索引准确查找到与该源文件相对应的各个文件分片的存储位置,进而从相应位置处获取到对应的文件分片,从而实现基于文件分片的刷新操作。由于文件分片处理操作以及分片索引的构建操作同步进行,因此,能够确保各个经过分片处理的源文件都能通过分片索引实现分片粒度的刷新操作,既能够使刷新粒度更细,又能够避免因文件分片后不同分片分别处于不同位置所导致的无法查找到全部文件的问题。该方式能够根据实际刷新需求准确刷新对应分片的文件,避免了重复刷新整个文件的弊端,提升了系统效率。
图3示出了本发明又一实施例提供的一种文件刷新装置的装置结构图。
如图3所示,本装置包括:
源文件分片处理模块31,适于针对来自源服务器的源文件执行分片处理,得到所述源文件对应的各个文件分片;将所述源文件与所述源文件对应的各个文件分片之间的对应关系记录在所述源文件所对应的分片索引中;
刷新请求模块32,适于当接收到文件刷新请求时,确定与所述文件刷新请求相对应的源文件;
刷新处理模块33,适于根据与所述文件刷新请求相对应的源文件所对应的分片索引,针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
可选地,所述源文件与所述源文件对应的各个文件分片之间的对应关系包括:所述源文件相对应的各个文件分片的存储位置和/或存储时间;
则所述刷新处理模块具体适于:
根据与所述文件刷新请求相对应的源文件所对应的分片索引,确定与所述文件刷新请求相对应的源文件对应的各个文件分片的存储位置和/或存储时间;
根据所述与所述文件刷新请求相对应的源文件对应的各个文件分片的存储位置和/或存储时间,对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
可选地,所述文件刷新请求中进一步包括:待刷新的文件的文件属性信息;
则所述刷新处理模块具体适于:
根据所述文件属性信息确定待刷新的各个文件分片,针对所述待刷新的各个文件分片执行刷新处理。
可选地,所述文件属性信息包括:文件分片信息、文件位置信息、以及文件存储时间信息。
可选地,所述针对来自源服务器的源文件执行分片处理包括:
确定源服务器返回的包含所述源文件的响应消息的消息类型,根据与所述消息类型相对应的分片处理规则执行分片处理。
可选地,所述响应消息的消息类型包括:根据请求中包含的文件字段范围返回预设范围内的文件局部内容的类型、以及返回文件全部内容的类型。
可选地,所述装置包括CDN节点,且所述刷新处理模块具体适于:
针对预设存储空间中存储的与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理;
其中,所述预设存储空间包括:内存空间、缓存空间和/或磁盘空间。
可选地,所述装置进一步包括:
刷新消息处理模块,适于在所述刷新处理模块针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理之后,由本级CDN节点根据刷新处理结果生成第一刷新消息,将所述第一刷新消息发送给上级CDN节点,以供所述上级CDN节点判断所述第一刷新消息中包含的文件是否已刷新,并在判断结果为否时执行与所述第一刷新消息相对应的刷新处理;和/或,
所述刷新消息处理模块进一步适于:本级CDN节点接收来自下级CDN节点的第二刷新消息,判断所述第二刷新消息中包含的文件是否已刷新,并在判断结果为否时执行与所述第二刷新消息相对应的刷新处理。
上述各个模块的具体结构和工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
本申请实施例提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的文件刷新方法。
图4示出了根据本发明实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述文件刷新方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行上述方法实施例中的各项操作。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的文件刷新装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明还公开了A1.一种文件刷新方法,包括:
针对来自源服务器的源文件执行分片处理,得到所述源文件对应的各个文件分片;
将所述源文件与所述源文件对应的各个文件分片之间的对应关系记录在所述源文件所对应的分片索引中;
当接收到文件刷新请求时,确定与所述文件刷新请求相对应的源文件;
根据与所述文件刷新请求相对应的源文件所对应的分片索引,针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
A2.根据权利要求A1所述的方法,其中,所述源文件与所述源文件对应的各个文件分片之间的对应关系包括:所述源文件相对应的各个文件分片的存储位置和/或存储时间;
则所述根据与所述文件刷新请求相对应的源文件所对应的分片索引,针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理包括:
根据与所述文件刷新请求相对应的源文件所对应的分片索引,确定与所述文件刷新请求相对应的源文件对应的各个文件分片的存储位置和/或存储时间;
根据所述与所述文件刷新请求相对应的源文件对应的各个文件分片的存储位置和/或存储时间,对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
A3.根据权利要求A1或2所述的方法,其中,所述文件刷新请求中进一步包括:待刷新的文件的文件属性信息;
则所述针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理包括:
根据所述文件属性信息确定待刷新的各个文件分片,针对所述待刷新的各个文件分片执行刷新处理。
A4.根据权利要求A3所述的方法,其中,所述文件属性信息包括:文件分片信息、文件位置信息、以及文件存储时间信息。
A5.根据权利要求A1-4任一所述的方法,其中,所述针对来自源服务器的源文件执行分片处理包括:
确定源服务器返回的包含所述源文件的响应消息的消息类型,根据与所述消息类型相对应的分片处理规则执行分片处理。
A6.根据权利要求A5所述的方法,其中,所述响应消息的消息类型包括:根据请求中包含的文件字段范围返回预设范围内的文件局部内容的类型、以及返回文件全部内容的类型。
A7.根据权利要求A1-6任一所述的方法,其中,所述方法应用于CDN节点,且所述针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理包括:
针对预设存储空间中存储的与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理;
其中,所述预设存储空间包括:内存空间、缓存空间和/或磁盘空间。
A8.根据权利要求A7所述的方法,其中,所述针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理之后,进一步包括:本级CDN节点根据刷新处理结果生成第一刷新消息,将所述第一刷新消息发送给上级CDN节点,以供所述上级CDN节点判断所述第一刷新消息中包含的文件是否已刷新,并在判断结果为否时执行与所述第一刷新消息相对应的刷新处理;和/或,
所述方法进一步包括:本级CDN节点接收来自下级CDN节点的第二刷新消息,判断所述第二刷新消息中包含的文件是否已刷新,并在判断结果为否时执行与所述第二刷新消息相对应的刷新处理。
B9.一种文件刷新装置,包括:
源文件分片处理模块,适于针对来自源服务器的源文件执行分片处理,得到所述源文件对应的各个文件分片;将所述源文件与所述源文件对应的各个文件分片之间的对应关系记录在所述源文件所对应的分片索引中;
刷新请求模块,适于当接收到文件刷新请求时,确定与所述文件刷新请求相对应的源文件;
刷新处理模块,适于根据与所述文件刷新请求相对应的源文件所对应的分片索引,针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
B10.根据权利要求B9所述的装置,所述源文件与所述源文件对应的各个文件分片之间的对应关系包括:所述源文件相对应的各个文件分片的存储位置和/或存储时间;
则所述刷新处理模块具体适于:
根据与所述文件刷新请求相对应的源文件所对应的分片索引,确定与所述文件刷新请求相对应的源文件对应的各个文件分片的存储位置和/或存储时间;
根据所述与所述文件刷新请求相对应的源文件对应的各个文件分片的存储位置和/或存储时间,对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
B11.根据权利要求B9或10所述的装置,其中,所述文件刷新请求中进一步包括:待刷新的文件的文件属性信息;
则所述刷新处理模块具体适于:
根据所述文件属性信息确定待刷新的各个文件分片,针对所述待刷新的各个文件分片执行刷新处理。
B12.根据权利要求B11所述的装置,其中,所述文件属性信息包括:文件分片信息、文件位置信息、以及文件存储时间信息。
B13.根据权利要求B9-12任一所述的装置,其中,所述针对来自源服务器的源文件执行分片处理包括:
确定源服务器返回的包含所述源文件的响应消息的消息类型,根据与所述消息类型相对应的分片处理规则执行分片处理。
B14.根据权利要求B13所述的装置,其中,所述响应消息的消息类型包括:根据请求中包含的文件字段范围返回预设范围内的文件局部内容的类型、以及返回文件全部内容的类型。
B15.根据权利要求B9-15任一所述的装置,其中,所述装置包括CDN节点,且所述刷新处理模块具体适于:
针对预设存储空间中存储的与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理;
其中,所述预设存储空间包括:内存空间、缓存空间和/或磁盘空间。
B16.根据权利要求B15所述的装置,其中,所述装置进一步包括:
刷新消息处理模块,适于在所述刷新处理模块针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理之后,由本级CDN节点根据刷新处理结果生成第一刷新消息,将所述第一刷新消息发送给上级CDN节点,以供所述上级CDN节点判断所述第一刷新消息中包含的文件是否已刷新,并在判断结果为否时执行与所述第一刷新消息相对应的刷新处理;和/或,
所述刷新消息处理模块进一步适于:本级CDN节点接收来自下级CDN节点的第二刷新消息,判断所述第二刷新消息中包含的文件是否已刷新,并在判断结果为否时执行与所述第二刷新消息相对应的刷新处理。
C17.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求A1-8中任一项所述的文件刷新方法对应的操作。
D18.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求A1-8中任一项所述的文件刷新方法对应的操作。
Claims (10)
1.一种文件刷新方法,包括:
针对来自源服务器的源文件执行分片处理,得到所述源文件对应的各个文件分片;
将所述源文件与所述源文件对应的各个文件分片之间的对应关系记录在所述源文件所对应的分片索引中;
当接收到文件刷新请求时,确定与所述文件刷新请求相对应的源文件;
根据与所述文件刷新请求相对应的源文件所对应的分片索引,针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
2.根据权利要求1所述的方法,其中,所述源文件与所述源文件对应的各个文件分片之间的对应关系包括:所述源文件相对应的各个文件分片的存储位置和/或存储时间;
则所述根据与所述文件刷新请求相对应的源文件所对应的分片索引,针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理包括:
根据与所述文件刷新请求相对应的源文件所对应的分片索引,确定与所述文件刷新请求相对应的源文件对应的各个文件分片的存储位置和/或存储时间;
根据所述与所述文件刷新请求相对应的源文件对应的各个文件分片的存储位置和/或存储时间,对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
3.根据权利要求1或2所述的方法,其中,所述文件刷新请求中进一步包括:待刷新的文件的文件属性信息;
则所述针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理包括:
根据所述文件属性信息确定待刷新的各个文件分片,针对所述待刷新的各个文件分片执行刷新处理。
4.根据权利要求3所述的方法,其中,所述文件属性信息包括:文件分片信息、文件位置信息、以及文件存储时间信息。
5.根据权利要求1-4任一所述的方法,其中,所述针对来自源服务器的源文件执行分片处理包括:
确定源服务器返回的包含所述源文件的响应消息的消息类型,根据与所述消息类型相对应的分片处理规则执行分片处理。
6.根据权利要求5所述的方法,其中,所述响应消息的消息类型包括:根据请求中包含的文件字段范围返回预设范围内的文件局部内容的类型、以及返回文件全部内容的类型。
7.根据权利要求1-6任一所述的方法,其中,所述方法应用于CDN节点,且所述针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理包括:
针对预设存储空间中存储的与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理;
其中,所述预设存储空间包括:内存空间、缓存空间和/或磁盘空间。
8.一种文件刷新装置,包括:
源文件分片处理模块,适于针对来自源服务器的源文件执行分片处理,得到所述源文件对应的各个文件分片;将所述源文件与所述源文件对应的各个文件分片之间的对应关系记录在所述源文件所对应的分片索引中;
刷新请求模块,适于当接收到文件刷新请求时,确定与所述文件刷新请求相对应的源文件;
刷新处理模块,适于根据与所述文件刷新请求相对应的源文件所对应的分片索引,针对与所述文件刷新请求相对应的源文件中的各个文件分片执行刷新处理。
9.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的文件刷新方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的文件刷新方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811605123.2A CN111367860A (zh) | 2018-12-26 | 2018-12-26 | 文件刷新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811605123.2A CN111367860A (zh) | 2018-12-26 | 2018-12-26 | 文件刷新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111367860A true CN111367860A (zh) | 2020-07-03 |
Family
ID=71209613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811605123.2A Pending CN111367860A (zh) | 2018-12-26 | 2018-12-26 | 文件刷新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367860A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749125A (zh) * | 2021-01-13 | 2021-05-04 | 北京明朝万达科技股份有限公司 | 文本的处理方法及装置、文本的处理系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540726A (zh) * | 2009-04-27 | 2009-09-23 | 华为技术有限公司 | 同步数据的方法、客户端、服务器及系统 |
CN104284202A (zh) * | 2014-10-14 | 2015-01-14 | 无锡云捷科技有限公司 | 一种采用优化式结构的cdn透明传输方法 |
CN104935648A (zh) * | 2015-06-03 | 2015-09-23 | 北京快网科技有限公司 | 一种高性价比的cdn系统及文件预推、分片缓存的方法 |
CN112749197A (zh) * | 2021-01-12 | 2021-05-04 | 中国平安财产保险股份有限公司 | 数据分片刷新方法、装置、设备及存储介质 |
-
2018
- 2018-12-26 CN CN201811605123.2A patent/CN111367860A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101540726A (zh) * | 2009-04-27 | 2009-09-23 | 华为技术有限公司 | 同步数据的方法、客户端、服务器及系统 |
CN104284202A (zh) * | 2014-10-14 | 2015-01-14 | 无锡云捷科技有限公司 | 一种采用优化式结构的cdn透明传输方法 |
CN104935648A (zh) * | 2015-06-03 | 2015-09-23 | 北京快网科技有限公司 | 一种高性价比的cdn系统及文件预推、分片缓存的方法 |
CN112749197A (zh) * | 2021-01-12 | 2021-05-04 | 中国平安财产保险股份有限公司 | 数据分片刷新方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
焦中明、赖晓云: "《现代教育技术技能理论与实践》", 31 March 2007, 北京:中国科学技术出版社, pages: 196 - 197 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749125A (zh) * | 2021-01-13 | 2021-05-04 | 北京明朝万达科技股份有限公司 | 文本的处理方法及装置、文本的处理系统 |
CN112749125B (zh) * | 2021-01-13 | 2024-05-03 | 北京明朝万达科技股份有限公司 | 文本的处理方法及装置、文本的处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108234641B (zh) | 基于分布式一致性协议实现的数据读写方法及装置 | |
CN113766035B (zh) | 一种业务受理及共识的方法及装置 | |
CN109587271B (zh) | 主链平行链架构系统及区块同步方法、设备和存储介质 | |
CN105608159B (zh) | 数据缓存的方法和装置 | |
CN105468718B (zh) | 数据一致性处理方法、装置和系统 | |
CN109388626B (zh) | 用于向业务分配编号的方法和装置 | |
CN103324713B (zh) | 多级服务器中的数据处理方法、装置和数据处理系统 | |
CN113094430B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN105653198A (zh) | 数据处理方法及装置 | |
US20190258534A1 (en) | Message oriented middleware with integrated rules engine | |
CN110968478A (zh) | 日志采集方法、服务器及计算机存储介质 | |
KR20190030728A (ko) | 시스템 콜의 시퀀스를 이용한 이상 검출 | |
CN111371585A (zh) | 用于cdn节点的配置方法及装置 | |
CN112015595A (zh) | 主从数据库的切换方法、计算设备及存储介质 | |
CN107368563B (zh) | 数据库数据的删除方法及装置、电子设备、存储介质 | |
CN107181773A (zh) | 分布式存储系统的数据存储及数据管理方法、设备 | |
CN105592083A (zh) | 终端利用令牌访问服务器的方法和装置 | |
CN106528876B (zh) | 分布式系统的信息处理方法及分布式信息处理系统 | |
CN111708763B (zh) | 分片集群的数据迁移方法、装置和分片集群系统 | |
CN111367921A (zh) | 数据对象的刷新方法及装置 | |
CN111367860A (zh) | 文件刷新方法及装置 | |
CN112035418A (zh) | 多机房同步方法、计算设备及计算机存储介质 | |
CN110765392A (zh) | 数据的加载方法及装置、存储介质、终端 | |
CN110955460A (zh) | 一种服务进程启动方法、装置、电子设备和存储介质 | |
CN108153883B (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 |