CN104765596A - 请求处理方法和装置 - Google Patents
请求处理方法和装置 Download PDFInfo
- Publication number
- CN104765596A CN104765596A CN201410009271.3A CN201410009271A CN104765596A CN 104765596 A CN104765596 A CN 104765596A CN 201410009271 A CN201410009271 A CN 201410009271A CN 104765596 A CN104765596 A CN 104765596A
- Authority
- CN
- China
- Prior art keywords
- module
- key
- course
- layer
- mark
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种请求处理方法和装置。其中,该方法包括:接收请求,其中,请求中携带有用于指示位于模块层的第一模块层模块的第一标识,用于指示位于控制层的第一控制层模块的第二标识,以及用于指示第一控制层模块中的第一功能模块的第三标识,第一模块层模块具有包括第一控制层模块在内的一个或多个控制层模块;从请求中获取第一标识、第二标识以及第三标识;根据获取到的第一标识、第二标识以及第三标识调用请求分配到第一模块层模块中的第一控制层模块中的第一功能模块。本发明解决了现有MVC架构内部的控制逻辑层代码过于庞大且耦合度高所造成的代码结构混乱的技术问题,达到了模块层与数据层分离,增强模块独立性的技术效果。
Description
技术领域
本发明涉及互联网领域,具体而言,涉及一种请求处理方法和装置。
背景技术
作为现有的一种软件设计架构,MVC(Model View Controller,模型-视图-控制器)架构经常被用于组织代码。如图1所示,在MVC架构中,Model层(模型层)主要负责业务逻辑以及数据处理,集成了业务逻辑代码和数据源代码;View层(视图层)主要用于显示数据和提交数据;Controller(控制器)主要用于捕获请求并控制请求转发。该业务逻辑采用数据与显示分离的方法,业务逻辑被聚集到一个部件里,这样可以方便地改变或个性化定制显示界面,而无需重新编写业务逻辑。MVC架构经常被用于将传统的输入、处理和输出功能映射在一个逻辑的图形化用户界面的结构中。
然而,虽然在MVC架构中数据与显示分离,但是MVC架构内部的数据源代码与业务逻辑层代码不能分离,控制逻辑层代码内部集成数据源代码,这样导致代码结构混乱。当一种业务逻辑由于变更而需要调用另一种业务逻辑中的数据源时,需要重新改写该业务逻辑所对应的控制逻辑层代码,以使得改写后的控制逻辑层代码包括另一种业务逻辑中的数据源对应的数据源代码,这样大大增加了业务逻辑发生变更时代码更新的复杂度,降低了代码更新的效率。
此外,现有的MVC架构中的控制逻辑层代码过于庞大且耦合度高,这样也会导致代码结构混乱。当一种业务逻辑需要调用另一种业务逻辑中的功能模块时,需要重新改写该业务逻辑所对应的控制逻辑层代码,以使得改写后的控制逻辑层代码包括另一种业务逻辑中的控制逻辑层代码中的功能模块,这样大大增加了业务逻辑发生变更时代码更新的复杂度,降低了代码更新的效率。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种请求处理方法和装置,以至少解决现有MVC架构内部的控制逻辑层代码过于庞大且耦合度高所造成的代码结构混乱的技术问题。
根据本发明实施例的一个方面,提供了一种请求处理方法,包括:接收请求,其中,请求中携带有用于指示位于模块层的第一模块层模块的第一标识,用于指示位于控制层的第一控制层模块的第二标识,以及用于指示第一控制层模块中的第一功能模块的第三标识,第一模块层模块具有包括第一控制层模块在内的一个或多个控制层模块;从请求中获取第一标识、第二标识以及第三标识;根据获取到的第一标识、第二标识以及第三标识调用请求分配到第一模块层模块中的第一控制层模块中的第一功能模块。
作为一种可选的方案,根据获取到的第一标识、第二标识以及第三标识调用请求分配到第一模块层模块中的第一控制层模块中的第一功能模块包括:查找第一标识指示的第一模块层模块;在第一模块层模块中查找第二标识指示的第一控制层模块;在第一控制层模块中调用第三标识指示的第一功能模块。
作为一种可选的方案,在第一控制层模块中调用第三标识指示的第一功能模块包括:根据第一功能模块中的指示信息调用位于控制层的第二控制层模块中的第二功能模块,其中,第二控制层模块属于第一模块层模块中的控制层模块,和/或,第二控制层模块属于位于模块层的第二模块层模块中的控制层模块。
作为一种可选的方案,在第一控制层模块中调用第三标识指示的第一功能模块包括:根据第一功能模块中的指示信息调用位于数据层的DAO模块中的数据库,其中,数据库中记录了用于执行第一功能模块对应的业务逻辑所需的数据。
作为一种可选的方案,在根据获取到的第一标识、第二标识以及第三标识将请求分配到第一模块层模块中的第一控制层模块中的第一功能模块进行处理之后,还包括:调用显示功能模块输出处理的结果,其中,显示功能模块包括以下至少之一:JSON输出模块、XML输出模块、视图输出模块。
作为一种可选的方案,在接收请求之前,还包括:设置一个或多个位于模块层的模块层模块,其中,模块层模块包括第一模块层模块;设置一个或多个位于控制层的控制层模块,其中,控制层模块包括第一控制层模块;在每个控制层模块中设置一个或多个功能模块,其中,每个功能模块对应一种或多种业务逻辑。
作为一种可选的方案,在接收请求之前,还包括:设置位于数据层的DAO模块,其中,DAO模块中存储的数据库记录了执行一种或多种业务逻辑所需的数据。
作为一种可选的方案,该方法还包括:不同的模块层模块对应不同的应用。
作为一种可选的方案,该方法还包括:接收功能模块修改请求;对功能模块修改请求所指示的功能模块对应的业务逻辑进行修改。
根据本发明实施例的另一方面,还提供了一种请求处理装置,包括:第一接收单元,用于接受请求,其中,请求中携带有用于指示位于模块层的第一模块层模块的第一标识,用于指示位于控制层的第一控制层模块的第二标识,以及用于指示第一控制层模块中的第一功能模块的第三标识,第一模块层模块具有包括第一控制层模块在内的一个或多个控制层模块;获取单元,用于从请求中获取第一标识、第二标识以及第三标识;第一调用单元,用于根据获取到的第一标识、第二标识以及第三标识调用请求分配到第一模块层模块中的第一控制层模块中的第一功能模块。
作为一种可选的方案,第一调用单元包括:第一查找模块,用于查找第一标识指示的第一模块层模块;第二查找模块,用于在第一模块层模块中查找第二标识指示的第一控制层模块;第一调用模块,在第一控制层模块中调用第三标识指示的第一功能模块。
作为一种可选的方案,第一调用模块包括:第一调用子模块,用于根据第一功能模块中的指示信息调用位于控制层的第二控制层模块中的第二功能模块,其中,第二控制层模块属于第一模块层模块中的控制层模块,和/或,第二控制层模块属于位于模块层的第二模块层模块中的控制层模块。
作为一种可选的方案,第一调用模块包括:第二调用子模块,用于根据第一功能模块中的指示信息调用位于数据层的DAO模块中的数据库,其中,数据库中记录了用于执行第一功能模块对应的业务逻辑所需的数据。
作为一种可选的方案,该装置还包括:第二调用单元,用于在根据获取到的第一标识、第二标识以及第三标识将请求分配到第一模块层模块中的第一控制层模块中的第一功能模块进行处理之后,调用显示功能模块输出处理的结果,其中,显示功能模块包括以下至少之一:JSON输出模块、XML输出模块、视图输出模块。
作为一种可选的方案,该装置还包括:第一设置单元,用于在接收请求之前,设置一个或多个位于模块层的模块层模块,其中,模块层模块包括第一模块层模块;第二设置单元,用于设置一个或多个位于控制层的控制层模块,其中,控制层模块包括第一控制层模块;第三设置单元,用于在每个控制层模块中设置一个或多个功能模块,其中,每个功能模块对应一种或多种业务逻辑。
作为一种可选的方案,该装置还包括:第四设置单元,用于在接收请求之前,设置位于数据层的DAO模块,其中,DAO模块中存储的数据库记录了执行一种或多种业务逻辑所需的数据。
作为一种可选的方案,该装置还包括:第二接收单元,用于接收功能模块修改请求;修改单元,用于对功能模块修改请求所指示的功能模块对应的业务逻辑进行修改。
在本发明实施例中,采用分层的方式,通过将MVC架构划分为模块层、控制层、数据层,逐层查找调用,使得各层之间的关联简单和独立,避免了现有MVC架构内部的控制逻辑层代码过于庞大且耦合度高所造成的代码结构混乱的问题。此外,在本申请的实施例的架构中,控制层模块中的各个功能模块可以独立地实现单一逻辑,使得其他控制层模块可以按需对本控制层模块中的功能模块进行调用,这样不需要在多个控制层模块中都包含相同的功能模块,大大降低了代码更新的复杂度,提高了代码更新的效率。此外,在维护功能模块时,不需要维护多个控制层模块中包含的多个相同的功能模块,从而降低了维护成本,提高了维护效率。此外,控制层模块调用功能模块时,功能模块可以依照指示调用数据层的DAO模块中的数据库,数据层中数据与控制层模块分离,实现了灵活调用,无需重新改写业务逻辑所对应的控制逻辑层代码,这样大大降低了业务逻辑发生变更时代码更新的复杂度,提高了代码更新的效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种MVC架构的示意图;
图2是根据本发明实施例的一种可选的请求处理方法的流程图;
图3是根据本发明实施例的另一种可选的请求处理方法的流程图;
图4是根据本发明实施例的又一种可选的请求处理方法的流程图;
图5是根据本发明实施例的又一种可选的请求处理方法的流程图;
图6是根据本发明实施例的又一种可选的请求处理方法的流程图;
图7是根据本发明实施例的又一种可选的请求处理方法的流程图;
图8是根据本发明实施例的又一种可选的请求处理方法的流程图;
图9是根据本发明实施例的一种可选的架构示意图;
图10是根据本发明实施例的另一种可选的架构示意图;
图11是根据本发明实施例的一种可选的请求处理装置的示意图;
图12是根据本发明实施例的另一种可选的请求处理装置的示意图;
图13是根据本发明实施例的又一种可选的请求处理装置的示意图;
图14是根据本发明实施例的又一种可选的请求处理装置的示意图;
图15是根据本发明实施例的又一种可选的请求处理装置的示意图;
图16是根据本发明实施例的又一种可选的请求处理装置的示意图;以及
图17是根据本发明实施例的又一种可选的请求处理装置的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1
根据本发明实施例,提供了一种请求处理方法,如图2所示,该方法包括:
S202,接收请求,其中,请求中携带有用于指示位于模块层的第一模块层模块的第一标识,用于指示位于控制层的第一控制层模块的第二标识,以及用于指示第一控制层模块中的第一功能模块的第三标识;
可选地,上述请求可以由终端发送给服务器,例如,用户通过终端上的微博客户端向管理微博应用的服务器发送上述请求。
可选地,在上述服务器上预先配置本实施例提出的模块架构,作为一种可选的示例,上述模块架构可以如图9和图10所示。
如图9所示,上述模块架构可以分为模块层、控制层和数据层。其中,位于模块层的每个模块层模块可以对应一个应用,其中,上述应用包括但并不限于以下至少之一:微信、微博。当然,本申请中的模块层模块不仅限于此,还可以对应或表示一个其他场景,例如,工作部门,其中,工作部门包括但不限于以下至少之一:市场部、采购部、销售部、财务部。
如图9所示,可以通过应用入口访问一个或多个模块层模块,例如,微信应用模块或微博应用模块,在图10中,每个模块层模块可以被显示为某一层级的文件夹,例如,微博应用模块在该模块架构中以“weibo”文件夹的形式存在。当然,模块层模块的存在形式不仅限于文件夹,除文件夹以外的形式也应被理解为被本实施例所保护。
进一步,如图9所示,每个模块层模块对应一个或多个控制层模块,位于控制层的控制层模块中设置一个或多个功能模块,其中,每个所述功能模块对应一种或多种业务逻辑,例如,上述业务逻辑可以为实现微博应用中的评论功能所对应的业务逻辑。
此外,如图10所示,每个控制层模块可以被显示为某一层级的文件,例如,微博应用模块所对应的“weibo”文件夹下包括微博控制层模块所对应的“Weibo.php”文件。可选地,微博应用模块包括但不限于以下微博控制层模块:分享控制模块、评论控制模块。当然,控制层模块的存在形式不仅限于文件,除文件以外的形式也应被理解为被本实施例所保护。
可选地,在本实施例中的功能模块以功能函数代码的形式存在。例如,为了实现微博应用下的评论功能,则可以通过请求来调用“微博”文件夹下的“评论”文件中实现“评论”功能的函数代码。
利用上述请求中携带的标识,通过第一标识查找相应的模块层模块,然后由第二标识从模块层模块查找到相应控制层模块,再由第三标识调用控制层模块中相对应的功能模块,通过功能模块相应的功能函数实现一种功能。
可选地,在本实施例中上述请求包括但不限于:链接地址。例如,请求为http://域名/index.php?m=weibo&c=weibo&a=_Run。
S204,从请求中获取第一标识、第二标识以及第三标识;
可选地,从所接收到的请求中获取第一标识、第二标识以及第三标识来查找调用相应模块下的功能函数。例如,以请求包括链接地址为例,当用户通过终端上的微博客户端发送了上述请求,以请求执行某项操作时,该链接地址为:
http://域名/index.php?m=weibo&c=weibo&a=_Run,
从该请求中可以获取第一标识m=weibo,第二标识c=weibo,第三标识a=_Run。
S206,根据获取到的第一标识、第二标识以及第三标识调用请求分配到第一模块层模块中的第一控制层模块中的第一功能模块。
可选地,获取第一标识、第二标识以及第三标识之后,可以根据三个标识调用请求分配到第一模块层模块中的第一控制层模块中的第一功能模块。
例如,以请求包括链接地址为例,当用户通过终端上的微博客户端发送了上述请求,以请求执行某项操作时,该链接地址为:
http://域名/index.php?m=weibo&c=weibo&a=_Run,
从该请求中可以获取第一标识m=weibo,第二标识c=weibo,第三标识a=_Run。由第一标识m=weibo可知,查找第一模块层模块weibo,接着由第二标识c=weibo可知,查找第一模块层模块weibo中第一控制层模块weibo,然后由第三标识a=_Run可知,调用第一模块层模块weibo中第一控制层模块weibo中的_Run的功能函数。
如图10所示,应用入口根据上述请求访问位于模块层的微博应用文件夹“weibo”;然后,访问该微博应用文件夹“weibo”下的“weibo”文件,并调用该“weibo”文件中的_Run的功能函数。
通过本申请提供的实施例,将MVC架构分为模块层、控制层、数据层三层,逐层查找调用,使得各层之间的关联简单和独立,避免了现有MVC架构内部的控制逻辑层代码过于庞大且耦合度高所造成的代码结构混乱的问题。此外,在本申请的实施例的架构中,控制层模块中的各个功能模块可以独立地实现单一逻辑,使得其他控制层模块可以按需对本控制层模块中的功能模块进行调用,这样不需要在多个控制层模块中都包含相同的功能模块,大大降低了代码更新的复杂度,提高了代码更新的效率。此外,在维护功能模块时,不需要维护多个控制层模块中包含的多个相同的功能模块,从而降低了维护成本,提高了维护效率。
作为一种可选的方案,如图3所示,根据获取到的第一标识、第二标识以及第三标识调用请求分配到第一模块层模块中的第一控制层模块中的第一功能模块包括:
S302,查找第一标识指示的第一模块层模块;
可选地,第一标识指示第一模块层模块,由所接收的请求中获取第一标识,进而查找到第一标识指示的第一模块层模块,例如,以请求包括链接地址为例,当用户通过终端上的微博客户端发送了上述请求,以请求执行某项操作时,该链接地址为:
http://域名/index.php?m=weibo&c=weibo&a=_Run,
从该请求中可以获取第一标识m=weibo,由第一标识m=weibo可知,查找第一模块层模块weibo。
例如,第一模块层模块为微博应用,获取第一标识(例如m=weibo)后,根据第一标识(例如m=weibo),查找到“微博”文件夹。
S304,在第一模块层模块中查找第二标识指示的第一控制层模块;
可选地,第二标识指示第一模块层模块中的第一控制层模块,例如,以请求包括链接地址为例,当用户通过终端上的微博客户端发送了上述请求,以请求执行某项操作时,该链接地址为:
http://域名/index.php?m=weibo&c=weibo&a=_Run,
从该请求中可以获取第二标识c=weibo,由第二标识c=weibo可知,查找第一模块层模块weibo中第一控制层模块weibo。
例如,第一模块层模块对应微博应用,第一控制层模块对应评论控制模块,获取第二标识(例如c=pinglun)后,根据第二标识(例如c=pinglun),查找到“微博”文件夹下“评论”的文件。
S306,在第一控制层模块中调用第三标识指示的第一功能模块。
可选地,第三标识指示第一模块层模块中的第一控制层模块中的第一功能模块,例如,以请求包括链接地址为例,当用户通过终端上的微博客户端发送了上述请求,以请求执行某项操作时,该链接地址为:
http://域名/index.php?m=weibo&c=weibo&a=_Run,
从该请求中可以获取第三标识a=_Run,由第三标识a=_Run可知,调用第一模块层模块weibo中第一控制层模块weibo中的_Run的功能函数。
例如,第一模块层模块对应微博应用,第一控制层模块对应评论控制模块,第一功能模块对应评论模块,则获取第三标识(例如a=_Run)后,根据第三标识(例如a=_Run)调用“微博”文件夹下“评论”文件中相应的函数代码。
通过本申请提供的实施例,将MVC架构分为模块层、控制层、数据层三层,逐层查找调用,使得各层之间的关联简单和独立,同时也避免了现有MVC架构内部的控制逻辑层代码过于庞大且耦合度高所造成的代码结构混乱的问题。
作为一种可选的方案,在第一控制层模块中调用第三标识指示的第一功能模块包括:根据第一功能模块中的指示信息调用位于控制层的第二控制层模块中的第二功能模块,其中,第二控制层模块属于第一模块层模块中的控制层模块,和/或,第二控制层模块属于位于模块层的第二模块层模块中的控制层模块。
可选地,在第一控制层模块中调用第三标识指示的第一功能模块包括:根据第一功能模块的指示信息调用位于控制层的第二控制层模块中的第二功能模块。
可选地,在本实施例中第一功能模块的指示信息可以由但不限于程序代码中的函数或者参数或者指令来实现。
例如,第一控制层模块为评论控制模块,第二控制层模块为分享控制模块,该评论控制模块和分享控制模块属于同一个微博应用模块,即,评论控制模块和分享控制模块对应的文件均位于微博应用模块对应的文件夹中。
在本实施例中,评论控制模块调用第三标识指示的第一功能模块,例如“评论”的功能函数,其中,第一功能模块指示调用分享控制模块中的第二功能模块,例如,实现“分享”功能的函数代码,则可实现在“评论”的同时实现“分享”。
可选地,在本实施例中第二控制层模块包括但不限于以下至少之一:属于第一模块层模块中的控制层模块,属于位于模块层的第二模块层模块中的控制层模块。
例如,第一模块层模块对应微信应用,第二模块层模块对应微博应用,第一控制层模块为评论控制模块,第二控制层模块为分享控制模块,在本实施例中,分享控制模块可以属于微信应用所在的第一模块层模块,也可以属于微博应用所在的第二模块层模块。
通过本申请提供的实施例,将MVC架构分为模块层、控制层、数据层三层,逐层查找调用,使得各层之间的关联简单和独立,避免了现有MVC架构内部的控制逻辑层代码过于庞大且耦合度高所造成的代码结构混乱的问题。此外,在本申请的实施例的架构中,控制层模块中的各个功能模块可以独立地实现单一逻辑,使得其他控制层模块可以按需对本控制层模块中的功能模块进行调用,这样不需要在多个控制层模块中都包含相同的功能模块,大大降低了代码更新的复杂度,提高了代码更新的效率。此外,在维护功能模块时,不需要维护多个控制层模块中包含的多个相同的功能模块,从而降低了维护成本,提高了维护效率。
作为一种可选的方案,如图4所示,在第一控制层模块中调用第三标识指示的第一功能模块包括:
S402,根据第一功能模块中的指示信息调用位于数据层的DAO模块中的数据库。
可选地,在本实施例中数据库中包括但不限于:用于执行第一功能模块对应的业务逻辑所需的数据。
可选地,在本实施例中业务逻辑所需的数据包括但不限于以下至少之一:用户信息,历史记录,业务表单。
例如,根据“评论”中的指示信息调用数据层的DAO模块中用户信息,例如好友名单,以便于在评论过程中“”好友。
通过本申请提供的实施例,控制层模块调用功能模块时,功能模块可以依照指示调用数据层的DAO模块中的数据库,数据层中数据与控制层模块分离,实现了灵活调用,无需重新改写业务逻辑所对应的控制逻辑层代码,这样大大降低了业务逻辑发生变更时代码更新的复杂度,提高了代码更新的效率。
作为一种可选的方案,如图5所示,在根据获取到的第一标识、第二标识以及第三标识将请求分配到第一模块层模块中的第一控制层模块中的第一功能模块进行处理之后,还包括:
S502,调用显示功能模块输出处理的结果。
可选地,在本实施例中显示功能模块包括但不限于以下至少之一:JSON输出模块、XML输出模块、视图输出模块。
例如,第一模块层模块对应微博应用,第一控制层模块对应评论控制模块,第一功能模块对应评论模块,在本实施例中,根据获取到的第一标识,第二标识及第三标识,调用微博应用下评论控制模块中相应的功能函数之后,调用显示功能模块,例如,视图输出,通过视图的形式显示所做出的评论结果。
通过本申请提供的实施例,通过调用显示功能模块输出处理的结果,可以方便用户更直观地看到请求处理的结果。
作为一种可选的方案,如图6所示,在接收请求之前,还包括:
S602,设置一个或多个位于模块层的模块层模块,其中,模块层模块包括第一模块层模块;
可选地,构建上述架构可以设置一个或多个位于模块层的模块层模块。可选地,在本实施例中模块层的模块包括但不限于以下至少之一:单个应用、工作部门。其中,单个应用包括但并不限于以下至少之一:微信、微博。其中,工作部门包括但不限于以下至少之一:市场部、采购部、销售部、财务部。
可选地,在本实施例中所接收的请求中模块层的模块以文件夹的形式存在。例如,微博应用模块在该架构中以“微博”文件夹的形式存在。
S604,设置一个或多个位于控制层的控制层模块,其中,控制层模块包括第一控制层模块;
可选地,构建上述架构可以设置一个或多个位于控制层的控制层模块。在本实施例中每个模块层模块可以包括一个或多个控制层模块,例如,微博模块包括但不限于:分享控制模块、评论控制模块。
可选地,在本实施例中控制层的模块以文件形式存在。例如,微博应用下的评论功能,以“微博”文件夹下的“评论”文件的形式存在。
S606,在每个控制层模块中设置一个或多个功能模块,其中,每个功能模块对应一种或多种业务逻辑。
可选地,构建上述架构可以每个控制层模块中设置一个或多个功能模块。例如,评论中包括但不限于:评论、赞、转发。
可选地,每个功能模块对应一种或多种业务逻辑。例如,评论的功能函数包括但不限于:发送、接收。
可选地,在本实施例中功能模块以功能函数代码形式存在。例如,微博应用下的评论功能,通过调用“微博”文件夹下的“评论”文件中“评论”功能的函数代码实现。
通过本申请提供的实施例,构建模块层、控制层、数据层三层MVC架构,实现了数据层数据与控制层模块分离,增强了其独立性的同时,还大大降低了业务逻辑发生变更时代码更新的复杂度,提高了代码更新的效率。
作为一种可选的方案,如图7所示,在接收请求之前,还包括:
S702,设置位于数据层的DAO模块。
可选地,构建上述架构可以设置位于数据层的DAO模块。
可选地,在本实施例中DAO模块包括但不限于:存储的数据库记录了执行一种或多种业务逻辑所需的数据。
可选地,在本实施例中业务逻辑所需的数据包括但不限于以下至少之一:用户信息,历史记录,业务表单。
例如,数据层的DAO模块中存储了用户信息,例如好友名单,以便于在评论过程中“”好友。
通过本申请提供的实施例,设置的数据层数据与控制层模块分离,解决了现有MVC架构模块内部集成数据源操作所导致的代码结构混乱的问题。
作为一种可选的方案,不同的模块层模块对应不同的应用。
可选地,模块层模块包括但不限于以下至少之一的应用:微信、微博。
作为一种可选的方案,如图8所示,该方法还包括:
S802,接收功能模块修改请求;
可选地,接收到功能模块修改请求,例如,第一模块层模块对应微博应用,第一控制层模块对应评论控制模块,第一功能模块对应评论模块,在本实施例中,可以根据修改请求对评论模块中功能函数代码做出相应修改。
S804,对功能模块修改请求所指示的功能模块对应的业务逻辑进行修改。
可选地,接收到功能模块修改请求之后,对所指示的功能模块对应的业务逻辑进行修改。例如,将“接收20k的图片”的业务逻辑修改为“接收40k的图片”的业务逻辑,或者,将“每10s发送一次”的业务逻辑修改为“每5s发送一次”的业务逻辑。
通过本申请提供的实施例,实现对功能模块及其对应的业务逻辑实时修改,更方便适应客户需求。
作为一种可选的方案,该方法架构示意图如图9所示,整个构架由模块层、控制层、数据层构成。
作为一种优选的方案,架构的处理流程是用户在客户端发起请求后首先进入应用层入口902进行统一调度,通过框架的Router路由机制发配到指定模块层(例如,第一模块904-1)→指定控制层(例如,第一控制层906-1)→指定功能函数中执行。例如请求地址是:http://域名/index.php?m=weibo&c=weibo&a=_Run,路由自动把该请求分配到weibo模块下weibo控制层中的_Run函数中进行运算处理。
可选地,模块层包括一个或多个模块层模块,例如第一模块层模块904-1,第二模块层模块904-2。可选地,控制层包括一个或多个控制层模块,例如第一控制层模块906-1,第二控制层模块906-2,第三控制层模块906-3,第四控制层模块906-4。
可选地,整个架构能按业务量大小自由伸缩控制,每个模块层模块内部集成多个控制层模块,例如,第一模块层模块904-1可以包括第一控制层模块906-1和第二控制层模块906-2。所有逻辑部分均放在控制层实现,层内应用函数均体现单一原子性,充分实现了高内聚、松耦合的先进架构思想。
可选地,模块层不涉及一句SQL或一个文件存储,所有DB数据源都被放在数据层DAO模块统一处理,这样就能保证数据接口源的独立性,复用性强,使其可以被整个系统所有模块的任意控制层控制模块按需调用。
可选地,所有框架业务均通过Boot.php入口统一调配,采用路径命名空间机制轻松实现文件包含加载统一化部署。本发明融入了较多java、C++等先进思想与机制,分项拆分运算的同时又不失强大的整体性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种请求处理装置,如图11所示,本实施例中的请求处理装置包括:
(1)第一接收单元1002,用于接受请求,其中,请求中携带有用于指示位于模块层的第一模块层模块的第一标识,用于指示位于控制层的第一控制层模块的第二标识,以及用于指示第一控制层模块中的第一功能模块的第三标识,第一模块层模块具有包括第一控制层模块在内的一个或多个控制层模块;
可选地,上述请求可以由终端发送给服务器,例如,用户通过终端上的微博客户端向管理微博应用的服务器发送上述请求。
可选地,在上述服务器上预先配置本实施例提出的模块架构,作为一种可选的示例,上述模块架构可以如图9和图10所示。
如图9所示,上述模块架构可以分为模块层、控制层和数据层。其中,位于模块层的每个模块层模块可以对应一个应用,其中,上述应用包括但并不限于以下至少之一:微信、微博。当然,本申请中的模块层模块不仅限于此,还可以对应或表示一个其他场景,例如,工作部门,其中,工作部门包括但不限于以下至少之一:市场部、采购部、销售部、财务部。
如图9所示,可以通过应用入口访问一个或多个模块层模块,例如,微信应用模块或微博应用模块,在图10中,每个模块层模块可以被显示为某一层级的文件夹,例如,微博应用模块在该模块架构中以“weibo”文件夹的形式存在。当然,模块层模块的存在形式不仅限于文件夹,除文件夹以外的形式也应被理解为被本实施例所保护。
进一步,如图9所示,每个模块层模块对应一个或多个控制层模块,位于控制层的控制层模块中设置一个或多个功能模块,其中,每个所述功能模块对应一种或多种业务逻辑,例如,上述业务逻辑可以为实现微博应用中的评论功能所对应的业务逻辑。
此外,如图10所示,每个控制层模块可以被显示为某一层级的文件,例如,微博应用模块所对应的“weibo”文件夹下包括微博控制层模块所对应的“Weibo.php”文件。可选地,微博应用模块包括但不限于以下微博控制层模块:分享控制模块、评论控制模块。当然,控制层模块的存在形式不仅限于文件,除文件以外的形式也应被理解为被本实施例所保护。
可选地,在本实施例中的功能模块以功能函数代码的形式存在。例如,为了实现微博应用下的评论功能,则可以通过请求来调用“微博”文件夹下的“评论”文件中实现“评论”功能的函数代码。
利用上述请求中携带的标识,通过第一标识查找相应的模块层模块,然后由第二标识从模块层模块查找到相应控制层模块,再由第三标识调用控制层模块中相对应的功能模块,通过功能模块对应的功能函数实现一种功能。
可选地,在本实施例中上述请求包括但不限于:链接地址。例如,请求为http://域名/index.php?m=weibo&c=weibo&a=_Run。
(2)获取单元1004,用于从请求中获取第一标识、第二标识以及第三标识;
可选地,从所接收到的请求中获取第一标识、第二标识以及第三标识来查找调用相应模块下的功能函数。例如,以请求包括链接地址为例,当用户通过终端上的微博客户端发送了上述请求,以请求执行某项操作时,该链接地址为:
http://域名/index.php?m=weibo&c=weibo&a=_Run,
从该请求中可以获取第一标识m=weibo,第二标识c=weibo,第三标识a=_Run。
(3)第一调用单元1006,用于根据获取到的第一标识、第二标识以及第三标识调用请求分配到第一模块层模块中的第一控制层模块中的第一功能模块。
可选地,获取第一标识、第二标识以及第三标识之后,可以根据三个标识调用请求分配到第一模块层模块中的第一控制层模块中的第一功能模块。
例如,以请求包括链接地址为例,当用户通过终端上的微博客户端发送了上述请求,以请求执行某项操作时,该链接地址为:
http://域名/index.php?m=weibo&c=weibo&a=_Run,
从该请求中可以获取第一标识m=weibo,第二标识c=weibo,第三标识a=_Run。由第一标识m=weibo可知,查找第一模块层模块weibo,接着由第二标识c=weibo可知,查找第一模块层模块weibo中第一控制层模块weibo,然后由第三标识a=_Run可知,调用第一模块层模块weibo中第一控制层模块weibo中的_Run的功能函数。
如图10所示,应用入口根据上述请求访问位于模块层的微博应用文件夹“weibo”;然后,访问该微博应用文件夹“weibo”下的“weibo”文件,并调用该“weibo”文件中的_Run的功能函数。
通过本申请提供的实施例,将MVC架构分为模块层、控制层、数据层三层,逐层查找调用,使得各层之间的关联简单和独立,避免了现有MVC架构内部的控制逻辑层代码过于庞大且耦合度高所造成的代码结构混乱的问题。此外,在本申请的实施例的架构中,控制层模块中的各个功能模块可以独立地实现单一逻辑,使得其他控制层模块可以按需对本控制层模块中的功能模块进行调用,这样不需要在多个控制层模块中都包含相同的功能模块,大大降低了代码更新的复杂度,提高了代码更新的效率。此外,在维护功能模块时,不需要维护多个控制层模块中包含的多个相同的功能模块,从而降低了维护成本,提高了维护效率。
作为一种可选的方案,如图12所示,第一调用单元1006包括:
(1)第一查找模块1102,用于查找第一标识指示的第一模块层模块;
可选地,第一标识指示第一模块层模块,由所接收的请求中获取第一标识,进而查找到第一标识指示的第一模块层模块,例如,以请求包括链接地址为例,当用户通过终端上的微博客户端发送了上述请求,以请求执行某项操作时,该链接地址为:
http://域名/index.php?m=weibo&c=weibo&a=_Run,
从该请求中可以获取第一标识m=weibo,由第一标识m=weibo可知,查找第一模块层模块weibo。
例如,第一模块层模块为微博应用,获取第一标识(例如m=weibo)后,根据第一标识(例如m=weibo),查找到“微博”文件夹。
(2)第二查找模块1104,用于在第一模块层模块中查找第二标识指示的第一控制层模块;
可选地,第二标识指示第一模块层模块中的第一控制层模块,例如,以请求包括链接地址为例,当用户通过终端上的微博客户端发送了上述请求,以请求执行某项操作时,该链接地址为:
http://域名/index.php?m=weibo&c=weibo&a=_Run,
从该请求中可以获取第二标识c=weibo,由第二标识c=weibo可知,查找第一模块层模块weibo中第一控制层模块weibo。
例如,第一模块层模块对应微博应用,第一控制层模块对应评论控制模块,获取第二标识(例如c=pinglun)后,根据第二标识(例如c=pinglun),查找到“微博”文件夹下“评论”的文件。
(3)第一调用模块1106,在第一控制层模块中调用第三标识指示的第一功能模块。
可选地,第三标识指示第一模块层模块中的第一控制层模块中的第一功能模块,例如,以请求包括链接地址为例,当用户通过终端上的微博客户端发送了上述请求,以请求执行某项操作时,该链接地址为:
http://域名/index.php?m=weibo&c=weibo&a=_Run,
从该请求中可以获取第三标识a=_Run,由第三标识a=_Run可知,调用第一模块层模块weibo中第一控制层模块weibo中的_Run的功能函数。
例如,第一模块层模块对应微博应用,第一控制层模块对应评论控制模块,第一功能模块对应评论模块,则获取第三标识(例如a=_Run)后,根据第三标识(例如a=_Run)调用“微博”文件夹下“评论”文件中相应的函数代码。
通过本申请提供的实施例,将MVC架构分为模块层、控制层、数据层三层,逐层查找调用,使得各层之间的关联简单和独立,同时也避免了现有MVC架构内部的控制逻辑层代码过于庞大且耦合度高所造成的代码结构混乱的问题。
作为一种可选的方案,如图13所示,第一调用模块1106包括:
(1)第一调用子模块1202,用于根据第一功能模块中的指示信息调用位于控制层的第二控制层模块中的第二功能模块,其中,第二控制层模块属于第一模块层模块中的控制层模块,和/或,第二控制层模块属于位于模块层的第二模块层模块中的控制层模块。
可选地,在第一控制层模块中调用第三标识指示的第一功能模块包括:根据第一功能模块的指示信息调用位于控制层的第二控制层模块中的第二功能模块。
可选地,在本实施例中第一功能模块的指示信息可以由但不限于程序代码中的函数或者参数或者指令来实现。
例如,第一控制层模块为评论控制模块,第二控制层模块为分享控制模块,该评论控制模块和分享控制模块属于同一个微博应用模块,即,评论控制模块和分享控制模块对应的文件均位于微博应用模块对应的文件夹中。
在本实施例中,评论控制模块调用第三标识指示的第一功能模块,例如“评论”的功能函数,其中,第一功能模块指示调用分享控制模块中的第二功能模块,例如,实现“分享”功能的函数代码,则可实现在“评论”的同时实现“分享”。
可选地,在本实施例中第二控制层模块包括但不限于以下至少之一:属于第一模块层模块中的控制层模块,属于位于模块层的第二模块层模块中的控制层模块。
例如,第一模块层模块对应微信应用,第二模块层模块对应微博应用,第一控制层模块为评论控制模块,第二控制层模块为分享控制模块,在本实施例中,分享控制模块可以属于微信应用所在的第一模块层模块,也可以属于微博应用所在的第二模块层模块。
通过本申请提供的实施例,将MVC架构分为模块层、控制层、数据层三层,逐层查找调用,使得各层之间的关联简单和独立,避免了现有MVC架构内部的控制逻辑层代码过于庞大且耦合度高所造成的代码结构混乱的问题。此外,在本申请的实施例的架构中,控制层模块中的各个功能模块可以独立地实现单一逻辑,使得其他控制层模块可以按需对本控制层模块中的功能模块进行调用,这样不需要在多个控制层模块中都包含相同的功能模块,大大降低了代码更新的复杂度,提高了代码更新的效率。此外,在维护功能模块时,不需要维护多个控制层模块中包含的多个相同的功能模块,从而降低了维护成本,提高了维护效率。
作为一种可选的方案,如图14所示,第一调用模块1106包括:
(1)第二调用子模块1302,用于根据第一功能模块中的指示信息调用位于数据层的DAO模块中的数据库,其中,数据库中记录了用于执行第一功能模块对应的业务逻辑所需的数据。
可选地,在本实施例中数据库中包括但不限于:用于执行第一功能模块对应的业务逻辑所需的数据。
可选地,在本实施例中业务逻辑所需的数据包括但不限于以下至少之一:用户信息,历史记录,业务表单。
例如,根据“评论”中的指示信息调用数据层的DAO模块中用户信息,例如好友名单,以便于在评论过程中“”好友。
通过本申请提供的实施例,控制层模块调用功能模块时,功能模块可以依照指示调用数据层的DAO模块中的数据库,数据层中数据与控制层模块分离,实现了灵活调用,无需重新改写业务逻辑所对应的控制逻辑层代码,这样大大降低了业务逻辑发生变更时代码更新的复杂度,提高了代码更新的效率。
作为一种可选的方案,如图15所示,在本实施例中请求处理装置还包括:
(1)第二调用单元1402,用于在根据获取到的第一标识、第二标识以及第三标识将请求分配到第一模块层模块中的第一控制层模块中的第一功能模块进行处理之后,调用显示功能模块输出处理的结果。
可选地,在本实施例中显示功能模块包括但不限于以下至少之一:JSON输出模块、XML输出模块、视图输出模块。
例如,第一模块层模块对应微博应用,第一控制层模块对应评论控制模块,第一功能模块对应评论模块,在本实施例中,根据获取到的第一标识,第二标识及第三标识,调用微博应用下评论控制模块中相应的功能函数之后,调用显示功能模块,例如,视图输出,通过视图的形式显示所做出的评论结果。
通过本申请提供的实施例,通过调用显示功能模块输出处理的结果,可以方便用户更直观地看到请求处理的结果。
作为一种可选的方案,如图16所示,在本实施例中请求处理装置还包括:
(1)第一设置单元1502,用于在接收请求之前,设置一个或多个位于模块层的模块层模块,其中,模块层模块包括第一模块层模块;
可选地,构建上述架构可以设置一个或多个位于模块层的模块层模块。可选地,在本实施例中模块层的模块包括但不限于以下至少之一:单个应用、工作部门。其中,单个应用包括但并不限于以下至少之一:微信、微博。其中,工作部门包括但不限于以下至少之一:市场部、采购部、销售部、财务部。
可选地,在本实施例中所接收的请求中模块层的模块以文件夹的形式存在。例如,微博应用模块在该架构中以“微博”文件夹的形式存在。
(2)第二设置单元1504,用于设置一个或多个位于控制层的控制层模块,其中,控制层模块包括第一控制层模块;
可选地,构建上述架构可以设置一个或多个位于控制层的控制层模块。在本实施例中每个模块层模块可以包括一个或多个控制层模块,例如,微博模块包括但不限于:分享控制模块、评论控制模块。
可选地,在本实施例中控制层的模块以文件形式存在。例如,微博应用下的评论功能,以“微博”文件夹下的“评论”文件的形式存在。
(3)第三设置单元1506,用于在每个控制层模块中设置一个或多个功能模块,其中,每个功能模块对应一种或多种业务逻辑。
可选地,构建上述架构可以每个控制层模块中设置一个或多个功能模块。例如,评论中包括但不限于:评论、赞、转发。
可选地,每个功能模块对应一种或多种业务逻辑。例如,评论的功能函数包括但不限于:发送、接收。
可选地,在本实施例中功能模块以功能函数代码形式存在。例如,微博应用下的评论功能,通过调用“微博”文件夹下的“评论”文件中“评论”功能的函数代码实现。
通过本申请提供的实施例,构建模块层、控制层、数据层三层MVC架构,实现了数据层数据与控制层模块分离,增强了其独立性的同时,还大大降低了业务逻辑发生变更时代码更新的复杂度,提高了代码更新的效率。
作为一种可选的方案,如图17所示,在本实施例中请求处理装置还包括:
(1)第四设置单元1602,用于在接收请求之前,设置位于数据层的DAO模块,其中,DAO模块中存储的数据库记录了执行一种或多种业务逻辑所需的数据。
可选地,构建上述架构可以设置位于数据层的DAO模块。
可选地,在本实施例中DAO模块包括但不限于:存储的数据库记录了执行一种或多种业务逻辑所需的数据。
可选地,在本实施例中业务逻辑所需的数据包括但不限于以下至少之一:用户信息,历史记录,业务表单。
例如,数据层的DAO模块中存储了用户信息,例如好友名单,以便于在评论过程中“”好友。
通过本申请提供的实施例,设置的数据层数据与控制层模块分离,解决了现有MVC架构模块内部集成数据源操作所导致的代码结构混乱的问题。
作为一种可选的方案,如图17所示,在本实施例中请求处理装置还包括:
(1)第二接收单元1604,用于接收功能模块修改请求;
可选地,接收到功能模块修改请求,例如,第一模块层模块对应微博应用,第一控制层模块对应评论控制模块,第一功能模块对应评论模块,在本实施例中,可以根据修改请求对评论模块中功能函数代码做出相应修改。
(2)修改单元1606,用于对功能模块修改请求所指示的功能模块对应的业务逻辑进行修改。
可选地,接收到功能模块修改请求之后,对所指示的功能模块对应的业务逻辑进行修改。例如,将“接收20k的图片”的业务逻辑修改为“接收40k的图片”的业务逻辑,或者,将“每10s发送一次”的业务逻辑修改为“每5s发送一次”的业务逻辑。
通过本申请提供的实施例,实现对功能模块及其对应的业务逻辑实时修改,更方便适应客户需求。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (17)
1.一种请求处理方法,其特征在于,包括:
接收请求,其中,所述请求中携带有用于指示位于模块层的第一模块层模块的第一标识,用于指示位于控制层的第一控制层模块的第二标识,以及用于指示所述第一控制层模块中的第一功能模块的第三标识,所述第一模块层模块具有包括所述第一控制层模块在内的一个或多个控制层模块;
从所述请求中获取所述第一标识、所述第二标识以及所述第三标识;
根据获取到的所述第一标识、所述第二标识以及所述第三标识调用所述请求分配到所述第一模块层模块中的第一控制层模块中的所述第一功能模块。
2.根据权利要求1所述的方法,其特征在于,根据获取到的所述第一标识、所述第二标识以及所述第三标识调用所述请求分配到所述第一模块层模块中的第一控制层模块中的所述第一功能模块包括:
查找所述第一标识指示的所述第一模块层模块;
在所述第一模块层模块中查找所述第二标识指示的所述第一控制层模块;
在所述第一控制层模块中调用所述第三标识指示的所述第一功能模块。
3.根据权利要求2所述的方法,其特征在于,在所述第一控制层模块中调用所述第三标识指示的所述第一功能模块包括:
根据所述第一功能模块中的指示信息调用位于所述控制层的第二控制层模块中的第二功能模块,其中,所述第二控制层模块属于所述第一模块层模块中的控制层模块,和/或,所述第二控制层模块属于位于所述模块层的第二模块层模块中的控制层模块。
4.根据权利要求2所述的方法,其特征在于,在所述第一控制层模块中调用所述第三标识指示的所述第一功能模块包括:
根据所述第一功能模块中的指示信息调用位于数据层的DAO模块中的数据库,其中,所述数据库中记录了用于执行所述第一功能模块对应的业务逻辑所需的数据。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在根据获取到的所述第一标识、所述第二标识以及所述第三标识将所述请求分配到所述第一模块层模块中的第一控制层模块中的所述第一功能模块进行处理之后,还包括:
调用显示功能模块输出所述处理的结果,其中,所述显示功能模块包括以下至少之一:JSON输出模块、XML输出模块、视图输出模块。
6.根据权利要求1至4中任一项所述的方法,其特征在于,在接收所述请求之前,还包括:
设置一个或多个位于所述模块层的模块层模块,其中,所述模块层模块包括所述第一模块层模块;
设置一个或多个位于所述控制层的控制层模块,其中,所述控制层模块包括所述第一控制层模块;
在每个所述控制层模块中设置一个或多个所述功能模块,其中,每个所述功能模块对应一种或多种业务逻辑。
7.根据权利要求6所述的方法,其特征在于,在接收所述请求之前,还包括:设置位于所述数据层的DAO模块,其中,所述DAO模块中存储的数据库记录了执行所述一种或多种业务逻辑所需的数据。
8.根据权利要求6所述的方法,其特征在于,不同的所述模块层模块对应不同的应用。
9.根据权利要求6所述的方法,其特征在于,还包括:
接收功能模块修改请求;
对所述功能模块修改请求所指示的功能模块对应的业务逻辑进行修改。
10.一种请求处理装置,其特征在于,包括:
第一接收单元,用于接受请求,其中,所述请求中携带有用于指示位于模块层的第一模块层模块的第一标识,用于指示位于控制层的第一控制层模块的第二标识,以及用于指示所述第一控制层模块中的第一功能模块的第三标识,所述第一模块层模块具有包括所述第一控制层模块在内的一个或多个控制层模块;
获取单元,用于从所述请求中获取所述第一标识、所述第二标识以及所述第三标识;
第一调用单元,用于根据获取到的所述第一标识、所述第二标识以及所述第三标识调用所述请求分配到所述第一模块层模块中的第一控制层模块中的所述第一功能模块。
11.根据权利要求10所述的装置,其特征在于,所述第一调用单元包括:
第一查找模块,用于查找所述第一标识指示的所述第一模块层模块;
第二查找模块,用于在所述第一模块层模块中查找所述第二标识指示的所述第一控制层模块;
第一调用模块,在所述第一控制层模块中调用所述第三标识指示的所述第一功能模块。
12.根据权利要求11所述的装置,其特征在于,所述第一调用模块包括:
第一调用子模块,用于根据所述第一功能模块中的指示信息调用位于所述控制层的第二控制层模块中的第二功能模块,其中,所述第二控制层模块属于所述第一模块层模块中的控制层模块,和/或,所述第二控制层模块属于位于所述模块层的第二模块层模块中的控制层模块。
13.根据权利要求11所述的装置,其特征在于,所述第一调用模块包括:
第二调用子模块,用于根据所述第一功能模块中的指示信息调用位于数据层的DAO模块中的数据库,其中,所述数据库中记录了用于执行所述第一功能模块对应的业务逻辑所需的数据。
14.根据权利要求10至13中任一项所述的装置,其特征在于,还包括:
第二调用单元,用于在根据获取到的所述第一标识、所述第二标识以及所述第三标识将所述请求分配到所述第一模块层模块中的第一控制层模块中的所述第一功能模块进行处理之后,调用显示功能模块输出所述处理的结果,其中,所述显示功能模块包括以下至少之一:JSON输出模块、XML输出模块、视图输出模块。
15.根据权利要求10至13中任一项所述的装置,其特征在于,还包括:
第一设置单元,用于在接收所述请求之前,设置一个或多个位于所述模块层的模块层模块,其中,所述模块层模块包括所述第一模块层模块;
第二设置单元,用于设置一个或多个位于所述控制层的控制层模块,其中,所述控制层模块包括所述第一控制层模块;
第三设置单元,用于在每个所述控制层模块中设置一个或多个所述功能模块,其中,每个所述功能模块对应一种或多种业务逻辑。
16.根据权利要求15所述的装置,其特征在于,包括:
第四设置单元,用于在接收所述请求之前,设置位于所述数据层的DAO模块,其中,所述DAO模块中存储的数据库记录了执行所述一种或多种业务逻辑所需的数据。
17.根据权利要求15所述的装置,其特征在于,包括:
第二接收单元,用于接收功能模块修改请求;
修改单元,用于对所述功能模块修改请求所指示的功能模块对应的业务逻辑进行修改。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410009271.3A CN104765596A (zh) | 2014-01-08 | 2014-01-08 | 请求处理方法和装置 |
PCT/CN2015/070289 WO2015103982A1 (en) | 2014-01-08 | 2015-01-07 | Method and apparatus for processing request |
US15/171,190 US20160274874A1 (en) | 2014-01-08 | 2016-06-02 | Method and apparatus for processing request |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410009271.3A CN104765596A (zh) | 2014-01-08 | 2014-01-08 | 请求处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104765596A true CN104765596A (zh) | 2015-07-08 |
Family
ID=53523551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410009271.3A Pending CN104765596A (zh) | 2014-01-08 | 2014-01-08 | 请求处理方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160274874A1 (zh) |
CN (1) | CN104765596A (zh) |
WO (1) | WO2015103982A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790067A (zh) * | 2016-12-21 | 2017-05-31 | 浙江省公众信息产业有限公司 | 基于mvc分层的业务处理方法、装置和系统 |
CN106909668A (zh) * | 2017-02-28 | 2017-06-30 | 武汉斗鱼网络科技有限公司 | 一种基于网址解析的文件查找方法及系统 |
CN107809383A (zh) * | 2016-09-08 | 2018-03-16 | 腾讯科技(深圳)有限公司 | 一种基于mvc的路径映射方法及装置 |
CN110069298A (zh) * | 2018-08-09 | 2019-07-30 | 北京微播视界科技有限公司 | 显示方法、系统、电子设备和计算机可读存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955714A (zh) * | 2016-04-15 | 2016-09-21 | 北京海尔广科数字技术有限公司 | 混合开发前端mvc框架实现方法和系统 |
CN107300909A (zh) * | 2017-06-30 | 2017-10-27 | 电子科技大学 | 一种基于mvc框架的无人机地面维护系统及方法 |
CN107528974A (zh) * | 2017-08-22 | 2017-12-29 | 世纪禾光科技发展(北京)有限公司 | 请求处理方法、装置、计算设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446892A (zh) * | 2007-11-26 | 2009-06-03 | 康佳集团股份有限公司 | 一种mvc模型系统数据处理方法及mvc模型系统 |
CN101727350A (zh) * | 2009-12-09 | 2010-06-09 | 南京联创科技集团股份有限公司 | Gis数据权限控制方法 |
CN101826018A (zh) * | 2010-05-20 | 2010-09-08 | 瑞斯康达科技发展股份有限公司 | 一种网元管理系统界面交互开发系统及方法 |
CN101840335A (zh) * | 2010-04-16 | 2010-09-22 | 广州白云国际机场股份有限公司 | 一种可配置业务模块的J2EE web应用系统 |
CN102566990A (zh) * | 2010-12-09 | 2012-07-11 | 北大方正集团有限公司 | 一种在Java应用中进行数据操作的方法及装置 |
CN103279343A (zh) * | 2013-05-16 | 2013-09-04 | 北京互动阳光科技有限公司 | 一种基于分布式大型网站开发的技术框架系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030145305A1 (en) * | 2001-11-16 | 2003-07-31 | Mario Ruggier | Method for developing and managing large-scale web user interfaces (WUI) and computing system for said WUI |
US7765522B2 (en) * | 2004-08-31 | 2010-07-27 | International Business Machines Corporation | System and method for providing an embedded complete controller specification through explicit controller overlays |
CN101901163B (zh) * | 2010-07-13 | 2012-10-31 | 北京世纪高通科技有限公司 | 分配消息的方法和装置 |
EP2668582A4 (en) * | 2011-01-28 | 2016-06-01 | Dun & Bradstreet Corp | INVENTORY DATA ACCESS LAYER |
CN102830973A (zh) * | 2012-08-14 | 2012-12-19 | 无锡哲勤科技有限公司 | 海量数据下Web应用开发双层MVC的方法和分层结构 |
-
2014
- 2014-01-08 CN CN201410009271.3A patent/CN104765596A/zh active Pending
-
2015
- 2015-01-07 WO PCT/CN2015/070289 patent/WO2015103982A1/en active Application Filing
-
2016
- 2016-06-02 US US15/171,190 patent/US20160274874A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446892A (zh) * | 2007-11-26 | 2009-06-03 | 康佳集团股份有限公司 | 一种mvc模型系统数据处理方法及mvc模型系统 |
CN101727350A (zh) * | 2009-12-09 | 2010-06-09 | 南京联创科技集团股份有限公司 | Gis数据权限控制方法 |
CN101840335A (zh) * | 2010-04-16 | 2010-09-22 | 广州白云国际机场股份有限公司 | 一种可配置业务模块的J2EE web应用系统 |
CN101826018A (zh) * | 2010-05-20 | 2010-09-08 | 瑞斯康达科技发展股份有限公司 | 一种网元管理系统界面交互开发系统及方法 |
CN102566990A (zh) * | 2010-12-09 | 2012-07-11 | 北大方正集团有限公司 | 一种在Java应用中进行数据操作的方法及装置 |
CN103279343A (zh) * | 2013-05-16 | 2013-09-04 | 北京互动阳光科技有限公司 | 一种基于分布式大型网站开发的技术框架系统 |
Non-Patent Citations (2)
Title |
---|
:软件开发技术联盟: "《软件开发实战 PHP开发实战》", 30 September 2013 * |
THINKPHP: "ThinkPHP3.2完全开发手册", 《HTTP://DOCUMENT.THINKPHP.CN/MANUAL_3.2.HTML》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107809383A (zh) * | 2016-09-08 | 2018-03-16 | 腾讯科技(深圳)有限公司 | 一种基于mvc的路径映射方法及装置 |
CN107809383B (zh) * | 2016-09-08 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种基于mvc的路径映射方法及装置 |
CN106790067A (zh) * | 2016-12-21 | 2017-05-31 | 浙江省公众信息产业有限公司 | 基于mvc分层的业务处理方法、装置和系统 |
CN106790067B (zh) * | 2016-12-21 | 2020-05-26 | 浙江省公众信息产业有限公司 | 基于mvc分层的业务处理方法、装置和系统 |
CN106909668A (zh) * | 2017-02-28 | 2017-06-30 | 武汉斗鱼网络科技有限公司 | 一种基于网址解析的文件查找方法及系统 |
CN106909668B (zh) * | 2017-02-28 | 2020-04-10 | 武汉斗鱼网络科技有限公司 | 一种基于网址解析的文件查找方法及系统 |
CN110069298A (zh) * | 2018-08-09 | 2019-07-30 | 北京微播视界科技有限公司 | 显示方法、系统、电子设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20160274874A1 (en) | 2016-09-22 |
WO2015103982A1 (en) | 2015-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104765596A (zh) | 请求处理方法和装置 | |
CN108255847B (zh) | 页面生成方法及装置 | |
CN106899666A (zh) | 一种针对业务标识的数据处理方法及装置 | |
CN103988200A (zh) | 用于web应用的轻量化框架 | |
CN109754072B (zh) | 网络离线模型的处理方法、人工智能处理装置及相关产品 | |
CN109636301A (zh) | 金融业务的工作流配置方法、系统、终端及可读存储介质 | |
CN110825807B (zh) | 基于人工智能的数据交互转换方法、装置、设备及介质 | |
CN104283975A (zh) | 文件分发方法和装置 | |
CN113505265B (zh) | 数据的查询方法、装置及电子设备、存储介质、程序产品 | |
CN110619002A (zh) | 数据处理方法、装置及存储介质 | |
CN113392158A (zh) | 业务数据处理方法、装置及数据中台 | |
CN109829679A (zh) | 项目管理方法、装置、计算机装置及存储介质 | |
CN105302925A (zh) | 推送语音搜索数据的方法和装置 | |
CN110738038A (zh) | 合同文本的生成方法、装置、设备及计算机可读存储介质 | |
CN107590682B (zh) | 广告投放方法、服务器、热点设备和系统 | |
CN107852422A (zh) | 与具有不同api的服务器接口连接来获取广告数据 | |
CN109783367A (zh) | 接口测试方法、装置、计算机装置及存储介质 | |
CN104572981A (zh) | 一种网页页面缓存处理方法和移动终端设备 | |
CN110222286A (zh) | 信息获取方法、装置、终端和计算机可读存储介质 | |
CN115660591A (zh) | 用于业务审批的流程配置方法、系统、电子设备及介质 | |
CN115311399A (zh) | 图像渲染方法、装置、电子设备以及存储介质 | |
CN115544146A (zh) | 适合快速调整业务节接口的业务平台和业务数据获取方法 | |
CN114493799A (zh) | 一种分库分表管理专车订单数据的方法及系统 | |
US11277300B2 (en) | Method and apparatus for outputting information | |
CN113254825A (zh) | 页面生成的方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150708 |
|
RJ01 | Rejection of invention patent application after publication |