资源更新方法及装置、电子设备、存储介质
技术领域
本公开涉及计算机
技术领域
,具体而言,涉及一种资源更新方法、资源更新装置、电子设备以及计算机可读存储介质。背景技术
随着互联网技术的日益成熟,数据缓存和数据分发在网络通信中的地位越来越重要。随之,集数据存储、数据分发、数据负载均衡的内容分发网络在互联网中扮演越来越重要的角色。
然而,在内容分发网络(Content Delivery Network,CDN)相关的资源更新技术方案中,要么在内容分发网络中通过管理系统接口发布更新或删除指令,缓存节点接收到该更新或删除指令后将缓存资源进行删除或替换更新,要么通过更改资源名或更新资源访问路径。其中,前一种资源更新方法需要通过管理系统跨缓存节点、跨互联网数据中心等,将资源更新或删除指令层层发布都所有缓存节点,使得资源更新效率较低,且资源更新的一致性较差;后一种资源更新方法不但资源更新效率较低,资源更新的一致性较差,而且存在缓存空间利用率较低的问题。因此,如何提高资源更新的效率和一致性,以及提高缓存空间的利用率是内容分发网络丞待解决的技术问题。
需要说明的是,在上述
背景技术
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种资源更新方法、资源更新装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服相关资源更新方法存在资源更新效率较低以及资源更新一致性较差的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的第一方面,提供了一种资源更新方法,包括:获取待更新资源的资源定位标识数据,并基于所述资源定位标识数据生成缓存资源标识数据;确定所述待更新资源的生存周期数据,并基于所述缓存资源标识数据和生存周期数据生成与所述待更新资源对应的目标资源标识数据;若检测到存在与所述缓存资源标识数据相同的本地缓存资源标识数据,则对所述目标资源标识数据进行验证处理;若所述目标资源标识数据通过验证,则删除与所述本地缓存资源标识数据对应的待更新资源,并获取与所述目标资源标识数据对应的更新资源以通过所述更新资源更新所述待更新资源。
在本公开的一些示例实施例中,基于前述方案,所述方法还包括:将所述目标资源标识数据发送至业务源站,以通过所述业务源站生成与所述目标资源标识数据和资源定位标识数据对应的更新资源定位标识数据,并发布所述更新资源定位标识数据以实现对所述资源定位标识数据的联动更新。
在本公开的一些示例实施例中,基于前述方案,所述基于所述缓存资源标识数据和生存周期数据生成与所述待更新资源对应的目标资源标识数据,包括:获取与所述待更新资源对应的业务标识数据和资源属性数据;对所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据进行加密处理得到所述目标资源标识数据。
在本公开的一些示例实施例中,基于前述方案,所述若所述目标资源标识数据通过验证,则删除与所述本地缓存资源标识数据对应的待更新资源,包括:生成与所述目标资源标识数据对应的缓存命中表,并通过所述缓存命中表对所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的状态进行记录;在对所述目标资源标识数据进行验证处理时,确定所述目标资源标识数据中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据;若检测到所述目标资源标识数据中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据均为处理成功时,则确定所述目标资源标识数据通过验证,并删除与所述本地缓存资源标识数据对应的待更新资源。
在本公开的一些示例实施例中,基于前述方案,所述若检测到所述目标资源标识数据中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据均为处理成功时,则确定所述目标资源标识数据通过验证,包括:对所述目标资源标识数据进行解密处理得到所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据;获取所述资源定位标识数据对应的目标缓存资源标识数据、目标生存周期数据、目标业务标识数据、目标资源属性数据;若检测到所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据分别和所述目标缓存资源标识数据、目标生存周期数据、目标业务标识数据、目标资源属性数据对应,则确定所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据均为所述处理成功,并确定所述目标资源标识数据通过验证。
在本公开的一些示例实施例中,基于前述方案,所述获取与所述目标资源标识数据对应的更新资源以通过所述更新资源更新所述待更新资源包括:接收与所述更新资源定位标识数据的页面请求;将所述页面请求发送至目标节点,以使所述目标节点合并所述页面请求,并从所述业务源站获取与所述页面请求对应的更新资源,以通过所述更新资源更新所述待更新资源。
在本公开的一些示例实施例中,基于前述方案,所述方法还包括:根据所述缓存命中表中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的更新状态,确定所述待更新资源的更新频率;获取所述待更新资源的更新频率阈值;检测到所述待更新资源的更新频率小于所述更新频率阈值,则删除与所述本地缓存资源标识数据对应的所述待更新资源。
根据本公开实施例的第二方面,提供了一种资源更新装置,包括:数据获取模块,用于获取待更新资源的资源定位标识数据,并基于所述资源定位标识数据生成缓存资源标识数据;数据生成模块,用于确定所述待更新资源的生存周期数据,并基于所述缓存资源标识数据和生存周期数据生成与所述待更新资源对应的目标资源标识数据;数据验证模块,用于若检测到存在与所述缓存资源标识数据相同的本地缓存资源标识数据,则对所述目标资源标识数据进行验证处理;数据更新模块,用于若所述目标资源标识数据通过验证,则删除与所述本地缓存资源标识数据对应的待更新资源,并获取与所述目标资源标识数据对应的更新资源以通过所述更新资源更新所述待更新资源。
在本公开的一些示例实施例中,基于前述方案,所述资源更新装置还包括数据发布模块,所述数据发布模块用于将所述目标资源标识数据发送至业务源站,以通过所述业务源站生成与所述目标资源标识数据和资源定位标识数据对应的更新资源定位标识数据,并发布所述更新资源定位标识数据以实现对所述资源定位标识数据的联动更新。
在本公开的一些示例实施例中,基于前述方案,所述数据生成模块还包括数据生成单元,所述数据生成单元用于获取与所述待更新资源对应的业务标识数据和资源属性数据;对所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据进行加密处理得到所述目标资源标识数据。
在本公开的一些示例实施例中,基于前述方案,所述数据验证模块还包括数据验证单元,所述数据验证单元用于生成与所述目标资源标识数据对应的缓存命中表,并通过所述缓存命中表对所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的状态进行记录;在对所述目标资源标识数据进行验证处理时,确定所述目标资源标识数据中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据;若检测到所述目标资源标识数据中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据均为处理成功时,则确定所述目标资源标识数据通过验证,并删除与所述本地缓存资源标识数据对应的待更新资源。
在本公开的一些示例实施例中,基于前述方案,所述数据验证模块还包括检测单元,所述检测单元用于对所述目标资源标识数据进行解密处理得到所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据;获取所述资源定位标识数据对应的目标缓存资源标识数据、目标生存周期数据、目标业务标识数据、目标资源属性数据;若检测到所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据分别和所述目标缓存资源标识数据、目标生存周期数据、目标业务标识数据、目标资源属性数据对应,则确定所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据均为所述处理成功。
在本公开的一些示例实施例中,基于前述方案,所述数据更新模块还包括数据更新单元,所述数据更新单元用于接收与所述更新资源定位标识数据的页面请求;将所述页面请求发送至目标节点,以使所述目标节点合并所述页面请求,并从所述业务源站获取与所述页面请求对应的更新资源,以通过所述更新资源更新所述待更新资源。
在本公开的一些示例实施例中,基于前述方案,所述资源更新装置还包括数据删除模块,所述数据删除模块用于根据所述缓存命中表中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的更新状态,确定所述待更新资源的更新频率;获取所述待更新资源的更新频率阈值;检测到所述待更新资源的更新频率小于所述更新频率阈值,则删除与所述本地缓存资源标识数据对应的所述待更新资源。
根据本公开实施例的第三方面,提供了一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意一项所述的资源更新方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述任意一项所述的资源更新方法。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开的示例实施例中的资源更新方法,获取待更新资源的资源定位标识数据,并基于资源定位标识数据生成缓存资源标识数据;确定待更新资源的生存周期数据,并基于缓存资源标识数据和生存周期数据生成与待更新资源对应的目标资源标识数据;若检测到存在与缓存资源标识数据相同的本地缓存资源标识数据,则对目标资源标识数据进行验证处理;若目标资源标识数据通过验证,则删除与本地缓存资源标识数据对应的待更新资源,并获取与目标资源标识数据对应的更新资源以通过所述更新资源更新所述待更新资源。一方面,可以通过生成与待更新资源标识数据的资源定位标识数据对应的缓存资源标识数据具,以及目标资源标识数据,各个缓存节点只需要在查询到本地存在与缓存资源标识数据相同的本地缓存资源标识数据时,对目标资源标识数据进行验证处理,若目标资源标识数据验证通过,则直接删除与本地缓存资源标识数据对应的待更新资源标识数据,提高了资源更新的效率;另一方面,各个缓存节点可以同时查询本地是否存在与缓存资源标识数据对应的本地缓存资源标识数据,若存在本地资源缓存标识数据,则可以对目标资源标识数据进行验证处理,并在目标资源标识数据通过验证时删除待更新资源,并获取待更新资源对应的更新资源,提高了资源更新的一致性,避免了因接收到管理系统发布的指令时间不同,导致缓存节点可能再次向客户端返回未更新资源,造成回源流量较大的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本公开的一些实施例的资源更新方法的示意图;
图2示意性示出了根据本公开的一些实施例的目标资源标识数据生成的示意图;
图3示意性示出了根据本公开的一些实施例的目标资源标识数据验证方法的示意图;
图4示意性示出了根据本公开的一些实施例的待更新资源更新方法的示意图;
图5示意性示出了根据本公开的一些实施例的多级缓存节点部署结构示意图;
图6示意性示出了根据本公开的一些实施例的另一资源更新方法的示意图;
图7示意性示出了根据本公开的一些实施例的缓存资源自动清除方法的示意图;
图8示意性示出了根据本公开的一些实施例的资源更新装置的示意图;
图9示意性示出了根据本公开的一些实施例的电子设备的计算机系统的结构示意图;
图10示意性示出了根据本公开的一些实施例的计算机可读存储介质的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
此外,附图仅为示意性图解,并非一定是按比例绘制。附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在本示例实施例中,首先提供了一种资源更新方法,该资源更新方法可以应用于服务器。图1示意性示出了根据本公开的一些实施例的资源更新方法流程的示意图。参考图1所示,该资源更新方法可以包括以下步骤:
步骤S110,获取待更新资源的资源定位标识数据,并基于所述资源定位标识数据生成缓存资源标识数据;
步骤S120,确定所述待更新资源的生存周期数据,并基于所述缓存资源标识数据和生存周期数据生成与所述待更新资源对应的目标资源标识数据;
步骤S130,若检测到存在与所述缓存资源标识数据相同的本地缓存资源标识数据,则对所述目标资源标识数据进行验证处理;
步骤S140,若所述目标资源标识数据通过验证,则删除与所述本地缓存资源标识数据对应的待更新资源,并获取与所述目标资源标识数据对应的更新资源以通过所述更新资源更新所述待更新资源。
根据本示例实施例中的资源更新方法,一方面,可以通过生成与待更新资源标识数据的资源定位标识数据对应的缓存资源标识数据具,以及目标资源标识数据,各个缓存节点只需要在查询到本地存在与缓存资源标识数据相同的本地缓存资源标识数据时,对目标资源标识数据进行验证处理,若目标资源标识数据验证通过,则直接删除与本地缓存资源标识数据对应的待更新资源标识数据,提高了资源更新的效率;另一方面,各个缓存节点可以同时查询本地是否存在与缓存资源标识数据对应的本地缓存资源标识数据,若存在本地资源缓存标识数据,则可以对目标资源标识数据进行验证处理,并在目标资源标识数据通过验证时删除待更新资源,并获取待更新资源对应的更新资源,提高了资源更新的一致性,避免了因接收到管理系统发布的指令时间不同,缓存节点可能再次向客户端返回未更新资源,造成回源流量较大的问题。
下面,将对本示例实施例中的资源更新方法进行进一步的说明。
在步骤S110中,获取待更新资源的资源定位标识数据,并基于所述资源定位标识数据生成缓存资源标识数据。
在本公开的一个示例实施例中,资源定位标识数据可以指用于获取待更新资源的描述信息,例如,资源定位标识数据可以是用于获取待更新资源的字符串如URL(UniformResource Locator,统一定位资源符),即访问待更新资源的网址,当然,资源定位标识数据还可以是其他用于获取待更新资源的描述信息,本例实施例对此不作特殊限定。
缓存资源标识数据可以指在缓存节点中待更新资源的标识数据,例如,缓存资源标识数据可以是在缓存节点中根据待更新资源的URL以及待更新资源对应的业务标识数据生成的待更新资源的标识数据如CDN(Content Delivery Network,内容分发网络)对应的缓存key(键),当然,缓存资源标识数据还可以是在缓存节点中待更新资源的其他标识数据,本例实施例对此不作特殊限定。
可以根据待更新资源的业务标识数据如业务ID以及待更新资源的URL生成与待更新资源对应的缓存资源标识数据,以便于各个缓存节点在查询到存在与缓存资源标识数据相同的本地缓存资源标识数据时,验证与缓存资源标识数据相关的目标资源标识数据,若目标资源标识数据若验证通过,则删除与本地缓存资源标识数据对应的待更新资源,并获取与待更新资源对应的更新资源,实现对待更新资源的高效更新。
在步骤S120中,确定所述待更新资源的生存周期数据,并基于所述缓存资源标识数据和生存周期数据生成与所述待更新资源对应的目标资源标识数据。
在本公开的一个示例实施例中,生存周期数据可以指待更新资源在缓存中的有效时间,例如,生存周期数据可以是基于待更新资源的缓存时间计算得到的时间数据,若待更新资源的缓存时间可以是1天,则待更新资源的生存周期数据可以是在待更新资源的缓存时间基础上多加1天计算得到的时间数据,即待更新资源的生存周期数据可以是2天,当然,生存周期数据还可以是基于待更新资源的缓存时间计算得到的其他时间数据,本例实施例对此不作特殊限定。
目标资源标识数据可以指带有待更新资源的更新信息的标识数据,例如,目标资源标识数据可以是带有待更新资源的生存周期数据的标识数据,目标资源标识数据也可以是带有待更新资源的缓存资源标识数据的标识数据,目标资源标识数据还可以是带有由待更新资源的生存周期数据和缓存资源标识数据,以及业务标识数据等组成的标识数据,本例实施例对此不作特殊限定。
可以通过待更新资源的生存周期数据、业务标识数据、缓存资源标识数据等生成与待更新资源对应的更新标识数据,并通过业务源站将带有待更新资源的更新信息的更新资源定位标识数据发布到外部服务器,以使用户在访问待更新资源时,浏览器解析与待更新资源对应的带有更新信息的URL,进而缓存节点查询是否存在与缓存资源标识数据相同的本地缓存资源标识数据,若存在本地缓存资源标识数据时,删除与本地缓存资源标识数据对应的待更新资源,并从业务源站获取待更新资源对应的更新资源,实现对待更新资源的实时更新。
在步骤S130中,若检测到存在与所述缓存资源标识数据相同的本地缓存资源标识数据,则对所述目标资源标识数据进行验证处理.
在本公开的一个示例实施例中,本地缓存资源标识数据可以指在缓存节点中待更新资源的资源标识数据,例如,本地缓存资源标识数据可以是缓存节点中的缓存key,当然,本地缓存资源标识数据也可以是在缓存节点中待更新资源的其他资源标识数据,本例实施例对此不作特殊限定。
可以通过检测缓存节点中是否存在与缓存资源标识数据相同的本地资源标识数据,若不存在与缓存资源标识数据相同的本地缓存资源标识数据,则直接获取与待更新资源对应的更新资源,实现对待更新资源的更新;若存在与缓存资源标识数据相同的本地缓存资源标识数据,则删除与本地缓存资源标识数据对应的待更新资源,并获取与待更新资源对应的更新资源,实现对待更新资源的更新。
在步骤S140中,若所述目标资源标识数据通过验证,则删除与所述本地缓存资源标识数据对应的待更新资源,并获取与所述目标资源标识数据对应的更新资源以通过所述更新资源更新所述待更新资源。
在本公开的一个示例实施例中,可以将目标资源标识数据中的参数分别于更新后的资源定位标识数据的参数进行比对处理,如将目标资源标识数据的业务标识数据、生存周期数据分别与更新后的资源定位标识数据的业务标识数据、生存周期数据进行匹配,若两者的业务标识数据、生存周期数据均相同,则目标资源标识数据验证通过,即缓存节点中的待更新资源在生存周期数据到达时需要进行更新。
若内容分发网络中只有一级缓存节点时,在目标资源标识数据通过验证时,删除缓存节点中的与本地缓存资源标识数据对应的待更新资源,并从业务源站获取与待更新资源对应的更新资源,实现对待更新资源的更新,同时通过删除缓存节点中的缓存的待更新资源提高缓存空间的利益率。若内容分发网络中存在多级缓存节点时,上一级缓存节点在对目标资源标识数据验证后,若目标资源标识数据通过验证,则将与带有目标资源标识数据的更新资源定位标识数据对应的网页请求发送至下一级缓存节点,以使下一级缓存节点对目标资源标识数据进行验证,同时对与带有目标资源标识数据的更新资源定位标识数据对应的网页请求进行合并,并从业务源站获取与待更新资源对应的更新资源,并将该更新资源发送至上一级缓存节点,通过上一级缓存节点将更新资源反馈至客户端,实现对待更新资源的联动更新,提高待更新资源更新的一致性。
在本公开的一个示例实施例中,可以将目标资源标识数据发送至业务源站,以通过业务源站生成与目标资源标识数据和资源定位标识数据对应的更新资源定位标识数据,并发布更新资源定位标识数据以实现对资源定位标识数据的联动更新。
其中,更新资源定位标识数据可以指更新后的待更新资源的资源定位标识数据,例如,更新资源定位标识数据可以是由带有目标资源标识数据和待更新资源未更新前的资源定位标识数据组成的资源定位标识数据,当然,更新资源定位标识数据还可以是由待更新资源的其他更新消息组成的标识数据,本例实施例对此不作特殊限定。
可以通过业务源站发布待更新资源的更新资源定位标识数据,以使所有缓存节点接收到用户访问该待更新资源的请求时,根据该更新资源定位标识数据生成缓存资源标识数据,以及根据待更新资源的业务标识数据和生存周期数据等生成目标资源标识数据,并查询是否存在与缓存资源标识数据相同的本地缓存资源标识数据,若存在本地缓存资源标识数据,则验证目标资源标识数据,若该目标资源标识数据通过验证,则删除与本地缓存资源标识数据对应的待更新资源,并获取与目标资源标识数据或带有目标资源标识数据的更新资源定位符对应的更新资源,实现对待更新资源的联动更新,提高了待更新资源的更新效率与更新一致性。
图2示意性示出了根据本公开的一些实施例的目标资源标识数据生成方法流程的示意图。参考图2所示,该目标资源标识数据生成方法可以包括以下步骤:
在步骤S210中,获取与所述待更新资源对应的业务标识数据和资源属性数据;
在步骤S220中,对所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据进行加密处理得到所述目标资源标识数据。
其中,资源属性数据可以指待更新资源的特征属性数据,例如,资源属性数据可以是待更新资源的资源大小、资源类型、资源修改时间等特征属性数据,资源属性数据也可以是待更新资源的加密值如MD5(Message-digest algorithm 5,消息摘要算法)值,当然,资源属性数据还可以是其他唯一表示待更新资源的属性数据如资源指纹,本例实施例对此不作特殊限定。
可以根据待更新资源的业务标识数据、缓存资源标识数据、资源属性数据、生存周期数据生成字符串,并使用对称加密密钥对字符串进行加密转换成16进制字符串,进而得到目标资源标识数据,并根据目标资源标识数据以及待更新资源的资源定位标识数据生成更新资源定位标识数据,通过查询缓存节点中是否存在与缓存资源标识数据相同的本地缓存资源标识数据,以及对目标资源标识数据进行验证处理,避免了待更新资源请求被恶意使用或篡改,提高了访问待更新资源的安全性和可靠性。
图3示意性示出了根据本公开的一些实施例的目标资源标识数据验证方法流程的示意图。参考图3所示,该目标资源标识数据验证方法可以包括以下步骤:
在步骤S310中,生成与所述目标资源标识数据对应的缓存命中表,并通过所述缓存命中表对所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的状态进行记录;
在步骤S320中,在对所述目标资源标识数据进行验证处理时,确定所述目标资源标识数据中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据;
在步骤S330中,若检测到所述目标资源标识数据中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据均为处理成功时,则确定所述目标资源标识数据通过验证,并删除与所述本地缓存资源标识数据对应的待更新资源。
其中,缓存名中表可以指用于记录目标资源标识数据的参数处理状态的数据表,例如,缓存命中表可以是记录目标资源标识数据解密状态的数据表,也可以是记录解密后的目标资源标识数据的参数如业务标识数据、资源属性数据、生命周期数据、缓存资源标识数据处理状态的数据表,当然,缓存命中表还可以是记录目标资源标识数据的其他参数的处理状态的数据表,本例实施例对此不作特殊限定。
当前处理状态数据可以指对目标资源标识数据进行验证时各个参数的状态数据,例如,当前处理状态数据可以是根据目标资源标识数据中的各个参数如业务标识数据、资源属性数据、生存周期数据、缓存资源标识数据分别与待更新资源最初的资源定位标识数据对应的各个参数如目标业务标识数据、目标资源属性数、目标生存周期数据、目标缓存资源标识数据的比对结果确定的状态数据,其中,若目标资源标识数据中的各个参数如业务标识数据、资源属性数据、生存周期数据、缓存资源标识数据分别与待更新资源初始的资源定位标识数据的各个参数如目标业务标识数据、目标资源属性数、目标生存周期数据、目标缓存资源标识数据一一对应,则目标资源标识数据中的各个参数的处理状态数据均为处理成功,反之,目标资源标识数据中的各个参数的处理状态数据均为处理失败,当然,当前处理状态数据还可以是对目标资源标识数据进行验证时得到的其他状态数据如目标资源标识数据解密成功或解密失败对应的状态数据,本例实施例对此不作特殊限定。
优选的,在生成目标资源标识数据时,生成与该目标资源标识数据对应的缓存名中表,并将该目标资源标识数据中各个参数如业务标识数据、资源属性数据、缓存资源标识数据、生存周期数据的状态数据进行初始化,即将该目标资源标识数据中各个参数如业务标识数据、资源属性数据、缓存资源标识数据、生存周期数据的状态数据均设置为正在处理状态。在检测到当前资源定位标识数据携带目标资源标识数据时,可以根据待更新资源初始的资源定位标识数据验证目标资源标识数据的唯一性和正确性。具体的,将目标资源标识数据转换成二进制数据,并根据解密密钥对目标资源标识数据进行解密处理得到目标资源标识数据对应的生存周期数据、缓存资源标识数据、资源属性数据、业务标识数据,以及将解密得到的生存周期数据、缓存资源标识数据、资源属性数据、业务标识数据分别与待更新资源初始的资源定位标识数据携带的目标生存周期数据、目标缓存资源标识数据、目标资源属性数据、目标业务标识数据进行比对处理,若解密得到的生存周期数据、缓存资源标识数据、资源属性数据、业务标识数据分别与待更新资源初始的资源定位标识数据携带的目标生存周期数据、目标缓存资源标识数据、目标资源属性数据、目标业务标识数据一一对应,则目标资源标识数据中各个参数的当前状态数据均为处理成功。
同时,检测目标资源标识数据中生存周期数据是否大于当前时间,若检测到目标资源标识数据中生存周期数据大于当前时间,则不需要对待更新资源进行更新处理;相反,若检测到目标资源标识数据中生存周期数据小于或等于当前时间,则获取与待更新资源对应的更新资源,以通过该更新资源更新该待更新资源,实现对该待更新资源的更新。此外,可以设置缓存命中表的缓存容量阈值,如果缓存命中表的缓存容量等于或大于缓存容量阈值,可以考虑优先删除处理失败的缓存数据,其次删除客户端最近最少访问的缓存资源内,以减少内存占用,进而提高数据传输效率。
在本公开的一个实例实施例中,可以对所述目标资源标识数据进行解密处理得到所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据,并获取所述资源定位标识数据对应的目标缓存资源标识数据、目标生存周期数据、目标业务标识数据、目标资源属性数据;若检测到所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据分别和所述目标缓存资源标识数据、目标生存周期数据、目标业务标识数据、目标资源属性数据对应,则确定所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据均为所述处理成功,并确定所述目标资源标识数据通过验证。
其中,目标缓存资源标识数据可以指与待更新初始的资源定位标识数据对应的缓存资源标识数据;目标生存周期数据与待更新资源初始的资源定位标识数据对应的生存周期数据;目标业务标识数据可以指与待更新初始的资源定位标识数据对应的业务标识数据;目标资源属性数据可以指与待更新初始的资源定位标识数据对应的资源属性数据。
可以在检测到缓存节点中存在与缓存资源标识数据相同的本地缓存资源标识数据后,检测当前资源定位标识数据是否是携带目标资源标识数据的资源定位标识数据,若检测到当前资源定位标识数据中携带目标资源标识数据,则对该目标资源标识数据进行验证;在目标资源标识数据验证通过时,将与本地缓存资源标识数据对应的待更新资源(缓存资源)进行删除,并获取与待更新资源对应的更新资源。若检测到当前资源定位标识数据中不携带目标资源标识数据,则不需要删除与本地缓存资源标识数据对应的待更新资源,直接将待更新直接返回至客户端。其中,目标资源标识数据的验证通过与否是根据目标资源标识数据中的业务标识数据、资源属性数据、缓存资源标识数据、生存周期数据是否分别与待更新资源初始的资源定位标识数据对应的目标业务标识数据、目标资源属性数据、目标缓存资源标识数据、目标生存周期数据一一对应确定的。若目标资源标识数据中的业务标识数据、资源属性数据、缓存资源标识数据、生存周期数据是否分别与待更新资源初始的资源定位标识数据对应的目标业务标识数据、目标资源属性数据、目标缓存资源标识数据、目标生存周期数据一一对应,则目标资源标识数据通过验证,说明需要更新缓存节点中缓存的待更新资源。若目标资源标识数据未通过验证,则向客户端返回访问存在异常如403错误等网络访问出错信息,避免了用户长时间等待页面数据。
图4示意性示出了根据本公开的一些实施例的待更新资源更新方法流程的示意图。参考图4所示,该待更新资源更新方法可以包括以下步骤:
在步骤S410中,接收与所述更新资源定位标识数据的页面请求;
在步骤S420中,将所述页面请求发送至目标节点,以使所述目标节点合并所述页面请求,并从所述业务源站获取与所述页面请求对应的更新资源,以通过所述更新资源更新所述待更新资源。
其中,目标节点可以指内容分发网络中调度更新资源的缓存节点,例如,目标节点可以是内容分发网络中与客户端距离较近的缓存节点,目标节点也可以是与业务源站距离较近的缓存节点,当然,目标节点还可以是在客户端和业务源站之间的其他缓存节点,本例实施例对此不作特殊限定。
优选的,在接收到客户端发送的页面请求时,若检测到不存在与缓存资源标识数据相同的本地缓存资源标识数据,则可以将页面请求发送至目标节点,以使目标节点拉取与该页面请求对应的更新资源,并验证与更新资源对应的目标资源标识数据的合法性。若目标资源标识数据通过验证,则目标节点合并客户端发送的页面请求,只需要从业务源站获取一次更新资源,并将更新资源返回至原缓存节点,减少了原缓存节点对业务源站的回源请求量,也提高了客户端获取更新资源的速度。
在检测到存在与缓存资源标识数据相同的本地资源标识数据,且目标资源标识数据通过验证后,可以将与页面请求发送至目标节点,以使目标节点拉取与页面请求对应的更新资源。同时,目标节点根据页面请求对应的资源定位标识数据查询是否存在与缓存资源标识数据相同的本地缓存资源标识数据,若存在与缓存资源标识数据相同的本地缓存资源标识数据,则删除与本地缓存资源标识数据对应的缓存资源(待更新资源),并合并接收的页面请求,以从业务源站获取一次更新资源,并将更新资源返回至上级缓存节点,减少页面请求的回源请求量,节约网络资源。
图5示意性示出了根据本公开的一些实施例的多级缓存节点部署结构的示意图。参考图5所示,该多级缓存节点部署结构图500,主要包括第一区域客户端510,多级缓存节点第一区域520,第二区域客户端530,多级缓存节点第二区域540,业务源站550;其中,多级缓存节点第一区域520中包括CDN缓存子节点521、CDN缓存子节点522、和CDN二级缓存节点523,多级缓存节点第二区域540中包括CDN缓存子节点541、CDN缓存子节点542、CDN二级缓存节点543;同时,CDN缓存子节点522中包含目标资源标识数据验证模块511和资源删除模块512,CDN缓存子节点523中包含目标资源标识数据验证模块513和资源删除模块514,CDN二级缓存节点524包括目标资源标识数据验证模块515和资源删除模块516;CDN缓存子节点541中包含目标资源标识数据验证模块531和资源删除模块532,CDN缓存子节点542中包含目标资源标识数据验证模块533和资源删除模块534,CDN二级缓存节点543包括目标资源标识数据验证模块535和资源删除模块536。
其中,当CDN缓存子节点对目标资源标识数据验证后,若目标资源标识数据验证通过,则删除与本地缓存资源标识数据对应的待更新资源(缓存资源),并将与携带目标资源标识数据的更新资源定位标识数据对应的页面请求发送至CDN二级缓存节点,以使CDN二级缓存节点对CDN缓存子节点的页面请求进行合并,并从业务源站获取与页面请求对应的更新资源,以及将更新资源返回至各CDN缓存子节点,减少了CDN缓存子节点的回源请求量。例如,若CDN缓存子节点541和CDN缓存子节点542中目标资源标识数据均验证通过,则CDN缓存子节点541和CDN缓存子节点542可以将页面请求发送至CDN二级缓存节点543,CDN二级缓存节点543对CDN缓存子节点541和CDN缓存子节点542发送的页面请求进行合并,合并页面请求后只需要向业务源站550发送一次页面请求,再将请求得到的更新资源返回至CDN缓存子节点541和CDN缓存子节点542,以通过CDN缓存子节点541和CDN缓存子节点542将更新资源返回至客户端,避免了业务源站分别接收CDN缓存子节点541和CDN缓存子节点542的页面请求,减少了回源请求量,也减少了业务源站响应各缓存节点的负担。
同时,若CDN缓存子节点没有与缓存资源标识数据相同的本地缓存资源标识数据,则直接将页面请求发送至CDN二级缓存节点,以使CDN二级缓存节点拉取与该页面请求对应的更新资源,并验证与更新资源对应的目标资源标识数据的合法性。若目标资源标识数据通过验证,则CDN二级缓存节点合并CDN缓存子节点发送的页面请求,只需要从业务源站获取一次更新资源,并将更新资源返回至CDN缓存子节点,减少了原缓存节点对业务源站的回源请求量,也提高了客户端获取更新资源的速度。
图6示意性示出了根据本公开的一些实施例的另一资源更新方法流程的示意图。参考图6所示,该资源更新方法可以包括以下步骤:
在步骤S601中,获取待更新资源的资源定位标识数据,并基于该资源定位标识数据生成缓存资源标识数据;
在步骤S602中,获取与该待更新资源对应的业务标识数据、生存周期数据、资源属性数据,并对该缓存资源标识数据、业务标识数据、生存周期数据、资源属性数据进行加密生成目标资源标识数据;
在步骤S603中,将该目标资源标识数据发送至业务源站,以使该业务源站根据该资源定位标识数据和目标资源标识数据生成更新资源定位标识数据,并将该更新资源定位标识数据发送至外网服务器;
在步骤S604中,接收客户端发送的页面请求;
在步骤S605中,查找是否存在与该缓存资源标识数据相同的本地缓存资源标识数据,若存在与该缓存资源标识数据相同的本地缓存资源标识数据,则跳转至步骤S606,否则跳转至步骤S609;
在步骤S606中,检测本地缓存节点接收的页面请求的资源定位标识数据是否携带目标资源标识数据,若本地缓存节点接收的页面请求的资源定位标识数据携带目标资源标识数据,则跳转至步骤S607,否则跳转至步骤S615;
在步骤S607中,对页面请求的资源定位标识数据中携带的该目标资源标识数据进行解密,并对解密得到的该目标资源标识数据的参数进行验证;
在步骤S608中,检测该目标资源标识数据的参数是否均通过验证,若该目标资源标识数据的参数均通过验证,则跳转至步骤S609,否则跳转至步骤S608;
在步骤S609中,将与本地缓存资源标识数据对应的待更新资源(缓存资源)进行删除;
在步骤S610中,将客户端发送的页面请求发送至目标节点,以使该目标节点拉取与该页面请求对应的更新资源;
在步骤S611中,向客户端返回403,以及用户访问存在异常的信息;
在步骤S612中,通过目标节点二次验证与该页面请求对应的资源定位标识数据中的目标资源标识数据;
在步骤S613中,二次检测目标资源标识数据是否通过验证,若该目标资源标识验证通过,则跳转至步骤S614,否则跳转至步骤S615;
在步骤S614中,合并相同的页面请求,并将该更新资源返回至各本地缓存节点,以实现对更新资源的填充;
在步骤S615中,将本地缓存节点的缓存资源返回至客户端。
其中,本地缓存节点可以指与客户端直接相连的缓存节点;本地缓存节点的缓存资源可以是以前缓存的待更新资源,也可以是缓存的与待更新资源对应的更新资源;具体的,若本地缓存节点中存在与缓存资源标识数据对应的本地缓存资源标识数据,则检测与页面请求对应的资源定位标识数据是否携带目标资源标识数据,若与页面请求对应的资源定位标识数据携带目标资源标识数据,则将本地缓存节点中缓存的待更新资源进行删除,并接收目标节点从业务源站拉取的更新资源,即本地缓存节点的缓存资源是对待更新资源更新后的更新资源;若与页面请求对应的资源定位标识数据未携带目标资源标识数据,则获取本地缓存节点中以前缓存的待更新资源,并将该待更新资源返回至客户端,即不需要对待更新资源进行更新;相反,若本地缓存节点中不存在与缓存资源标识数据对应的本地缓存资源标识数据,则通过目标节点拉取与待更新资源对应的更新资源,并将该更新资源返回至客户端。
优选的,通过对目标资源标识数据进行解密,并验证解密后的目标资源标识数据中的参数如缓存资源标识数据、业务标识数据、资源属性数据、生存周期数据的安全性和合法性,避免了资源更新的请求不被恶意使用和篡改。同时,通过目标节点对相同页面请求进行合并,避免了多个本地缓存节点分别向业务源站发送页面请求,进而减少了回源请求量,提高了用户访问页面数据的效率。此外,通过本地缓存节点和目标节点对目标资源标识数据进行验证,若目标资源标识数据通过验证,则删除本地缓存节点以及目标节点中缓存的待更新资源,并获取与待更新资源对应的更新资源,实现了待更新资源的联动更新,也提高了本地缓存节点以及目标节点的缓存空间利用率。
图7示意性示出了根据本公开的一些实施例的缓存资源自动清除方法流程的示意图。参考图7所示,该缓存资源自动清除方法可以包括以下步骤:
在步骤S710中,根据所述缓存命中表中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的更新状态,确定所述待更新资源的更新频率;
在步骤S720中,获取所述待更新资源的更新频率阈值;
在步骤S730中,若检测到所述待更新资源的更新频率小于所述更新频率阈值,则删除与所述本地缓存资源标识数据对应的所述待更新资源。
其中,更新频率阈值可以指预设的用于检测资源是否是用户不常访问的过期资源的指标数据,例如,更新频率阈值可以是1times/month,即在一个月内资源更新的最少更新1次,当检测到资源的更新频率小于该更新频率阈值时,可以将该资源作为过期资源,并自动清除缓存节点中缓存的该资源,以提高缓存空间利用率。
可以根据缓存命中表中缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的初始状态或当前状态的更新次数,确定与缓存命中表对应的待更新资源的更新频率。在检测到该更新频率小于预设的更新频率阈值时,可以将待更新资源作为过期资源,缓存节点可以自动删除缓存空间中缓存的待更新资源,以提高缓存空间的利用率。
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
此外,在本示例实施例中,还提供了一种资源更新装置。参照图8所示,该资源更新装置800包括:数据获取模块810、数据生成模块820、数据验证模块830、数据更新模块840。其中:数据获取模块810,用于获取待更新资源的资源定位标识数据,并基于所述资源定位标识数据生成缓存资源标识数据;数据生成模块820,用于确定所述待更新资源的生存周期数据,并基于所述缓存资源标识数据和生存周期数据生成与所述待更新资源对应的目标资源标识数据;数据验证模块830,用于若检测到存在与所述缓存资源标识数据相同的本地缓存资源标识数据,则对所述目标资源标识数据进行验证处理;数据更新模块840,用于若所述目标资源标识数据通过验证,则删除与所述本地缓存资源标识数据对应的待更新资源,并获取与所述目标资源标识数据对应的更新资源以通过所述更新资源更新所述待更新资源。
在本公开的一些示例实施例中,基于前述方案,所述资源更新装置800还包括数据发布模块,所述数据发布模块用于将所述目标资源标识数据发送至业务源站,以通过所述业务源站生成与所述目标资源标识数据和资源定位标识数据对应的更新资源定位标识数据,并发布所述更新资源定位标识数据以实现对所述资源定位标识数据的联动更新。
在本公开的一些示例实施例中,基于前述方案,所述数据生成模块820还包括数据生成单元,所述数据生成单元用于获取与所述待更新资源对应的业务标识数据和资源属性数据;对所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据进行加密处理得到所述目标资源标识数据。
在本公开的一些示例实施例中,基于前述方案,所述数据验证模块820还包括数据验证单元,所述数据验证单元用于生成与所述目标资源标识数据对应的缓存命中表,并通过所述缓存命中表对所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的状态进行记录;在对所述目标资源标识数据进行验证处理时,确定所述目标资源标识数据中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据;若检测到所述目标资源标识数据中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据均为处理成功时,则确定所述目标资源标识数据通过验证,并删除与所述本地缓存资源标识数据对应的待更新资源。
在本公开的一些示例实施例中,基于前述方案,所述数据验证模块820还包括检测单元,所述检测单元用于对所述目标资源标识数据进行解密处理得到所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据;获取所述资源定位标识数据对应的目标缓存资源标识数据、目标生存周期数据、目标业务标识数据、目标资源属性数据;若检测到所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据分别和所述目标缓存资源标识数据、目标生存周期数据、目标业务标识数据、目标资源属性数据对应,则确定所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的当前处理状态数据均为所述处理成功,并确定所述目标资源标识数据通过验证。
在本公开的一些示例实施例中,基于前述方案,所述数据更新模块840还包括数据更新单元,所述数据更新单元用于若接收与所述更新资源定位标识数据的页面请求;将所述页面请求发送至目标节点,以使所述目标节点合并所述页面请求,并从所述业务源站获取与所述页面请求对应的更新资源,以通过所述更新资源替换所述待更新资源,实现对所述待更新资源的更新。
在本公开的一些示例实施例中,基于前述方案,所述资源更新装置800还包括数据删除模块,所述数据删除模块用于根据所述缓存命中表中所述缓存资源标识数据、生存周期数据、业务标识数据、资源属性数据的更新状态,确定所述待更新资源的更新频率;获取所述待更新资源的更新频率阈值;检测到所述待更新资源的更新频率小于所述更新频率阈值,则删除与所述本地缓存资源标识数据对应的所述待更新资源。
上述中资源更新装置各模块的具体细节已经在对应的资源更新方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了资源更新装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述资源更新方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
下面参照图9来描述根据本公开的这种实施例的电子设备900。图9所示的电子设备900仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930、显示单元940。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得所述处理单元910执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。例如,所述处理单元910可以执行如图1中所示的步骤S110,获取待更新资源的资源定位标识数据,并基于所述资源定位标识数据生成缓存资源标识数据;步骤S120,确定所述待更新资源的生存周期数据,并基于所述缓存资源标识数据和生存周期数据生成与所述待更新资源对应的目标资源标识数据;步骤S130,若检测到存在与所述缓存资源标识数据相同的本地缓存资源标识数据,则对所述目标资源标识数据进行验证处理;步骤S140,若所述目标资源标识数据通过验证,则删除与所述本地缓存资源标识数据对应的待更新资源,并获取与所述目标资源标识数据对应的更新资源以通过所述更新资源更新所述待更新资源。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)921和/或高速缓存存储单元922,还可以进一步包括只读存储单元(ROM)923。
存储单元920还可以包括具有一组(至少一个)程序模块925的程序/实用工具924,这样的程序模块925包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备970(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
参考图10所示,描述了根据本公开的实施例的用于实现上述资源更新方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施例的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。