CN110515905B - 一种路由的配置的方法、装置以及服务器 - Google Patents
一种路由的配置的方法、装置以及服务器 Download PDFInfo
- Publication number
- CN110515905B CN110515905B CN201910803159.XA CN201910803159A CN110515905B CN 110515905 B CN110515905 B CN 110515905B CN 201910803159 A CN201910803159 A CN 201910803159A CN 110515905 B CN110515905 B CN 110515905B
- Authority
- CN
- China
- Prior art keywords
- business logic
- file
- files
- request
- logic file
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种路由的配置方法、装置以及服务器,方法包括:服务器解析项目的文件夹中的多个业务逻辑文件,得到多个业务逻辑文件中每一个业务逻辑文件的属性,如请求方法和入口方法等;进而,针对多个业务逻辑文件中的每一个业务逻辑文件,根据每一个业务逻辑文件的请求方法、入口方法和路径,自动生成每一个业务逻辑文件的路由,得到多个业务逻辑文件的路由,将该多个业务逻辑文件的路由加载到内存。采用本发明,可以避免开发者手动修改或创建路由,降低路由出错机率,提高项目开发效率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种路由的配置的方法、装置和服务器。
背景技术
目前,通常在开发者开发一个网站、应用程序或一个功能模块等项目时,服务器的中该项目的文件夹中包括多个文件,服务器通过路由配置文件来记录文件的路由。当多个开发者对该项目中不同文件进行修改后,每一个开发者都需要对路由配置文件进行修改,耗时,却容易出错。
发明内容
本发明实施例提供一种路由的配置的方法、装置以及服务器,可以避免开发者手动修改或创建路由,降低路由出错机率,提高项目开发效率。
第一方面,本发明实施例提供了一种路由的配置的方法,该方法应用于服务器,包括:
解析项目的文件夹中的至少两个业务逻辑文件,得到所述至少两个业务逻辑文件中每一个业务逻辑文件的属性,所述属性包括请求方法和入口方法;
针对所述至少两个业务逻辑文件中的每一个业务逻辑文件,根据所述每一个业务逻辑文件的属性和路径,自动生成所述每一个业务逻辑文件的路由,得到所述至少两个业务逻辑文件的路由;
将所述至少两个业务逻辑文件的路由加载到内存;
其中,所述至少两个业务逻辑文件的路由用于在接收到客户端发送的动态请求后,在所述至少两个业务逻辑文件的路由中查找与所述动态请求的请求方法和请求地址相匹配的路由,以通过匹配的路由对应的业务逻辑文件的入口方法响应所述动态请求。
在本发明的一种实现中,所述解析项目的文件夹中的至少两个业务逻辑文件之前,所述方法还包括:
接收针对所述项目的启动指令,所述启动指令用于触发运行所述项目。
在本发明的一种实现中,所述解析所述项目的文件夹中的至少两个业务逻辑文件之前,所述方法还包括:
检测所述项目的文件夹中的业务逻辑文件是否符合CGI规范,所述至少两个业务逻辑文件为所述项目的文件夹中的符合CGI规范的业务逻辑文件的集合。
在本发明的一种实现中,所述至少两个业务逻辑文件分别继承基类,所述基类包括:可访问业务逻辑文件的请求方法和访问业务逻辑文件的入口方法。
在本发明的一种实现中,
所述解析所述项目的文件夹中的至少两个业务逻辑文件,得到所述至少两个业务逻辑文件中每一个业务逻辑文件的属性,具体包括:
在所述第一业务逻辑文件的类中查找第一关键词,得到所述第一关键词对应的请求方法,所述第一关键词为用于指示所述请求方法的词语,比如“method”;
在所述第一业务逻辑文件的类中查找第二关键词,得到所述第二关键词对应的入口方法,所述第二关键词为用于指示所述入口方法的词语,比如“handle”,第一业务逻辑文件是所述至少两个业务逻辑文件中的任意一个业务逻辑文件。
在本发明的一种实现中,
所述针对所述至少两个业务逻辑文件中的每一个业务逻辑文件,根据所述每一个业务逻辑文件的属性和路径,自动生成每一个业务逻辑文件的路由,得到所述至少两个业务逻辑文件的路由,包括:
根据请求方法与路由格式的对应关系,选择所述第一业务逻辑文件的请求方法对应的路由格式,所述第一业务逻辑文件为所述至少两个业务逻辑文件中任意一个业务逻辑文件;
将所述第一业务逻辑文件的路径和所述第一业务逻辑文件的入口方法写入到所述第一业务逻辑文件的请求方法对应的路由格式,得到所述第一业务逻辑文件的路由。
在本发明的一种实现中,所述针对所述至少两个业务逻辑文件中的每一个业务逻辑文件,根据所述每一个业务逻辑文件的属性和路径,自动生成所述每一个业务逻辑文件的路由,得到所述至少两个业务逻辑文件的路由之前,所述方法还包括:
将所述项目的路径和所述每一个业务逻辑文件在所述项目中的路径进行拼接,得到所述每一个业务逻辑文件的路径。
第二方面,本发明实施例还提供了一种路由配置装置,应用于服务器,包括:
解析单元,用于解析项目的文件夹中的至少两个业务逻辑文件,得到所述至少两个业务逻辑文件中每一个业务逻辑文件的属性,所述属性请求方法和入口方法;
生成单元,用于针针对所述至少两个业务逻辑文件中的每一个业务逻辑文件,根据所述每一个业务逻辑文件的属性和路径,自动生成所述每一个业务逻辑文件的路由,得到所述至少两个业务逻辑文件的路由。
可选地,该装置还可以包括加载单元,用于将所述至少两个业务逻辑文件的路由加载到内存;
其中,所述至少两个业务逻辑文件的路由用于在接收到客户端发送的动态请求后,在所述至少两个业务逻辑文件的路由中查找与所述动态请求的请求方法和请求地址相匹配的路由,以通过匹配的路由对应的业务逻辑文件的入口方法响应所述动态请求。
在本发明的一种实现中,所述装置还包括:
接收单元,用于在所述解析单元执行所述解析项目的文件夹中的至少两个业务逻辑文件之前,接收针对所述项目的启动指令,所述启动指令用于触发所述服务器运行所述项目。
在本发明的一种实现中,所述装置还包括:
检测单元,用于在所述解析单元解析所述项目的文件夹中的至少两个业务逻辑文件之前,检测所述项目的文件夹中的业务逻辑文件是否符合CGI规范,所述至少两个业务逻辑文件为所述项目的文件夹中的符合CGI规范的业务逻辑文件的集合。
在本发明的一种实现中,所述装置还包括:
所述至少两个业务逻辑文件分别继承基类,所述基类包括:可访问业务逻辑文件的请求方法和访问业务逻辑文件的入口方法。
在本发明的一种实现中,所述解析单元具体用于:
在所述第一业务逻辑文件的类中查找第一关键词,得到所述第一关键词对应的请求方法,所述第一关键词为用于指示所述请求方法的词语,比如“method”;
在所述第一业务逻辑文件的类中查找第二关键词,得到所述第二关键词对应的入口方法,所述第二关键词为用于描述所述入口方法的词语,比如“handle”,第一业务逻辑文件是所述至少两个业务逻辑文件中的任意一个业务逻辑文件。
在本发明的一种实现中,所述生成单元具体用于:
根据请求方法与路由格式的对应关系,选择所述第一业务逻辑文件的请求方法对应的路由格式,所述第一业务逻辑文件为所述至少两个业务逻辑文件中任意一个业务逻辑文件;
将所述第一业务逻辑文件的路径和所述第一业务逻辑文件的入口方法写入到所述第一业务逻辑文件的请求方法对应的路由格式,得到所述第一业务逻辑文件的路由。
在本发明的一种实现中,所述装置还包括:
拼接单元,用于在所述生成单元执行所述针对所述至少两个业务逻辑文件中的每一个业务逻辑文件,根据所述每一个业务逻辑文件的属性和路径,自动生成
每一个业务逻辑文件的路由,得到所述至少两个业务逻辑文件的路由之前,将所述项目的路径和所述每一个业务逻辑文件在所述项目中的路径进行拼接,得到所述每一个业务逻辑文件的路径。
第三方面,本发明实施例还提供了一种服务器,包括:处理器和存储器;所述存储器用于存储程序,所述处理器执行所述存储器存储的程序,当所述存储器存储的程序被执行时,可实现如第一方面所述的方法。
第四方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,可实现如第一方面所述的方法。
本发明实施例中,服务器解析项目的文件夹中的至少两个业务逻辑文件,得到至少两个业务逻辑文件中每一个业务逻辑文件的属性;进而,针对至少两个业务逻辑文件中的每一个业务逻辑文件,根据每一个业务逻辑文件的属性和路径,自动生成每一个业务逻辑文件中的路由,得到至少两个业务逻辑文件的路由,将该至少两个业务逻辑文件的路由加载到内存。采用本发明,可以避免开发者手动修改或创建路由,降低路由出错机率,提高项目开发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种项目的架构示意图;
图2是现有技术中的一种服务器的架构示意图;
图3是本发明实施例提供的一种系统架构示意图;
图4是本发明实施例提供的一种路由的配置方法的流程示意图;
图5是本发明实施例提供的另一种路由的配置方法的流程示意图;
图6是本发明实施例提供的一种路由的配置方法的示意性说明图;
图7是本发明实施例提供的又一种路由的配置方法的流程示意图;
图8是本发明实施例提供的一种路由配置装置的结构示意图;
图9是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先介绍本发明实施例中术语的概念和涉及的应用场景。
路由可以分为两种,静态文件的路由和动态内容的路由。静态文件的路由是静态文件的路径,直接对应的图片,HTML,JS或者CSS等静态文件,服务器不需要进行额外的处理,找到直接静态文件的内容。动态内容的路由,需要通过调用应用程序层的控制器(controller),再经过业务逻辑层中业务逻辑文件的处理,最后把结果返回。本申请实施例中,将客户端发送的用于请求静态文件的请求称为静态请求,将客户端发送的用于请求动态内容的请求称为动态请求。
网站或者应用程序等通常包括多个功能,对应地,服务器包括多个模块以实现多个功能,服务器运行一个或多个业务逻辑文件来实现每一个模块的功能。应理解,本发明实施例中,不同的项目有不同的功能,不同的功能需要因业务逻辑层中的一个或多个业务逻辑文件来实现,实现这些核心功能的代码就叫业务逻辑。实现功能的代码的文件,称为业务逻辑文件,业务逻辑文件属于代码文件。
本申请实施例中,项目的文件夹是指网站或应用程序的服务器中根文件或一个功能模块的根文件,例如,项目的文件夹为网站的根文件,比如音乐播放网站,该音乐播放网站可以实现个人账户创建、个人账户的登录、歌曲的检索、音乐在线播放和下载的功能等。服务器中实现上述各个功能的代码文件即业务逻辑文件,存储在音乐播放网站的根文件的目录下。业务逻辑文件用于实现对接收到的动态请求的响应,业务逻辑文件规定了可以处理的动态请求的请求方法,以及处理该动态请求所调用的入口方法。其中,请求方法可以包括但不限于“get”、“post”、“head”等,入口方法指示了实现业务逻辑文件的功能的函数,通过调用该函数可实现对动态请求的响应。
用户终端向服务器发送请求,服务器需要通过接口路由(以下简称路由)来找到与该请求匹配的业务逻辑文件。每一个业务逻辑文件对应一个可以找到它的路由,业务逻辑文件的路由可以统一放置在路由配置文件中。
例如,用户终端可以向服务器请求登录个人账户,此时,用户终端可以发送登录请求(属于动态请求),该登录请求的请求方法可以是“post”,携带请求地址(如统一资源标识符(uniform resource identifiers,URI))、请求数据等,该请求数据可以包括多个请求参数,比如用户终端接收到的用户输入的用户名和密码,登录请求用于向服务器请求登录个人账户。服务器在接收到登录请求后,可以在路由配置文件或者项目的文件夹下所有业务逻辑文件的路由中查找与该登录请求中的请求地址(如URI)相匹配的路由,进一步地,服务器判断登录请求的请求方法是否与匹配的路由中的请求方法一致,如果是,则服务器根据请求数据,通过该相匹配的路由对应的业务逻辑文件中的入口方法来实现登录请求的业务,比如,判断用户名和密码是否与预存的用户名和密码都一致,如果是,获取该用户名对应的个人账户的首页,进而,服务器向用户终端返回该个人账户的首页,用户终端在接收到该个人账户的首页后,显示该个人账户的首页。
在项目的开发阶段或项目中某一模块的开发阶段,开发者将可实现该模块的功能的业务逻辑文件写入到该项目的文件夹下,此时开发者在项目的文件夹下创建子文件夹和业务逻辑文件。当模块的功能开发完成后,开发者依然可以对该模块的功能进行修改,以优化该模块的功能,此时,开发者可以在该模块的文件目录下创建业务逻辑文件或者对已经存在的业务逻辑文件的内容进行修改。
例如,请参阅图1所示的本发明实施例提供的一种项目的架构示意图,开发者A可以修改位于项目文件夹的目录下的业务逻辑文件a;开发者B可以在项目文件夹的目录下创建业务逻辑文件b;开发者C可以修改位于项目文件夹目录下的业务逻辑文件d等。
服务器通过路由配置文件和业务逻辑文件,为终端设备发送的多个不同的请求提供服务。请参阅图2所示的一种服务器的架构示意图。服务器200包括处理器201、内存202和非易失性存储器203,其中,非易失性存储器203存储有路由配置文件来和至少一个业务逻辑文件,其中,路由配置文件包括项目的文件夹中每一个业务逻辑文件中的路由。当开发者对位于项目文件下的业务逻辑文件进行修改或者在项目文件夹下创建新的业务逻辑文件时,开发者需要对路由配置文件进行维护,该维护的过程包括:将新建的业务逻辑文件的路由写入到路由配置文件中,对修改后的业务逻辑文件的路由进行修改等操作。服务器可以将修改后的路由配置文件更新到内存,以使处理器201为终端设备发送的多个不同的请求提供服务。
在多人开发时,多个开发者都需要修改该路由配置文件,当多人对同时对相同的路由配置文件进行修改时,由于路由配置文件与业务逻辑文件之间的依赖性,开发者不能保证路由配置文件所依赖的业务逻辑文件都存在且起作用,进而代码编译会报错,降低了开发者开发项目的质量。开发者对路由配置文件的维护、写入耗时,降低开发效率。
由于路由配置文件中各个业务逻辑文件对应的路由具有相似的格式,本发明实施例基于路由的特点,服务器解析业务逻辑文件中的请求方法和入口方法,自动生成路由。应理解,本申请实施例中,自动生成是指通过具有计算能力的电子设备,如服务器,来生成。
下面介绍本发明实施例涉及的系统架构,请参阅图3,图3是本发明实施例提供的一种系统架构示意图。该系统可以包括服务器301、数据库302和用户终端303等。
在本实施例中,服务器301可以是物理服务器,也可以虚拟的云服务器等。服务器301可以是web服务器、应用程序服务器、HTTP服务器或其他服务器等。开发者可以修改服务器301的功能,以实现服务器301中文件夹和文件的创建和维护,例如,一个或多个开发者可以同时或不同时对服务器301进行操作,比如在项目的文件夹下创建子文件夹和文件,对服务器301中的文件进行修改、维护等操作。在本发明实施例中,开发者可以采用通用网关接口(Common Gateway Interface,CGI)规范来写业务逻辑文件,以得到符合CGI规范的业务逻辑文件。
本发明实施例中,服务器301可以执行本发明实施例中的路由配置方法,为项目中的业务逻辑文件配置路由。具体地,服务器解析项目的文件夹中的多个(该多个为至少两个)业务逻辑文件,得到该多个业务逻辑文件中每一个业务逻辑文件的属性,该属性包括请求方法和入口方法;进而,针对多个业务逻辑文件中的每一个业务逻辑文件,例如第一业务逻辑文件,根据第一业务逻辑文件的路径、属性,自动生成第一业务逻辑文件的路由,该第一业务逻辑文件为所述多个业务逻辑文件中任意一个业务逻辑文件。进而,避免开发者手动修改或创建路由,避免路由出错,提高项目开发效率。
可选地,服务器解析项目的文件夹中的多个业务逻辑文件和自动生成多个业务逻辑文件的路由的操作可以发生在服务器对该项目的启动过程中,此时,服务器可以不需要生成路由配置文件,可以直接将多个业务逻辑文件的路由加载到服务的内存中,以使服务器为终端设备发送的多个不同的请求提供服务。
数据库302用于存储数据,服务器可以调用数据库302中的数据以实现服务器301的功能,服务器301也可以响应于用户终端303发送的请求,从数据库202中读取数据,发送至用户终端203。
用户终端303可以是平板电脑、手机、个人计算机等具备通信功能的电子设备,用户终端303可以通过移动通信网络、互联网等与服务器301建立通信连接,进而实现用户终端303和服务器301之间的数据交互,以使用服务器301提供的服务。
例如,用户终端303可以基于客户端向服务器301发送动态请求;服务器301在接收到该动态请求后,可以在生成的多个业务逻辑文件的路由中查找与该动态请求的请求地址相匹配的路由,进而通过匹配的路由对应的业务逻辑文件的入口方法响应该动态请求,得到动态请求的响应数据;进一步地,服务器301可以将得到的响应数据发送至用户终端303。
应理解,本发明实施例中系统还可以包括其他的设备,在本发明实施例的另一种实现中系统也可以不包括数据库202和用户终端203。
请见图4-图6,图4和图5是本发明实施例提供的一种路由的配置方法的流程示意图。图6是本发明实施例提供的一种路由的配置方法的示意性说明图,如图4和图5所示,该路由的配置方法可以包括但不限于如下步骤:
步骤S402:服务器解析项目的文件夹中的至少两个业务逻辑文件,得到该至少两个业务逻辑文件中每一个业务逻辑文件的属性,该属性包括请求方法和入口方法。
在具体实现中,服务器在项目的启动、项目的初始化过程中或者在服务器的启动过程中,可以解析项目的文件夹中的业务逻辑文件,以得到每一个业务逻辑文件的属性,如请求方法、入口方法和业务逻辑文件的标识。其中,业务逻辑文件的属性即为业务逻辑文件的特征,可以通过多个参数来表示,该属性可以收敛在业务逻辑文件的类中,业务逻辑文件的类可以继承基类。
请求方法可以包括get、post、head等,其中,get是指从指定的资源请求数据;post是指向指定的资源提交要被处理的数据。head类似于get请求,但其返回的响应中没有具体的内容,用于获取报头。入口方法指示了实现业务逻辑文件的处理请求的方法。
在本发明实施例的一种实现中,至少两个业务逻辑文件可以是项目的文件夹中的所有业务逻辑文件。
在本发明实施例的另一种实现中,在S402之前,服务器还可以执行:
步骤S401:检测项目的文件夹中的业务逻辑文件是否符合CGI规范。
当业务逻辑文件符合CGI规范时,服务器可以执行步骤S402,解析该业务逻辑文件,以得到该业务逻辑文件的属性,该属性包括请求方法和入口方法;当业务逻辑文件不符合CGI规范时,不解析该业务逻辑文件,服务器可以通过其他方式生成该业务逻辑文件的路由,比如在通过路由配置文件中写入该业务逻辑文件的路由,此处不作限定。此时,该至少两个业务逻辑文件为项目的文件夹中的符合CGI规范的业务逻辑文件的集合。
在本发明实施例的一种实现中,开发者写入到服务器的业务逻辑文件符合CGI规范,项目的文件夹下所有的业务逻辑文件的类都继承基类,将业务逻辑文件所具备的属性和方法都收敛在基类中,节省开发人员开发成本。应理解,基类是在面向对象设计中,被定义为包含所有实体共性的class类型。本申请实施例中,业务逻辑文件继承的基类中可以包括可访问业务逻辑文件的请求方法和业务逻辑文件的入口方法。
可选地,该基类还可以包括其他参数,如:类的标识、项目的标识和属性、业务逻辑文件的启用状态、业务逻辑文件被访问的权限、登录状态、SQL注入(sql inject)、跨站脚本(cross-site scripting,XXS)、业务逻辑文件的返回结果的格式、监控请求等中的一种或多种。通过在业务逻辑文件的类中对上述基类中的一个或多个参数赋值,可实现对各个业务逻辑文件中的参数的自定义。其中,对于一个业务逻辑文件A来说,类的标识可以指示该业务逻辑文件A的类的名称;项目的标识和属性可以包括业务逻辑文件A所属的项目的名称,项目的属性可以是用于指示项目的功能的信息,如项目为音乐播放网站,则项目的属性可以是“提供音乐检索和播放功能”;可访问业务逻辑文件的请求方法可以被赋值为“get”或“post”等请求方法,以说明该业务逻辑文件A可被访问的请求方法;业务逻辑文件的启用状态可以被赋值为“false”或“true”,“true”说明该业务逻辑文件A启用,“false”说明该业务逻辑文件A不启用,应理解,对于功能还未开发完成或未成熟的功能模块,服务器可以根据该标识不生成该功能模块对应的业务逻辑文件的路由,进而,避免未启用的业务逻辑文件的路由发布到线上;业务逻辑文件被访问的权限可以被赋值为权限的标识,服务器可以根据权限的标识识别客户端是否有权限访问该业务逻辑文件A;登录状态可以被赋值为“false”或“true”,“true”说明该业务逻辑文件A只被处于已登录状态的客户端的访问,“false”说明该业务逻辑文件A可以被已登录或未登录状态的客户端的访问;SQL注入(sqlinject)被赋值为“true”说明需要对访问该业务逻辑文件A的请求进行SQL注入过滤,以避免业务逻辑文件A遭到入侵或破坏,反之被赋值为“false”说明不需要进行SQL注入过滤;跨站脚本(cross-site scripting,XXS)被赋值为“true”说明需要对访问该业务逻辑文件A的请求进行XXS过滤,以避免业务逻辑文件A遭到入侵或破坏,反之被赋值为“false”说明不需要进行XXS注入过滤;业务逻辑文件的返回结果的格式被赋值为“true”说明业务逻辑文件A可以直接返回结果,反之,被赋值为“true”说明业务逻辑文件A可以需要返回有格式的返回结果;监控请求可以监控访问业务逻辑文件A的总请求量、成功响应的请求量和响应失败的请求量;入口方法可以指示了业务逻辑文件A处理请求的方法,即具体的业务逻辑或者业务逻辑的标识(如调用的函数的名称),还指示了处理该具体的业务逻辑需要满足的请求参数和上下文的格式等。
例如,业务逻辑文件的类的伪代码可以如下所示:
//定义一个业务逻辑文件的类如“cgibase”的属性和方法,应用于项目“music”,该项目的功能是“实现音乐的检索和播放”
class cgibase{
project:string=`music`
desc:string=`实现音乐的检索`
//定义业务逻辑文件的请求方法为“get”
method:string=`get`
//业务逻辑文件的启用状态为启用
enable:Boolean=true;
//访问权限标识,为空,表示不校验权限
priv_id:string=``
//登录状态不作要求
logined:Boolean=false
//需要sql过滤
sqlfilter:Boolean=false
//需要xss过滤
xssfilter:Boolean=true
//业务逻辑文件直接返回结果
respond:Boolean=true
//监控访问业务逻辑文件的请求量,响应成功的请求量和响应失败的请求量
monitor:{rep:number,suc:number,err:number}
业务逻辑文件的入口方法,上下文的格式任意,请求参数为“a1”
handle(ctx:any,query:a1){
//具体的业务逻辑或业务逻辑的标识
};
}
可见,包括上述类的业务逻辑文件,可以根据业务代码文件中类的内容快速提取出该业务代码文件的请求方法和入口方法。以第一业务逻辑文件为例来说明,第一业务逻辑文件为上述至少两个业务逻辑文件中的任意一个业务逻辑文件。服务器可以在第一业务逻辑文件的类中查找第一关键词对应的请求方法和第二关键词对应的入口方法。对应于上述类的伪代码,第一关键词为用于指示请求方法的词语,比如可以是“method”;第二关键词为用于指示入口方法的词语,比如可以是“handle”。
应理解,本申请实施例还可以通过其他方式业务逻辑文件中的请求方法和入口方法,本发明实施例不作限定。
步骤S404:服务器针对第一业务逻辑文件,根据第一业务逻辑文件的路径、请求方法和入口方法,自动生成第一业务逻辑文件的路由,该第一业务逻辑文件为至少两个业务逻辑文件中任意一个业务逻辑文件。
其中,第一业务逻辑文件的路径是指第一业务逻辑文件在服务器中的路径。应理解,业务逻辑文件的路由包括固定的格式,服务器可以将业务逻辑文件的路径和第一业务逻辑文件的请求方法和入口方法写入到路由的格式中。
通过步骤S404得到的项目的文件夹下的所有业务逻辑文件的路由(即本申请实施例中至少两个业务逻辑文件的路由)可以统一写入到路由配置文件,也可以形成路由表。该路由配置文件、路由表可以存储在服务器的非易失性存储器(如硬盘)中。在服务器启动该项目时,可以将读取非易失性存储器中的该路由配置文件或路由表到内存中。
在本发明一种实现中,业务逻辑文件的属性还可以包括业务逻辑文件的标识,步骤S404的具体实现可以包括但不限于如下步骤:
步骤S4042:服务器可以根据请求方法与路由格式的对应关系,选择第一业务逻辑文件的请求方法对应的路由格式。
例如,对于请求方法为“get”的业务逻辑文件,其路由的格式可以为:
router.get(`业务逻辑文件的路径`,async(ctx,next)=>{ctx.body=await业务逻辑文件的标识.入口方法;});
又例如,对于请求方法为“post”的业务逻辑文件,其路由的格式为:
router.post(`业务逻辑文件的路径`,async(ctx,next)=>{let.data=await业务逻辑文件的标识.入口方法});;
应理解,上述仅为实例性说明,路由还可以包括其他的格式(或规则),对此本发明实施例不作限定。
步骤S4044:服务器将第一业务逻辑文件的路径和第一业务逻辑文件的入口方法写入到第一业务逻辑文件的请求方法对应的路由格式,得到第一业务逻辑文件的路由。
可选地,当路由的格式中还需要写业务逻辑文件的标识时,服务器还需要将业务逻辑文件的标识写入到第一业务逻辑文件的请求方法对应的路由格式中。
步骤S405:服务器将至少两个业务逻辑文件的路由加载到内存。
在一种实现中,服务器可以将至少两个业务逻辑文件的路由更新到业务逻辑文件中,再将业务逻辑文件重新加载到内存中。在另一种实现中,服务器可以不包括业务逻辑文件,此时,服务器可以直接将至少两个业务逻辑文件的路由加载到内存。
可选地,步骤S404之前,该方法还可以包括:
S403:将项目的路径和第一业务逻辑文件在项目中的路径进行拼接,得到第一业务逻辑文件的路径。
如图6所示,图6示例性的给出了业务逻辑文件A的路径。业务逻辑文件A在项目“projectA”(项目文件夹的名称)的路径为“/cgis/article/list”,项目“projectA”的路径为“/projectA”,则业务逻辑文件A的路径为“/projectA/cgis/article/list”。其中,文件夹“cgis”为文件夹“projectA”目录下的文件夹,文件夹“article”为文件夹“cgis”目录下的文件夹,文件夹“list”为文件夹“article”目录下的文件夹,业务逻辑文件A为文件夹“list”下的文件。
应理解,步骤S403可以在步骤S404之前执行,本发明实施例不作限定。
上述方法,服务器通过解析项目的文件夹中的至少两个业务逻辑文件,得到该至少两个业务逻辑文件中每一个业务逻辑文件的属性;进而针对至少两个业务逻辑文件中每一个业务逻辑文件的路径和属性,自动生成每一个业务逻辑文件的路由,进而,避免开发者手动修改或创建路由,降低路由出错机率,提高项目开发效率。
在本发明一些实施例中,在服务器得到业务逻辑文件的路由之后,服务器可以将业务逻辑文件的路由更新到路由配置文件,此时,服务器的架构可以如图2所示。
在本发明另一实施例中,具体地,通常开发者在完成项目的开发,或者完成项目中部分模块的开发后,可以启动或重新启动该项目。此时,服务器可以接收开发者针对该项目输入的初始化指令/启动指令,进而,服务器对该项目进行初始化/启动,实现上述图4或图5所述的路由的配置方法。此时,服务器可以不包括路由配置文件,在得到至少两个业务逻辑文件中每一个业务逻辑文件的路由后,服务器可以将至少两个业务逻辑文件中每一个业务逻辑文件的路由加载到内存。
上述实施例中,不需要路由配置文件,服务器在项目的启动过程中自动生成路由,并加载到内存中,不需要开发者维护路由配置文件,提高项目的开发效率。
在项目开发完成并启动之后,可以向用户终端提供该项目对应的功能,发布生成的路由,供客户端使用。此时,用户终端可以与服务器建立通信连接。具体的应用过程可包括如下步骤:
S406:客户端向服务器发送动态请求。其中,动态请求可以携带请求方法的标识、请求地址(比如URL)、多个请求参数分别对应的数据等。其中,该多个请求参数用于服务器调用入口方法响应该动态请求,即多个请求参数是业务逻辑文件的入口方法需要的参数。
S408:服务器接收动态请求。
S410:服务器在至少两个业务逻辑文件的路由中查找与该动态请求的请求方法和请求地址相匹配的路由。
其中,请求地址可以指向一个业务逻辑文件,请求地址可以是其指向的业务逻辑文件的路径。服务器可以根据在至少两个业务逻辑文件的路由中查找与该请求地址相匹配的路由,进一步地,可以识别该匹配的路由中请求方法是否与动态请求的请求方法相一致,如果是,则认为查找到而确定一个业务逻辑文件找与该动态请求的请求方法和请求地址相匹配的路由,即为上述匹配的路由;否则,未查找到,服务器可以向客户端发送用于指示访问失败的指示信息。
S412:服务器通过匹配的路由对应的业务逻辑文件中入口方法响应该动态请求,得到针对该动态请求的响应信息。
应理解,服务器在查找到与动态请求的请求方法和请求地址相匹配的路由后,可以调用该相匹配的路由对应的业务逻辑文件中的入口方法,在服务器运行该入口方法时,需要输入动态请求的请求数据。
例如,启动的项目为音乐播放网站,该动态请求为针对请求数据“慢慢喜欢你”的检索请求。当服务器查找到匹配的路由对应的业务逻辑文件后,可以将请求数据“慢慢喜欢你”输入到业务逻辑文件中该入口方法指示的函数中,以得到检索请求的响应数据,即“慢慢喜欢你”的检索结果。
需要说明的是,在通过业务逻辑文件响应动态请求之前,还需要判断动态请求的请求参数是否与路由中的入口方法中的多个请求参数是否一致,在两者一致的情况下,则允许通过该业务逻辑文件响应动态请求。
S414:服务器向客户端发送响应信息。
S416:终端接收并输出响应信息。输出的方式包括但不限于显示检索结果、播放歌曲“慢慢喜欢你”等,对此不作限定。
如图7所示,为本发明实施例提供的另一种路由的配置方法的流程图,该路由配置方法可以包括但不限于如下步骤:
步骤S702:服务器接收针对项目的启动指令,其中,该启动指令用于触发服务器运行该项目。
具体地,通常开发者在完成项目的开发,或者完成项目中部分模块的开发后,可以启动或重新启动该项目。此时,服务器可以接收开发者针对该项目输入的启动指令,进而,服务器可以运行该项目,启动过程中执行步骤S704-S708。
应理解,项目的启动过程中还可以包括其他的流程,本发明实施例不作限定。
步骤S704:检测项目的文件夹中的业务逻辑文件是否符合CGI规范。
对于项目的文件夹中符合CGI规范的业务逻辑文件,服务器可以执行步骤S706;对于项目的文件夹中不符合CGI规范的业务逻辑文件,服务器可以不解析不符合CGI规范的业务逻辑文件。
步骤S706:服务器在业务逻辑文件Fi的基类中查找第一关键词对应的请求方法和第二关键词对应的入口方法,其中,i为项目的文件夹中符合CGI规范的业务逻辑文件的集合中业务逻辑文件的索引,i为正整数,i=1,2,…,N,N为项目的文件夹中符合CGI规范的业务逻辑文件的个数,第一关键词为用于指示请求方法的词语,比如“method”,第二关键词可以是用于指示入口方法的词语,比如,“handle”。
步骤S708:服务器根据请求方法与路由格式的对应关系,选择业务逻辑文件业务逻辑文件Fi的请求方法对应的路由格式,将业务逻辑文件Fi的路径和业务逻辑文件Fi的入口方法写入到业务逻辑文件Fi的请求方法对应的路由格式,得到业务逻辑文件Fi的路由,i=1,2,…,N。
上述S704-S708的具体实现可以参照上述图4-图5所示的方法实施例中相关描述,此处不再赘述。
步骤S710:服务器将业务逻辑文件Fi(i=1,2,…,N)的路由加载到内存。
应理解,上述业务逻辑文件、路由的配置方法等可以使用node.js、Python、C语言、Java、JavaScript、Ruby等开发语言实现,还可以通过其他的多个开发语言的结合实现,本发明实施例不作限定。
本发明实施例中,服务器解析项目的文件夹中的至少两个业务逻辑文件,得到所述至少两个业务逻辑文件中每一个业务逻辑文件的属性;进而,根据每一个业务逻辑文件的路径和属性,自动生成每一个业务逻辑文件的路由,得到至少两个业务逻辑文件的路由,以在服务器接收到客户端发送的动态请求后,在自动生成的至少两个业务逻辑文件的路由中查找与动态请求的请求方法和请求地址相匹配的路由,以通过匹配的路由对应的业务逻辑文件的入口方法响应该动态请求。采用本发明,可以避免开发者手动修改或创建路由,降低路由出错机率,提高项目开发效率。
进一步地,服务器解析项目的文件夹中的至少两个业务逻辑文件和自动生成该至少两个业务逻辑文件的路由的操作可以发生在服务器对该项目启动的过程中,此时,服务器可以不需要生成路由配置文件,可以直接将多个业务逻辑文件的路由加载到服务的内存中,以使服务器为终端设备发送的多个不同的请求提供服务,进一步地,进一步地降低路由出错机率,提高项目开发效率。
下面介绍本发明实施例涉及的装置。
图8是本发明实施例提供的一种路由配置装置的结构示意图;该路由配置装置80具体可以是图3中的服务器301,可以包括:
解析单元801,用于解析项目的文件夹中的多个业务逻辑文件,得到所述多个业务逻辑文件中每一个业务逻辑文件的属性,所述属性包括请求方法和入口方法;
生成单元802,用于针对所述多个业务逻辑文件中的每一个业务逻辑文件,根据所述每一个业务逻辑文件的属性和路径,自动生成所述每一个业务逻辑文件的路由,得到所述多个业务逻辑文件的路由。
可选地,装置80还可以包括:加载单元803,用于将所述多个业务逻辑文件的路由加载到内存;
其中,所述多个业务逻辑文件的路由用于在接收到客户端发送的动态请求后,在所述多个业务逻辑文件的路由中查找与所述动态请求的请求方法和请求地址相匹配的路由,以通过匹配的路由对应的业务逻辑文件的入口方法响应所述动态请求
在本发明的一种实现中,所述装置80还包括:
接收单元803,用于在所述解析单元执行所述解析项目的文件夹中的多个业务逻辑文件之前,接收针对所述项目的启动指令,所述启动指令用于触发所述服务器运行所述项目。
在本发明的一种实现中,所述装置80还包括:
检测单元805,用于在所述解析单元解析所述项目的文件夹中的多个业务逻辑文件之前,检测所述项目的文件夹中的业务逻辑文件是否符合CGI规范,所述多个业务逻辑文件为所述项目的文件夹中的符合CGI规范的业务逻辑文件的集合。
在本发明的一种实现中,所述多个业务逻辑文件分别继承基类,所述基类包括:可访问业务逻辑文件的请求方法和访问业务逻辑文件的入口方法。
在本发明的一种实现中,所述解析单元801具体用于:
在所述第一业务逻辑文件的类中查找第一关键词,得到所述第一关键词对应的请求方法,所述第一关键词为用于指示请求方法的词语,如“method”;
在所述第一业务逻辑文件的类中查找第二关键词,得到所述第二关键词对应的入口方法,所述第二关键词为用于指示入口方法的词语,比如“handle”,第一业务逻辑文件是所述多个业务逻辑文件中的任意一个业务逻辑文件。
在本发明的一种实现中,所述生成单元802具体用于:
根据请求方法与路由格式的对应关系,选择所述第一业务逻辑文件的请求方法对应的路由格式,所述第一业务逻辑文件为所述多个业务逻辑文件中任意一个业务逻辑文件;
将所述第一业务逻辑文件的路径和所述第一业务逻辑文件的入口方法写入到所述第一业务逻辑文件的请求方法对应的路由格式,得到所述第一业务逻辑文件的路由。
在本发明的一种实现中,所述装置80还包括:
拼接单元806,在所述生成单元802执行所述针对所述多个业务逻辑文件中的每一个业务逻辑文件,根据所述每一个业务逻辑文件的属性和路径,自动生成所述每一个业务逻辑文件的路由,得到所述多个业务逻辑文件的路由之前,将所述项目的路径和所述每一个业务逻辑文件在所述项目中的路径进行拼接,得到所述每一个业务逻辑文件的路径
其中,解析单元801的具体功能实现方式可以参见上述图4-图5所对应实施例中的步骤S402以及图7所示的步骤S706;生成单元802的具体功能实现方式可以参见上述图4-图5所对应实施例中的步骤S404、S4042-S4044以及图7所示的步骤S708;加载单元803的具体功能实现方式可以参见上述图4和图5中的S405,或图7所对应实施例中的步骤S710;接收单元804的具体功能实现方式可以参见上述图7所对应实施例中的步骤S702;检测单元805的具体功能实现方式可以参见上述图5所对应实施例中的步骤S401以及图7所示的步骤S704;拼接单元806的具体功能实现方式可以参见上述图5所对应实施例中的步骤S403,本发明实施例不再赘述。
本发明实施例中,服务器解析项目的文件夹中的多个业务逻辑文件,得到所述多个业务逻辑文件中每一个业务逻辑文件的属性;进而,针对第一业务逻辑文件,根据所述第一业务逻辑文件的路径和所述第一业务逻辑文件的请求方法和入口方法,自动生成所述第一业务逻辑文件的路由,所述第一业务逻辑文件为所述多个业务逻辑文件中任意一个业务逻辑文件。采用本发明,可以避免开发者手动修改或创建路由,降低路由出错几率,提高项目开发效率。
进一步地,服务器解析项目的文件夹中的多个业务逻辑文件和自动生成多个业务逻辑文件的路由的操作可以发生在服务器对该项目的启动过程中,此时,服务器可以不需要生成路由配置文件,可以直接将多个业务逻辑文件的路由加载到服务的内存中,以使服务器为终端设备发送的多个不同的请求提供服务,进一步地,进一步地降低路由出错几率,提高项目开发效率。
图9是本发明实施例提供的又一种路由配置装置的结构示意图。该路由配置装置90具体可以是图3中的服务器301,可以包括:处理器901,网络接口904、内存906和非易失性存储器905,此外,上述路由配置装置90还可以包括:用户接口903,和至少一个通信总线902。其中,通信总线902用于实现这些组件之间的连接通信。其中,用户接口903可以包括显示屏(Display)、键盘(Keyboard),可选用户接口903还可以包括标准的有线接口、无线接口。网络接口904可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。内存可以是高速RAM(Random Access Memory)存储器、RAM随机访问存储器、NVRAM等,非易失性存储器(non-volatile memory,NVM)905可以是1005可以是ROM(Read Only Memory)、闪存、硬盘等。可选的非易失性存储器905还可以是至少一个位于远离前述处理器901的存储装置。如图9所示,作为一种计算机可读存储介质的存储器905中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序,在装置90运行时,可以将上述操作系统、网络通信模块、用户接口模块以及设备控制应用程序加载到内存906.以实现装置90的各种功能。
在如图9所示的路由配置装置90中,网络接口904可提供网络通讯功能;而用户接口903主要用于为用户提供输入的接口;而处理器901可以用于调用存储器905中存储的设备控制应用程序,以实现:
解析项目的文件夹中的多个业务逻辑文件,得到所述多个业务逻辑文件中每一个业务逻辑文件的属性,所述属性包括请求方法和入口方法;
针对所述多个业务逻辑文件中的每一个业务逻辑文件,根据所述每一个业务逻辑文件的属性和路径,自动生成所述每一个业务逻辑文件的路由,得到所述多个业务逻辑文件的路由;
将所述多个业务逻辑文件的路由加载到内存;
其中,所述多个业务逻辑文件的路由用于在接收到客户端发送的动态请求后,在所述多个业务逻辑文件的路由中查找与所述动态请求的请求方法和请求地址相匹配的路由,以通过匹配的路由对应的业务逻辑文件的入口方法响应所述动态请求。
可选地,业务逻辑文件的属性还包括业务逻辑文件的标识。
其中,上述功能的具体实现可以参见上述图4所示的实施例中步骤S402-S416、图5所示的实施例中步骤S401-S416、图7所示的实施例中S702-S712中的相关描述,此处不再赘述。
可选地,处理器901还用于在执行解析项目的文件夹中的多个业务逻辑文件之前,还可以执行通过用户接口接收针对所述项目的启动指令,所述启动指令用于触发所述服务器运行所述项目。其中,上述功能的具体实现可以参见图7所示的实施例中S702中相关描述,此处不再赘述。
应理解,如图9所示,在启动项目或者重启项目时,处理器901可以将生成的多个业务逻辑文件中每一个业务逻辑文件的路由加载到内存,此时,非易失性存储器905可以包括业务逻辑文件,但不包括路由配置文件。
应理解,在本发明实施例的另一种实现中,非易失性存储器905可以包括路由配置文件和业务逻辑文件。
可选地,处理器901还用于在解析所述项目的文件夹中的多个业务逻辑文件之前,检测所述项目的文件夹中的业务逻辑文件是否符合CGI规范,所述多个业务逻辑文件为所述项目的文件夹中的符合CGI规范的业务逻辑文件的集合。其中,上述功能的具体实现可以参见图5所示的实施例中S401中相关描述,参见图7所示的实施例中S704中相关描述此处不再赘述。
可选地,所述多个业务逻辑文件分别继承基类,所述基类包括:可访问业务逻辑文件的请求方法和访问业务逻辑文件的入口方法。
处理器901还可以实现上述图4、图5、图7任一个图对应实施例中对所述路由的配置方法的描述,这里不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
应当理解,本发明实施例中所描述的路由配置装置90可执行前文图4、图5、图7任一个图对应实施例中对所述路由的配置方法的描述,也可执行前文图3对应的实施例中对服务器301、图8所对应实施例中对所述路由配置装置90的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的路由配置装置90所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器901执行所述程序指令时,能够实现前文图4、图5、图7任一个所对应实施例中对所述路由的配置方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (13)
1.一种路由的配置的方法,其特征在于,包括:
解析项目的文件夹中的至少两个业务逻辑文件,得到所述至少两个业务逻辑文件中每一个业务逻辑文件的属性,所述属性包括请求方法和入口方法;
针对所述至少两个业务逻辑文件中的每一个业务逻辑文件,根据所述每一个业务逻辑文件的属性和路径,自动生成所述每一个业务逻辑文件的路由,得到所述至少两个业务逻辑文件的路由;
其中,所述至少两个业务逻辑文件的路由用于在接收到客户端发送的动态请求后,在所述至少两个业务逻辑文件的路由中查找与所述动态请求的请求方法和请求地址相匹配的路由,以通过匹配的路由对应的业务逻辑文件的入口方法响应所述动态请求;
其中,针对所述至少两个业务逻辑文件中的每一个业务逻辑文件,根据所述每一个业务逻辑文件的属性和路径,自动生成所述每一个业务逻辑文件的路由,得到所述至少两个业务逻辑文件的路由,包括:
根据请求方法与路由格式的对应关系,选择第一业务逻辑文件的请求方法对应的路由格式,所述第一业务逻辑文件为所述至少两个业务逻辑文件中任意一个业务逻辑文件;
将所述第一业务逻辑文件的路径和所述第一业务逻辑文件的入口方法写入到所述第一业务逻辑文件的请求方法对应的路由格式,得到所述第一业务逻辑文件的路由。
2.根据权利要求1所述的方法,其特征在于,所述解析项目的文件夹中的至少两个业务逻辑文件之前,所述方法还包括:
接收针对所述项目的启动指令,所述启动指令用于触发运行所述项目。
3.根据权利要求1所述的方法,其特征在于,所述解析所述项目的文件夹中的至少两个业务逻辑文件之前,所述方法还包括:
检测所述项目的文件夹中的业务逻辑文件是否符合通用网关接口CGI规范,所述至少两个业务逻辑文件为所述项目的文件夹中的符合CGI规范的业务逻辑文件的集合。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述至少两个业务逻辑文件中每一个业务逻辑文件的类包括:可访问业务逻辑文件的请求方法和访问业务逻辑文件的入口方法。
5.根据权利要求4所述的方法,其特征在于,所述解析所述项目的文件夹中的至少两个业务逻辑文件,得到所述至少两个业务逻辑文件中每一个业务逻辑文件的属性,具体包括:
在所述第一业务逻辑文件的类中查找第一关键词,得到所述第一关键词对应的请求方法,所述第一关键词为用于指示所述请求方法的词语;
在所述第一业务逻辑文件的类中查找第二关键词,得到所述第二关键词对应的入口方法,所述第二关键词用于指示所述入口方法的词语,第一业务逻辑文件是所述至少两个业务逻辑文件中的任意一个业务逻辑文件。
6.根据权利要求1-3、5任一项所述的方法,其特征在于,所述针对所述至少两个业务逻辑文件中的每一个业务逻辑文件,根据所述每一个业务逻辑文件的属性和路径,自动生成所述每一个业务逻辑文件的路由,得到所述至少两个业务逻辑文件的路由之前,所述方法还包括:
将所述项目的路径和所述每一个业务逻辑文件在所述项目中的路径进行拼接,得到所述每一个业务逻辑文件的路径。
7.一种路由配置装置,其特征在于,包括:
解析单元,用于解析项目的文件夹中的至少两个业务逻辑文件,得到所述至少两个业务逻辑文件中每一个业务逻辑文件的属性,所述属性包括请求方法和入口方法;
生成单元,用于针对所述至少两个业务逻辑文件中的每一个业务逻辑文件,根据所述每一个业务逻辑文件的属性和路径,自动生成所述每一个业务逻辑文件的路由,得到所述至少两个业务逻辑文件的路由;
其中,所述至少两个业务逻辑文件的路由用于在接收到客户端发送的动态请求后,在所述至少两个业务逻辑文件的路由中查找与所述动态请求的请求方法和请求地址相匹配的路由,以通过匹配的路由对应的业务逻辑文件的入口方法响应所述动态请求;
其中,所述生成单元,具体用于:
根据请求方法与路由格式的对应关系,选择第一业务逻辑文件的请求方法对应的路由格式,所述第一业务逻辑文件为所述至少两个业务逻辑文件中任意一个业务逻辑文件;
将所述第一业务逻辑文件的路径和所述第一业务逻辑文件的入口方法写入到所述第一业务逻辑文件的请求方法对应的路由格式,得到所述第一业务逻辑文件的路由。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
接收单元,用于在所述解析单元执行所述解析项目的文件夹中的至少两个业务逻辑文件之前,接收针对所述项目的启动指令,所述启动指令用于触发服务器运行所述项目。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
检测单元,用于在所述解析单元执行所述解析所述项目的文件夹中的至少两个业务逻辑文件之前,检测所述项目的文件夹中的业务逻辑文件是否符合通用网关接口CGI规范,所述至少两个业务逻辑文件为所述项目的文件夹中的符合CGI规范的业务逻辑文件的集合。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述至少两个业务逻辑文件分别继承基类,所述基类包括:可访问业务逻辑文件的请求方法和访问业务逻辑文件的入口方法。
11.根据权利要求10所述的装置,其特征在于,所述解析单元具体用于:
在所述第一业务逻辑文件的类中查找第一关键词,得到所述第一关键词对应的请求方法,所述第一关键词为用于指示所述请求方法的词语;
在所述第一业务逻辑文件的类中查找第二关键词,得到所述第二关键词对应的入口方法,所述第二关键词为用于指示所述入口方法的词语,第一业务逻辑文件是所述至少两个业务逻辑文件中的任意一个业务逻辑文件。
12.一种路由的配置,其特征在于,包括:处理器和存储器;所述存储器用于存储程序,所述处理器执行所述存储器存储的程序,当所述存储器存储的程序被执行时,可实现如权利要求1-6任一项所述的方法。
13.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,可实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910803159.XA CN110515905B (zh) | 2019-08-28 | 2019-08-28 | 一种路由的配置的方法、装置以及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910803159.XA CN110515905B (zh) | 2019-08-28 | 2019-08-28 | 一种路由的配置的方法、装置以及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110515905A CN110515905A (zh) | 2019-11-29 |
CN110515905B true CN110515905B (zh) | 2023-10-20 |
Family
ID=68628518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910803159.XA Active CN110515905B (zh) | 2019-08-28 | 2019-08-28 | 一种路由的配置的方法、装置以及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515905B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708523B (zh) * | 2020-05-20 | 2023-10-13 | 广州太平洋电脑信息咨询有限公司 | 一种基于NodeJs的开发方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107634861A (zh) * | 2017-10-10 | 2018-01-26 | 安徽皖通邮电股份有限公司 | 一种路由器多业务配置分层管理方法 |
CN107809383A (zh) * | 2016-09-08 | 2018-03-16 | 腾讯科技(深圳)有限公司 | 一种基于mvc的路径映射方法及装置 |
CN108390773A (zh) * | 2018-02-02 | 2018-08-10 | 上海汉得信息技术股份有限公司 | 一种用于脚手架的动态路由的方法及设备 |
CN108696381A (zh) * | 2017-04-12 | 2018-10-23 | 腾讯科技(深圳)有限公司 | 一种协议配置方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8943086B2 (en) * | 2012-06-29 | 2015-01-27 | Sap Se | Model-based backend service adaptation of business objects |
-
2019
- 2019-08-28 CN CN201910803159.XA patent/CN110515905B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107809383A (zh) * | 2016-09-08 | 2018-03-16 | 腾讯科技(深圳)有限公司 | 一种基于mvc的路径映射方法及装置 |
CN108696381A (zh) * | 2017-04-12 | 2018-10-23 | 腾讯科技(深圳)有限公司 | 一种协议配置方法及装置 |
CN107634861A (zh) * | 2017-10-10 | 2018-01-26 | 安徽皖通邮电股份有限公司 | 一种路由器多业务配置分层管理方法 |
CN108390773A (zh) * | 2018-02-02 | 2018-08-10 | 上海汉得信息技术股份有限公司 | 一种用于脚手架的动态路由的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110515905A (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11481184B2 (en) | Database systems and methods for conversation-driven dynamic updates | |
US9953639B2 (en) | Voice recognition system and construction method thereof | |
US20140075242A1 (en) | Testing rest api applications | |
WO2020223268A1 (en) | A declarative and reactive data layer for component-based user interfaces | |
CN110781505B (zh) | 系统构建方法及装置、检索方法及装置、介质和设备 | |
US20150012533A1 (en) | Method and client device for accessing webpage | |
CN112417360B (zh) | 网页渲染方法和装置 | |
CN109657434B (zh) | 应用访问方法及装置 | |
US11882154B2 (en) | Template representation of security resources | |
CN111654542B (zh) | 代理服务器、执行服务器、接收设备以及任务执行方法 | |
CN113395340A (zh) | 一种信息更新方法、装置、设备、系统和可读存储介质 | |
CN108021564A (zh) | 一种页面重定向的方法和设备 | |
EP3974960B1 (en) | Method and system for automated testing of web service apis | |
CN110515905B (zh) | 一种路由的配置的方法、装置以及服务器 | |
CN112688811B (zh) | 无线局域网络管理方法、装置、设备和存储介质 | |
US9398041B2 (en) | Identifying stored vulnerabilities in a web service | |
US20160335104A1 (en) | Universal database driver | |
CN113326418A (zh) | 用于确定网页信息源及网页质量的方法和装置 | |
US20140280335A1 (en) | System and method to allow a domain name server to process a natural language query and determine context | |
CN109635175B (zh) | 页面数据拼接方法、装置、可读存储介质和电子设备 | |
CN114489772A (zh) | 工作流执行方法及装置、存储介质、设备 | |
CN111563389B (zh) | 一种用户原创内容的翻译方法和装置 | |
CN111726373B (zh) | 通信链路构建方法、装置和设备 | |
US20230229800A1 (en) | Content variation to track documents | |
US10778514B1 (en) | Universal configurations |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |