2024年5月2日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.2

(22)申请日 2013.06.06

(71)申请人 北京奇虎科技有限公司;奇智软件(北京)有限公司

地址 100088 北京市西城区新街口外大街28号D座112室(德胜园区)

(72)发明人 陈俊儒 古日旗 刘娇 邓振波

(74)专利代理机构 北京市中伦律师事务所

代理人 程义贵

(51)

G06F9/445

权利要求说明书 说明书 幅图

(10)申请公布号 CN 103268244 A

(43)申请公布日 2013.08.28

(54)发明名称

加载文件的方法及装置

(57)摘要

本发明的实施例公开了一种加载文

件的方法及装置,其中该方法包括:获取

控制器的路由配置信息和需要加载文件的

标识信息;根据路由配置信息,查找到对

应的控制器配置信息;根据控制器配置信

息,加载对应的控制器;控制器根据文件

的标识信息与文件的对应关系,查找到与

需要加载文件的标识信息对应的文件;以

及控制器加载查找到的文件,通过上述文

件加载方式,能够有效提高加载文件的效

率。

法律状态

法律状态公告日

2023-09-29

法律状态信息

专利权人的姓名或者名称、地址

的变更IPC(主分类):G06F 9/445

专利号:ZL2变更事

项:专利权人变更前:北京奇安信

科技有限公司变更后:奇安信科技

集团股份有限公司变更事项:地址

变更前:100015 北京市朝阳区酒

仙桥路甲10号3号楼15层17层

1701-26变更后:100032 北京市

西城区新街口外大街28号102号

楼3层332号

法律状态

专利权人的姓名或者

名称、地址的变更

权 利 要 求 说 明 书

1.一种加载文件的方法,其特征在于,所述方法包括:

获取控制器的路由配置信息和需要加载文件的标识信息;

根据所述路由配置信息,查找到对应的控制器配置信息;

根据所述控制器配置信息,加载对应的控制器;

所述控制器根据文件的标识信息与文件的对应关系,查找到与需要加载文

所述控制器加载查找到的所述文件。

2.根据权利要求1所述的方法,其特征在于,所述文件为PHP文件,其

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:

预先建立文件的标识信息与文件的对应关系。

4.根据权利要求3所述的方法,其特征在于,所述对应关系以key-value

中所述PHP文件包括:模型和/或视图。

件的标识信息对应的文件;

分布式存储的模式表示,其中key表示文件的标识信息,value表示文件。

5.根据权利要求1~4中任一所述的方法,其特征在于,所述文件的标识

6.一种加载文件的装置,其特征在于,所述装置包括:

获取模块,用于获取控制器的路由配置信息;

信息为文件的关键字。

第一匹配模块,用于根据所述路由配置信息,查找到对应的控制器配置信

第一加载模块,用于根据所述控制器配置信息,加载对应的控制器;

第二匹配模块,用于根据文件的标识信息与文件的对应关系,查找到与需

第二加载模块,用于加载查找到的所述文件。

7.根据权利要求6所述的装置,其特征在于,所述文件包括:模型和/或

视图。

要加载文件的标识信息对应的文件;

息;

8.根据权利要求6所述的装置,其特征在于,所述装置还包括:

配置模块,用于预先建立文件的标识信息与文件的对应关系。

9.根据权利要求8所述的装置,其特征在于,所述对应关系以key-value

10.根据权利要求6~9中任一所述的装置,其特征在于,所述文件的标识

分布式存储的模式表示,其中key表示文件的标识信息,value表示文件。

信息为文件的关键字。

说 明 书

技术领域

本发明属于计算机技术领域,尤其涉及一种加载文件的方法及装置。

背景技术

PHP,即"Professional Hypertext Preprocessor,超文本预处理器",是一种

被广泛应用的开源通用脚本语言,尤其适用于Web开发并可嵌入HTML

(Hypertext Markup Language,超文本标记语言)中。PHP文件是把

程序开发摆到流水线上,以助于促进快速软件开发。

PHP Web

现有的加载PHP文件的技术方案是根据获取的参数(例如:action、option、

label等)拼接成需加载的文件名,然后根据文件名加载所需的文件。然而,

由于在现有的加载PHP文件时每次加载都会进行多次的加载判断,

参数是否为空,以及判断参数的合法性,由此导致现有的加载

率较低。

例如判断

PHP文件的效

发明内容

为了解决上述现有的加载PHP文件的效率较低的问题,本发明的实施例

依据本发明的实施例的一个方面,提供了一种加载文件的方法,包括:获

取控制器的路由配置信息和需要加载文件的标识信息;根据路由配置信息,

找到对应的控制器配置信息;根据控制器配置信息,加载对应的控制

器根据文件的标识信息与文件的对应关系,查找到与需要加载

提出了一种加载文件的方法及装置,使得当需要查找文件时,可通过对应关

可快速查找到对应的文件,从而有效提高加载文件的效率。

器;控制

文件的标识信息

对应的文件;控制器加载查找到的文件。

根据本发明的实施例的另一方面,提供了一种加载文件的装置,装置包括:

获取模块,用于获取控制器的路由配置信息;第一匹配模块,用于根据路由

置信息,查找到对应的控制器配置信息;

信息,加载对应的控制器;第二匹

对应关系,查找到与需要加

用于加载查找到的文

第一加载模块,用于根据控制器配置

配模块,用于根据文件的标识信息与文件的

载文件的标识信息对应的文件;以及第二加载模块,

件。

根据本发明的实施例的加载文件的方法和加载文件的装置,在文件加载过

程中,控制器可根据文件的标识信息与文件的对应关系,查找到与需要加载

件的标识信息对应的文件,克服了现有技术中控制器需要进行多次的

的问题。由于是根据文件的标识信息与文件的对应关系查找文

文件时,可通过对应关系可快速查找到对应的文件,从

效率。

加载判断

件,当需要查找

而有效提高加载文件的

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术

手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目

特征和优点能够更明显易懂,以下特举本发明的具体实施方式。 的、

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领

域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而

不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表

部件。在附图中: 示相同的

图1示出了根据本发明一个实施例的加载文件的方法的流程图;

图2示出了根据本发明的一个实施例中加载记载文件的示意图;以及

图3示出了根据本发明又一个实施例的加载文件的装置的示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了

本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应

这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻

公开,并且能够将本公开的范围完整的传达给本领域的技术人

地理解本

员。

现有的文件加载方案都是在访问(首页)后,直接进入到controller

(控制器),然后由Controller通过运算找到相

图)。然而,Controller的运算过程是整

其需要进行多次的加载判断,导致

应的Model(模型)和View(视

个加载文件过程中最消耗性能的部分,

加载文件的效率较低。

为此,本发明的实施例提供了一种加载文件的方法,首先获取控制器的路

由配置信息;然后根据路由配置信息,查找到对应的控制器配置信息;再根

控制器配置信息,加载对应的控制器;然后控制器根据文件的标识信

的对应关系,查找到与需要加载文件的标识信息对应的文件;

载查找到的文件。

息与文件

最后由控制器加

下面结合图1来说明根据本发明一个实施例的、适于解决上述技术问题的

加载文件的方法的流程图。

如图1所示,本发明的方法始于步骤S110,在步骤S110中,获取控制器

例如,在加载文件时,首先访问(首页),然后获取控制器的路

由配置信息和需要加载文件的标识信息。可选地,文件的标识信息为文件的

键字,可选地,关键字与加载文件的功能相匹配,例如加载新闻文件

字可以是news。

的路由配置信息和需要加载文件的标识信息。可选地,路由配置信息包括:

定义的路由名称和路由的加载顺序。

时,关键

随后,在步骤S130中,根据路由配置信息,查找到对应的控制器配置信

息。可选地,由文件路由(File route)模块根据路由配置信息查找到对应的

制器配置(Controller config)信息。可选地,控制器配置信息包括:

控制器名称和控制器的加载顺序。 自定义的

随后,在步骤S150中,根据控制器配置信息,加载对应的控制器。加载

在本发明的实施例中,可预先建立文件的标识信息与文件的对应关系。例

如文件的标识信息与文件的对应关系可使用自定义的key(键)-value(值)

分布式存储的模式表示,其中key表示文件的标识信息,关键字

件。由于key-value分布式存储系统查询速度快,当需要查找

上述自定义的对应关系快速查找到对应的文件。

完成后,在步骤S170中,控制器根据文件的标识信息与文件的对应关系,

找到与需要加载文件的标识信息对应的文件。

value表示文

文件时,可通过

随后,在步骤S190中,控制器加载查找到的文件。可选地,文件包括:

模型和/或视图。

需要说明的是,尽管在图1中以特定顺序描述了加载文件的方法的操作,

但是,这并非要求或暗示必须按照该特定顺序来执行这些操作,或是必须执

全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可

顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并

和/或将一个步骤分解为多个步骤执行。

改变执行

为一个步骤执行,

在现有的加载文件的方案中,都是在访问(首页)后,直接进

入到Controller(控制器)。然后通过Controller运算,找到相应的Model

型)和View(视图),然后进行文件的加载。然而Controller的运算

件加载过程中最消耗性能的部分。而在本发明的实施例中,如

问(首页)201之后,可进入File route(文

模块203读取包含route(路由)常量的

根据Route config文件205和

对应的Controller(控制器)

找到对应的文件,其

加载该文件,

量降到

(模

是整个文

图2所示,在访

件路由)模块203,File route

Route config(路由配置)文件205,

Controller config(控制器配置)文件207查询到

209,Controller209使用key(键)>value(值)查

中key可表示文件的标识信息,value可表示文件,然后

由于Controller209使用的是key>value方式,能将所产生的运算

最低,有效提高加载文件过程的运行速度。

可选地,实现文件加载的代码如下:

//首页;

include“”;//加载路由

//配置路由

//路由

include”route/”;//加载路由配置

$controller=$routeArr[$action][$do]?($action.’_’.$do):’’;//跟进路

Include($controller);//加载控制器

Action_//控制器

Include‘’;//加载控制器配置

Include’’;//加载视图

最后返回执行结果。

下面结合图3说明根据本发明一个实施例、适于解决上述技术问题的一种

如图3所示,为本发明的实施例中加载文件的装置的示意图,该装置包括:

获取模块301、第一匹配模块303、第一加载模块305、第二匹配模块307

第二加载模块309,其中获取模块301用于获取控制器的路由配置信

匹配模块303用于根据路由配置信息,查找到对应的控制器配

载模块305用于根据控制器配置信息,加载对应的控制

用于根据文件的标识信息与文件的对应关系,查

息对应的文件;以及第二加载模块309用

包括:模型和/或视图。

加载文件的装置。

由配置找到controller控制器文件

息;第一

置信息;第一加

器;第二匹配模块307

找到与需要加载文件的标识信

于加载查找到的文件。可选地,文件

在本发明的另一实施例中,装置还包括:配置模块,用于预先建立文件的

标识信息与文件的对应关系。例如对应关系以key-value分布式存储的模式

示,其中key表示文件的标识信息,可选地,文件的标识信息为要加

的关键字,value表示文件。 载的文件

根据本发明的加载文件的方法和加载文件的装置,在文件加载过程中,控

制器可根据文件的标识信息与文件的对应关系,查找到与需要加载文件的标

信息对应的文件,克服了现有技术中控制器需要进行多次的加载判断

由于是根据文件的标识信息与文件的对应关系查找文件,当需

可通过对应关系可快速查找到对应的文件,从而有效提

的问题。

要查找文件时,

高加载文件的效率。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有

相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,

造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何

语言。应当明白,可以利用各种编程语言实现在此描述的本发

上面对特定语言所做的描述是为了披露本发明的最佳实

特定编程

明的内容,并且

施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发

明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详

示出公知的方法、结构和技术,以便不模

糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或

多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被

起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公

开的方法 解释成反映如下意图:即所要求保护的本发明要求比在每个权

记载的特征更多的特征。更确切地说,如下面的权利要

明方面在于少于前面公开的单个实施例的所有特

的权利要求书由此明确地并入该具体实施

本发明的单独实施例。

利要求中所明确

求书所反映的那样,发

征。因此,遵循具体实施方式

方式,其中每个权利要求本身都作为

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适

应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把

施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外

们分成多个子模块或子单元或子组件。除了这样的特征和/或

的至少一些是相互排斥之外,可以采用任何组合对本说

要求、摘要和附图)中公开的所有特征以及如此

有过程或单元进行组合。除非另外明确陈

摘要和附图)中公开的每个特征可

来代替。

可以把它

过程或者单元中

明书(包括伴随的权利

公开的任何方法或者设备的所

述,本说明书(包括伴随的权利要求、

以由提供相同、等同或相似目的的替代特征

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它

实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合

味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的

书中,所要求保护的实施例的任意之一都可以以任意的组合方

权利要求

式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器

上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理

可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据

施例的加载文件的装置中的一些或者全部部件的一些或者全部

可以实现为用于执行这里所描述的方法的一部分或者全

序(例如,计算机程序和计算机程序产品)。这

解,

本发明实

功能。本发明还

部的设备或者装置程

样的实现本发明的程序可以存 储在计算机可读介质上,或者可以具有一

可以从个或者多个信号的形式。这样的信号

因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并

且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施

例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权

限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。

前的单词“一”或“一个”不排除存在多个这样的元件。本发明可

括有若干不同元件的硬件以及借助于适当编程的计算机来实现。

装置的单元权利要求中,这些装置中的若干个可以是通

体现。单词第一、第二、以及第三等的使用不表

释为名称。

提供。

利要求的

位于元件之

以借助于包

在列举了若干

过同一个硬件项来具体

示任何顺序。可将这些单词解