一种基于网址解析的文件查找方法及系统与流程

文档序号:12786518阅读:132来源:国知局

本发明涉及互联网中的网址解析领域,具体涉及一种基于网址解析的文件查找方法及系统。



背景技术:

用户通过客户端(例如电脑、手机等)进行上网时,会向服务端发送网址,服务端对网址进行解析、在MVC框架中查找对应的文件后,向客户端返回查找的文件。

MVC框架包括M层(Mode层,数据层)、V层(View层,显示层)和C层(Controller层,控制层):

M层用于:在服务端中处理数据库的数据;

V层用于:在服务端中提供页面布局;

C层用于:在服务端中将M层获取的数据绑定至V层,从而生成一个有数据有布局的结果页面。

但是,由于软件开发规范的问题,例如node.js(Javascript运行环境)没有面向对象(软件开发的方法)的机制,因此储存于服务端的网址解析文件分布的比较杂乱,进而使得服务端在MVC框架中查找文件的耗时较长,工作效率较低。



技术实现要素:

针对现有技术中存在的缺陷,本发明解决的技术问题为:对网址进行解析后,如何快速查找解析后需要的文件。

为达到以上目的,本发明提供一种基于网址解析的文件查找方法,包括以下步骤:

步骤A:服务端分别对每种类型的查找文件制定总目录、总目录下的子目录、以及子目录下的查找文件,查找文件名包括服务端ID和类型标识,转到步骤B;

步骤B:服务端收到客户端发送的网址后,解析网址中的访问路径,得到子目录标识和服务端ID,子目录标识与步骤A中的子目录相关联,转到步骤C;

步骤C:服务端根据需要加载的查找文件的总目录、所述子目录标识、所述服务端ID、以及需要加载的查找文件的文件名的类型标识,得到需要加载的查找文件地址;服务端根据查找文件地址加载查找文件。

本发明还提供一种基于网址解析的文件查找系统,该系统包括位于服务端的目录制定模块、网址解析模块和查找文件加载模块;

目录制定模块用于:分别对每种类型的查找文件制定总目录、总目录下的子目录、以及子目录下的查找文件,查找文件名包括服务端ID和类型标识;

网址解析模块用于:当服务端收到客户端发送的网址后,解析网址中的访问路径,得到子目录标识和服务端ID,子目录标识与目录指定模块中的子目录相关联,向查找文件加载模块发送查找文件加载信号;

查找文件加载模块用于:收到查找文件加载信号后,根据需要加载的查找文件的总目录、所述子目录标识、所述服务端ID、以及需要加载的查找文件的文件名的类型标识,得到需要加载的查找文件地址;根据查找文件地址加载查找文件。

与现有技术相比,本发明的优点在于:

与现有技术中的分布比较杂乱的网址解析文件相比,参见步骤A可知,本发明分别对M层、V层和C层制定相应的目录和文件名,进而将相关联的文件存放于同一目录,即对文件进行了归类和整理。因此,参见步骤B和步骤C可知,本发明对网址进行解析后,在已归类的目录中查找文件的耗时,远低于现有技术中在分布杂乱的网址解析文件中查找指定文件的时长,显著提高了查找文件的工作效率,非常适于推广。

附图说明

图1为本发明实施例中基于网址解析的文件查找方法的流程图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例中的基于网址解析的文件查找方法,包括以下步骤:

S1:服务端分别对每种类型的查找文件制定总目录、总目录下的子目录、以及子目录下的查找文件,转到S2。

S1中的查找文件的类型包括C层、V层和M层,每种类型具体的目录和文件名为:

____项目目录

|____controllers目录(C层总目录)

||____index目录(C层子目录,数量至少为1个)

||____Controller.js(C层子目录下处理具体业务的C层文件,C层文件名包括服务端ID和类型标识Controller.js,例如服务端的控制器ID为index,则C层文件名为IndexController.js,C层文件名首字母大写是为了显示该文件为处理文件)

|

|____views目录(V层总目录)

||____index目录(与C层子目录一一对应的V层子目录,即每个V层子目录与对应的C层子目录的名相同)

||____.html(V层子目录下提供页面布局的V层文件,V层文件名包括服务端ID和类型标识.html,V层文件的首字母小写,以便标识该文件为显示文件)

|

|____models目录(M层总目录)

||____index目录(与C层子目录一一对应的M层子目录)

||____Model.js(M层子目录下处理具体数据库数据的M层文件,M层文件的文件名包括服务端ID和类型标识Model.js,M层文件的首字母大写,以便标识该文件为处理文件)

|

S1中M层文件、V层文件和C层文件的文件内容以面向对象的方式书写,每个文件有一个类(class,面向对象编程中的一个模块,是对某一功能的抽象封装),具体格式为:

class XxxController{....todo}

module.exports=XxxController;

或者

class XxxModel{...todo}

module.exports=XxxModel;

上述格式中“Xxx”代表具体的文件名。

S2:服务端收到客户端发送的网址后,解析网址中的访问路径,得到routePrefix(子目录标识,与S1中的子目录相关联)和controllerId(服务端ID),转到S3。

S2中的网址包括4部分:协议、主机、端口号(默认为80,一般在路由中省略不写)和访问路径;

本发明实施例中的网址为:http://host/login/index,其中“http://”代表协议,“host”代表主机,端口号未写,“/login/index”代表访问路径,访问路径中的“login”代表子目录,“index”代表服务端ID。

S3:服务端根据C层总目录、子目录标识(login)、服务端ID(index)、和C层文件名的类型标识(Controller.js),拼接形成C层文件地址(controllers/login/IndexController.js),即文件地址包括查找文件的总目录、总目录下的子目录、和子目录中具体的文件名;服务端判断是否根据C层文件地址查找到对应的C层文件,若是,转到S4,否则显示C层文件未查找到的错误,结束。

S4:服务端判断是否存在run入口方法,若是,根据run入口方法加载S3中查找到的C层文件,转到S5;否则显示C层文件加载失败的错误,结束。

S4中的run入口方法预先定义,其目的在于为了降低服务端的负荷,run入口方法的具体内容为:class IndexController{run(){执行内容}}

S5:服务端根据V层总目录、子目录标识(login)、服务端ID(index)、和V层文件名的类型标识(.html),拼接形成V层文件地址(views/login/index.html);服务端判断是否根据V层文件地址查找到对应的V层文件,若是,加载V层文件后转到S6,否则显示V层文件加载失败的错误,结束。

S6:服务端将V层文件返回给客户端,根据客户端的反馈判断是否需要加载M层文件,若是(例如客户端收到V层文件后需要操作数据库),转到S7,否则(例如客户端收到V层文件后不需要操作数据库)直接结束。

S7:服务端根据M层总目录、子目录标识(login)、服务端ID(index)、和M层文件名的类型标识(Model.js),拼接形成M层文件地址(models/login/IndexModel.js);服务端判断是否根据M层文件地址查找到对应的M层文件,若是,加载M层文件后转到S8,否则显示M层文件加载失败的错误,结束。

S8:C层文件根据M层文件和V层文件(将M层文件关联至V层文件)形成动态数据,服务端将动态数据返回至客户端,结束。

本发明实施例还提供一种基于网址解析的文件查找系统,该系统包括位于服务端的目录制定模块、网址解析模块和查找文件加载模块。

目录制定模块用于:分别对每种类型的查找文件制定总目录、总目录下的子目录、以及子目录下的查找文件,查找文件名包括服务端ID和类型标识。

目录制定模块中的查找文件类型包括C层、V层和M层;C层类型的查找文件目录包括C层总目录,C层总目录下至少有1个C层子目录,C层子目录下的查找文件为C层文件;V层类型的查找文件目录包括V层总目录,V层总目录下至少有1个V层子目录,V层子目录下的查找文件为V层文件;M层类型的查找文件目录包括M层总目录,M层总目录下至少有1个M层子目录,M层子目录下的查找文件为M层文件。C层文件名和M层文件名的首字母均大写,V层文件名的首字母小写。

网址解析模块用于:当服务端收到客户端发送的网址后,解析网址中的访问路径,得到子目录标识和服务端ID,子目录标识与目录指定模块中的子目录相关联,向查找文件加载模块发送查找文件加载信号。

查找文件加载模块用于:收到查找文件加载信号后,根据需要加载的查找文件的总目录、所述子目录标识、所述服务端ID、以及需要加载的查找文件的文件名的类型标识,得到需要加载的查找文件地址(查找文件地址包括查找文件的总目录、总目录下的子目录、以及子目录中的文件名);根据查找文件地址加载查找文件。

查找文件加载模块的工作流程为:

需要加载C层文件时:根据C层总目录、子目录标识、服务端ID、和C层文件名的类型标识,得到C层文件地址;根据C层文件地址查找到对应的C层文件后,加载C层文件;

需要加载V层文件时:根据V层总目录、子目录标识、服务端ID、和V层文件名的类型标识,得到V层文件地址;根据V层文件地址查找到对应的V层文件后,加载V层文件、并将V层文件返回至客户端;

需要加载M层文件时,根据M层总目录、子目录标识、服务端ID、和M层文件名的类型标识,得到M层文件地址;根据M层文件地址查找到对应的M层文件后,控制C层文件将M层文件和V层文件形成动态数据,将动态数据返回至客户端。

当查找文件加载模块根据C层文件地址未查找到对应的C层文件时;或者根据V层文件地址未查找到对应的V层文件时,或者根据M层文件地址未查找到对应的M层文件时,均显示错误并停止后续工作流程。

进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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