前端文件一致性方法、装置、服务器和存储介质与流程

文档序号:16200377发布日期:2018-12-08 06:33阅读:164来源:国知局
前端文件一致性方法、装置、服务器和存储介质与流程

本发明实施例涉及互联网技术,尤其涉及一种前端文件一致性方法、装置、服务器和存储介质。

背景技术

静态缓存,一般指web类应用中,将图片、js、css、视频、html等静态文件通过磁盘/内存等缓存方式缓存在入口文件,无需再次访问服务器,提高资源响应方式,减少服务器压力或者资源开销的一门缓存技术。

正是因为入口文件一直从缓存中引用静态文件,如果服务器中的静态文件更新后,入口文件将不会引用更新后的静态文件,而依然引用历史静态文件,会导致内容更新不及时。



技术实现要素:

本发明实施例提供一种前端文件一致性方法、装置、服务器和存储介质,以保证入口文件和被引用文件的一致性,自动引用更新后的入口文件和被引用文件,无需手动刷新前端缓存,新的特性和更新能够及时触达用户。

第一方面,本发明实施例提供了一种前端文件一致性方法,包括:

获取入口文件和所述入口文件引用的至少一个被引用文件;

根据各被引用文件的内容,生成各被引用文件的第一特征值;

将各被引用文件的第一特征值添加到所述入口文件的内容中,生成新的入口文件;

根据新的入口文件的内容,生成新的入口文件的第二特征值,并向前端发布新的入口文件,以供前端通过第二特征值调用新的入口文件以及新的入口文件通过第一特征值引用各被引用文件。

第二方面,本发明实施例还提供了一种前端文件一致性装置,该装置包括:

获取模块,用于获取入口文件和所述入口文件引用的至少一个被引用文件;

第一特征值生成模块,用于根据各被引用文件的内容,生成各被引用文件的第一特征值;

文件生成模块,用于将各被引用文件的第一特征值添加到所述入口文件的内容中,生成新的入口文件;

第二特征值生成和发布模块,用于根据新的入口文件的内容,生成新的入口文件的第二特征值,并向前端发布新的入口文件,以供前端通过第二特征值调用新的入口文件以及新的入口文件通过第一特征值引用各被引用文件。

第三方面,本发明实施例还提供了一种服务器,所述服务器包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现任一实施例所述的前端文件一致性方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的前端文件一致性方法。

本实施例的技术方案,通过获取入口文件和入口文件引用的至少一个被引用文件;根据各被引用文件的内容,生成各被引用文件的第一特征值;将各被引用文件的第一特征值添加到入口文件的内容中,生成新的入口文件;根据新的入口文件的内容,生成新的入口文件的第二特征值,从而使得被引用文件更新后,生成新的入口文件和第一特征值,进而入口文件的第二特征值和被引用文件的第一特征值均发生变化,保证入口文件和被引用文件的一致性;通过向前端发布新的入口文件,从而前端在引用新的入口文件时,通过第二特征值自动调用新的入口文件,进而新的入口文件通过第一特征值自动引用更新后的被引用文件,无需手动刷新前端缓存,新的特性和更新能够及时触达用户。

附图说明

图1是本发明实施例一提供的一种前端文件一致性方法的流程图;

图2是本发明实施例二提供的一种前端文件一致性方法的流程图;

图3是本发明实施例三提供的一种前端文件一致性装置的结构示意图;

图4是本发明实施例四提供的一种服务器的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1是本发明实施例一提供的一种前端文件一致性方法的流程图,本实施例可适用于被引用文件更新后,将新的入口文件发布至前端的情况,该方法可以由前端文件一致性装置来执行,该装置可由硬件和/或软件构成,并集成在服务器中。具体包括如下步骤:

s110、获取入口文件和入口文件引用的至少一个被引用文件;

入口文件用于引用被引用文件,前端调用入口文件后,入口文件随即引用被引用文件。被引用文件是前端静态文件,在预设时间内不会被更改。前端第一次接收到被引用文件后,可以将被引用文件缓存在本地入口文件中,在后续应用过程中不再向服务器请求,而是直接从本地引用被引用文件。

本步骤中,获取入口文件以及遍历入口文件所引用的全部被引用文件。

s120、根据各被引用文件的内容,生成各被引用文件的第一特征值。

为了方便描述和区分,被引用文件的特征值称为第一特征值,入口文件的特征值称为第二特征值。

被引用文件的第一特征值是被引用文件的唯一标识,且与自身内容具有一致性。当被引用文件的内容变化后,其第一特征值也会自动变化。可选地,该第一特征值可以是哈希值和/或消息摘要算法第五版(messagedigestalgorithm,md5)值。本实施例中,入口文件通过第一特征值引用各被引用文件。

s130、将各被引用文件的第一特征值添加到入口文件的内容中,生成新的入口文件。

在计算机语言中,入口文件的内容体现为至少一条计算机程序代码,将入口文件中的计算机程序代码和各被引用文件的第一特征值合成一个新的入口文件,即新的入口文件包括原本的计算机程序代码和各被引用文件的第一特征值。如果其中任一被引用文件的第一特征值发生变化,新的入口文件的内容就会自动变化。

s140、根据新的入口文件的内容,生成新的入口文件的第二特征值,并向前端发布新的入口文件,以供前端通过第二特征值调用新的入口文件以及新的入口文件通过第一特征值引用各被引用文件。

新的入口文件的第二特征值可作为新的入口文件的文件名,进一步作为新的入口文件的索引,前端通过第二特征值调用新的入口文件。本实施例中,入口文件的第二特征值是入口文件的唯一标识,且与入口文件具有一致性。当入口文件的内容变化后,其第二特征值也会自动变化。可选地,该第二特征值可以是哈希值和/或md5值。

值得说明的是,在将各被引用文件的第一特征值添加到入口文件的内容中后,可先生成入口文件再生成入口文件的第二特征值;也可以先根据当前内容生成第二特征值,再将当前内容合成为新的入口文件。

在生成新的入口文件和对应的第二特征值后,向前端发布新的入口文件。前端接收到新的入口文件后,通过第二特征值调用新的入口文件,新的入口文件通过第一特征值引用各被引用文件。由于被引用文件更新后,入口文件也会更新,对应的第一特征值和第二特征值也会更新,自动引用更新后的被引用文件,而不会引用到历史被引用文件,无需刷新前端入口文件的缓存,从而在不需手动刷新缓存的情况下,前端能够获取到最新的资源文件,新的特性和更新能够及时触达用户。

本实施例的技术方案,通过获取入口文件和入口文件引用的至少一个被引用文件;根据各被引用文件的内容,生成各被引用文件的第一特征值;将各被引用文件的第一特征值添加到入口文件的内容中,生成新的入口文件;根据新的入口文件的内容,生成新的入口文件的第二特征值,从而使得被引用文件更新后,生成新的入口文件和第一特征值,进而入口文件的第二特征值和被引用文件的第一特征值均发生变化,保证入口文件和被引用文件的一致性;通过向前端发布新的入口文件,从而前端在引用新的入口文件时,通过第二特征值自动调用新的入口文件,进而新的入口文件通过第一特征值自动引用更新后的被引用文件,无需手动刷新前端缓存,新的特性和更新能够及时触达用户。

实施例二

在上述实施例或者下述实施例中,可以对入口文件引用的全部被引用文件进行生成第一特征值的操作,例如在初次编译构建各被引用文件的场景中。在有些场景中,例如存在一历史被引用文件,本次对该历史被引用文件进行更新的场景中,可以对全部被引用文件进行生成第一特征值的操作,也可仅对更新的被引用文件进行生成第一特征值的操作。

本实施例将详细说明在部分被引用文件被更新的场景中前端一致性方法。如图2所示,具体包括以下步骤:

s200、开始。

s210、监测各被引用文件是否更新。如果监测到任一个被引用文件更新,跳转到s220,否则继续监测各被引用文件是否更新。

被引用文件是否更新包括被引用文件的内容添加、删除、变更,以及被引用文件的添加、删除、变更。在本实施例中,通过后台监控线程监测被引用文件是否更新。

后台监控线程具体可指在服务器中加入的监控代码,监控代码具体可为编程语言应用程序自带的编程接口(applicationprogramminginterface,api)。后台监控线程可通过服务器启动时的触发器触发启动,具体可用于监测各被引用文件是否出现更新操作。

s220、获取更新的被引用文件对应的入口文件和入口文件引用的至少一个被引用文件。

例如更新的被引用文件是文件b1,其对应的入口文件是a,入口文件a引用的文件包括b1、b2和b3,则获取入口文件a以及其引用的被引用文件b1、b2和b3。

s230、根据更新的被引用文件的内容,生成更新的被引用文件的第一特征值。

对于未更新的被引用文件,由于内容无变化,采用历史特征值即可,不需要再生成新的特征值。其中,未更新的被引用文件是入口文件引用的被引用文件中除去更新的被引用文件之外的文件。

s240、将更新的被引用文件的第一特征值和未更新的被引用文件的第一特征值添加到入口文件的内容中,生成新的入口文件。

s250、根据新的入口文件的内容,生成新的入口文件的第二特征值,并向前端发布新的入口文件,以供前端通过第二特征值调用新的入口文件以及新的入口文件通过第一特征值引用各被引用文件。

s260、结束本次操作。

本实施例中,通过监测各被引用文件是否更新。如果监测到任一个被引用文件更新,获取更新的被引用文件对应的入口文件和入口文件引用的至少一个被引用文件,从而引入监测机制,自动获知更新的被引用文件并生成第一特征值,无需手动触发生成特征值的操作;通过根据更新的被引用文件的内容,生成更新的被引用文件的特征值,对于未更新的被引用文件,由于内容无变化,采用历史特征值即可,不需要再生成新的特征值,能够有效节省计算机资源,提高更新效率。

在一些实施例中,将各被引用文件的第一特征值添加到入口文件的内容中,生成新的入口文件,包括:在入口文件的内容中设置独立于有效内容的特征值添加区域;将各被引用文件的第一特征值依次添加到特征值添加区域。

其中,入口文件的有效内容指其中的计算机程序代码。特征值添加区域应独立于有效内容,即不对有效内容产生干扰。特征值添加区域例如是代码注释区域。

实施例三

图3是本发明实施例三提供的一种前端文件一致性装置的结构示意图,如图3所示,包括:获取模块31、第一特征值生成模块32、文件生成模块33和第二特征值生成和发布模块34。

获取模块31,用于获取入口文件和入口文件引用的至少一个被引用文件;

第一特征值生成模块32,用于根据各被引用文件的内容,生成各被引用文件的第一特征值;

文件生成模块33,用于将各被引用文件的第一特征值添加到入口文件的内容中,生成新的入口文件;

第二特征值生成和发布模块34,用于根据新的入口文件的内容,生成新的入口文件的第二特征值,并向前端发布新的入口文件,以供前端通过第二特征值调用新的入口文件以及新的入口文件通过第一特征值引用各被引用文件。

本实施例的技术方案,通过获取入口文件和入口文件引用的至少一个被引用文件;根据各被引用文件的内容,生成各被引用文件的第一特征值;将各被引用文件的第一特征值添加到入口文件的内容中,生成新的入口文件;根据新的入口文件的内容,生成新的入口文件的第二特征值,从而使得被引用文件更新后,生成新的入口文件和第一特征值,进而入口文件的第二特征值和被引用文件的第一特征值均发生变化,保证入口文件和被引用文件的一致性;通过向前端发布新的入口文件,从而前端在引用新的入口文件时,通过第二特征值自动调用新的入口文件,进而新的入口文件通过第一特征值自动引用更新后的被引用文件,无需手动刷新前端缓存,新的特性和更新能够及时触达用户。

可选地,获取模块31在获取入口文件和入口文件引用的至少一个被引用文件时,具体用于:监测各被引用文件是否更新;如果监测到任一个被引用文件更新,获取更新的被引用文件对应的入口文件和入口文件引用的至少一个被引用文件。

进一步地,第一特征值生成模块32在根据各被引用文件的内容,生成各被引用文件的第一特征值时,具体用于根据更新的被引用文件的内容,生成更新的被引用文件的第一特征值;文件生成模块33在将各被引用文件的第一特征值添加到入口文件的内容中,生成新的入口文件时,具体用于将更新的被引用文件的第一特征值和未更新的被引用文件的第一特征值添加到入口文件的内容中,生成新的入口文件,其中,未更新的被引用文件是入口文件引用的被引用文件中除去更新的被引用文件之外的文件。

可选地,文件生成模块33在将各被引用文件的第一特征值添加到入口文件的内容中,生成新的入口文件时,具体用于在入口文件的内容中设置独立于有效内容的特征值添加区域;将各被引用文件的第一特征值依次添加到特征值添加区域。

可选地,第一特征值包括:哈希值和/或md5值;第二特征值包括哈希值和/或md5值。

本发明实施例所提供的前端文件一致性装置可执行本发明任意实施例所提供的前端文件一致性方法,具备执行方法相应的功能模块和有益效果。

实施例四

图4是本发明实施例四提供的一种服务器的结构示意图,如图4所示,该服务器包括处理器40、存储器41;服务器中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;服务器中的处理器40、存储器41可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的前端文件一致性方法对应的程序指令/模块(例如,前端文件一致性装置中的获取模块31、第一特征值生成模块32、文件生成模块33和第二特征值生成和发布模块34)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的前端文件一致性方法。

存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实施例五

本发明实施例五还提供一种其上存储有计算机程序的计算机可读存储介质,计算机程序在由计算机处理器执行时用于执行一种前端文件一致性方法,该方法包括:

获取入口文件和入口文件引用的至少一个被引用文件;

根据各被引用文件的内容,生成各被引用文件的第一特征值;

将各被引用文件的第一特征值添加到入口文件的内容中,生成新的入口文件;

根据新的入口文件的内容,生成新的入口文件的第二特征值,并向前端发布新的入口文件,以供前端通过第二特征值调用新的入口文件以及新的入口文件通过第一特征值引用各被引用文件。

当然,本发明实施例所提供的一种其上存储有计算机程序的计算机可读存储介质,其计算机程序不限于如上的方法操作,还可以执行本发明任意实施例所提供的前端文件一致性方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

值得注意的是,上述前端文件一致性装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1