CN106775775B - 一种基于OpenResty的高性能MVC框架 - Google Patents

一种基于OpenResty的高性能MVC框架 Download PDF

Info

Publication number
CN106775775B
CN106775775B CN201710053612.0A CN201710053612A CN106775775B CN 106775775 B CN106775775 B CN 106775775B CN 201710053612 A CN201710053612 A CN 201710053612A CN 106775775 B CN106775775 B CN 106775775B
Authority
CN
China
Prior art keywords
module
mvc
nginx
openresity
openresty
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
Application number
CN201710053612.0A
Other languages
English (en)
Other versions
CN106775775A (zh
Inventor
龚会文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Qilun Intelligent Technology Co ltd
Original Assignee
Shenzhen Qilun Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Qilun Intelligent Technology Co ltd filed Critical Shenzhen Qilun Intelligent Technology Co ltd
Priority to CN201710053612.0A priority Critical patent/CN106775775B/zh
Publication of CN106775775A publication Critical patent/CN106775775A/zh
Application granted granted Critical
Publication of CN106775775B publication Critical patent/CN106775775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于OpenResty的高性能MVC框架,其特征在于,包括OpenResty服务器和MVC处理器,所述OpenResty服务器设置有LuaJIT模块,所述MVC处理器设置有Nginx配置模块,所述MVC框架通过所述Nginx配置模块的配置文件和所述OpenResty服务器中LuaJIT模块导出的lua接口接入所述OpenResty服务器。本发明的MVC框架基于OpenResty编写,使用lua语言为基础,提供了一套MVC标准的接口以及代码实现,适合团队与项目的快速开发,并且能适应各种复杂的Web服务场景,易于扩展。

Description

一种基于OpenResty的高性能MVC框架
技术领域
本发明涉及通信技术领域,尤其涉及到一种基于OpenResty的高性能MVC框架。
背景技术
OpenResty是一个基于Nginx与Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关。OpenResty通过汇聚各种设计精良的Nginx模块,从而将Nginx有效地变成一个强大的通用Web应用平台。这样,Web开发人员和系统工程师可以使用Lua脚本语言调动Nginx支持的各种C以及Lua模块,快速构造出足以胜任10K乃至1000K以上单机并发连接的高性能Web应用系统。
OpenResty的目标是让Web服务直接跑在Nginx服务内部,充分利用Nginx的非阻塞I/O模型,不仅仅对HTTP客户端请求,甚至于对远程后端诸如MySQL、PostgreSQL、Memcached以及Redis等都进行一致的高性能响应。一般的web服务器端架构都会经历Apache时代(PHP处理大量CPU密集型计算)和Nginx时代(数据来源大多走HTTP接口、OpenResty时代(H5的时代,大量异步接口请求)。Apache和nginx的时代并发量没有那么大,而当下h5的时代会有大规模的并发请求,因此不单单需要OpenResty,而且需要一个能支撑团队开发,推进项目快速迭代的MVC框架。但目前并没有一个基于OpenResty基础编写的MVC架构,通过OpenResty开发Web服务项目的时候仍然需要耗费大量时间成本。
因此,现有技术有待进一步的改进。
发明内容
本发明所要解决的问题在于,提供一种基于OpenResty的高性能MVC框架,以实现项目的快速开发,并且能适应各种复杂的Web服务场景,便于扩展。
本发明采用如下技术方案:
一种基于OpenResty的高性能MVC框架,其特征在于,包括OpenResty服务器和MVC处理器,所述OpenResty服务器设置有LuaJIT模块,所述MVC处理器设置有Nginx配置模块,所述MVC处理器通过所述Nginx配置模块的配置文件和所述OpenResty服务器中LuaJIT模块导出的lua接口接入所述OpenResty服务器。
所述的基于OpenResty的高性能MVC框架,其中,所述OpenResty服务器包括Nginx主进程模块和Nginx子进程模块,所述Nginx主进程模块和Nginx子进程模块用于连接http输入,并将http输入对应的业务处理数据发送到所述LuaJIT模块。
所述的基于OpenResty的高性能MVC框架,其中,所述MVC处理器包括与所述Nginx配置模块相连的控制器、模型模块和视图模块。
所述的基于OpenResty的高性能MVC框架,其中,所述Nginx配置模块设置有Nginx配置入口。
所述的基于OpenResty的高性能MVC框架,其中,所述MVC处理器连接有输出端口。
与现有技术相比,本发明提供的基于OpenResty的高性能MVC框架。基于OpenResty编写,使用lua语言为基础,提供了一套MVC标准的接口以及代码实现,适合团队与项目的快速开发,并且能适应各种复杂的Web服务场景,易于扩展。
附图说明
图1为本发明提供的基于OpenResty的高性能MVC框架的结构框图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,本发明实施例提供的基于OpenResty的高性能MVC框架,包括OpenResty服务器1和MVC处理器2,OpenResty服务器1包括有Nginx主进程模块11和Nginx子进程模块12、以及LuaJIT模块13,Nginx主进程模块11和Nginx子进程模块12连接http输入,接收http请求,处理静态文件、索引文件、自动索引、打开文件描述符缓冲等等,并将http输入对应的业务处理数据发送到所述LuaJIT模块13,LuaJIT模块13分析HTTP请求,以获取目标数据,并导出lua接口,用于MVC框架2的接入。MVC处理器2设置有Nginx配置模块21、Nginx配置入口22、MVC处理器也即MVC框架的三层结构即控制器23、模型模块24和视图模块25,Nginx配置模块21用于接入OpenResty服务器1的配置,即输出配置文件,使MVC处理器2通过该配置文件和LuaJIT模块13导出的lua接口接入OpenResty服务器1。
具体地,Nginx配置入口22用于对Nginx配置模块21进行配置输入。视图模块25用于视图上数据的采集和处理、以及用户的请求。模型模块24接收视图模块25请求的数据,并返回最终的处理结果,控制器23将模型模块24与视图模块25匹配在一起,共同完成用户的请求。MVC处理器2连接有输出端口,向外输出所需内容。因此,本发明实施例使用传统MVC框架的目录、函数调用方式,方便学习使用,并以传统MVC的设计思想为基础设计,因此其能适应各种业务场景。
本发明实施例的MVC框架面对所有需要基于OpenResty 来做高性能后端业务开发的群体,该方案能极大的降低其开发门槛。让原来使用PHP、ASP/ASP.net、JSP作为主要语言的团队也能以最快速度和最低成本的切入到OpenResty+lua的开发中来,提升OpenResty框架带来的极致性能。
综上所述,发明提供的基于OpenResty的高性能MVC框架。基于OpenResty编写,使用lua语言为基础,提供了一套MVC标准的接口以及代码实现,适合团队与项目的快速开发,并且能适应各种复杂的Web服务场景,易于扩展。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (4)

1.一种基于OpenResty的高性能MVC框架,其特征在于,包括OpenResty服务器和MVC处理器,所述OpenResty服务器设置有LuaJIT模块,所述MVC处理器设置有Nginx配置模块,所述MVC处理器通过所述Nginx配置模块的配置文件和所述OpenResty服务器中LuaJIT模块导出的lua接口接入所述OpenResty服务器;
所述Nginx配置模块设置有Nginx配置入口,用于对所述Nginx配置模块进行配置输入;
所述OpenResty服务器通过连接http输入,并接收http请求,将所述http输入对应的业务处理数据发送到所述LuaJIT模块,以使所述LuaJIT模块分析所述http请求,以获取目标数据。
2.根据权利要求1所述的基于OpenResty的高性能MVC框架,其特征在于,所述OpenResty服务器包括Nginx主进程模块和Nginx子进程模块,所述Nginx主进程模块和Nginx子进程模块用于连接http输入,并将http输入对应的业务处理数据发送到所述LuaJIT模块。
3.根据权利要求1所述的基于OpenResty的高性能MVC框架,其特征在于,所述MVC处理器包括与所述Nginx配置模块相连的控制器、模型模块和视图模块。
4.根据权利要求1所述的基于OpenResty的高性能MVC框架,其特征在于,所述MVC处理器连接有输出端口。
CN201710053612.0A 2017-01-24 2017-01-24 一种基于OpenResty的高性能MVC框架 Active CN106775775B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710053612.0A CN106775775B (zh) 2017-01-24 2017-01-24 一种基于OpenResty的高性能MVC框架

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710053612.0A CN106775775B (zh) 2017-01-24 2017-01-24 一种基于OpenResty的高性能MVC框架

Publications (2)

Publication Number Publication Date
CN106775775A CN106775775A (zh) 2017-05-31
CN106775775B true CN106775775B (zh) 2023-07-14

Family

ID=58942911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710053612.0A Active CN106775775B (zh) 2017-01-24 2017-01-24 一种基于OpenResty的高性能MVC框架

Country Status (1)

Country Link
CN (1) CN106775775B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928568B (zh) * 2019-11-05 2022-07-26 杭州衣科信息技术股份有限公司 一种发布更新web应用程序时业务服务不间断的方法
CN110837359A (zh) * 2019-11-06 2020-02-25 北京小狗智能机器人技术有限公司 一种以GOLANG语言实现的MVC Web框架
CN111371809B (zh) * 2020-03-27 2022-02-18 武大吉奥信息技术有限公司 一种基于反向代理架构的服务器及gis服务访问控制方法
CN114448970A (zh) * 2021-12-27 2022-05-06 天翼云科技有限公司 一种数据传输方法、装置及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967630A (zh) * 2014-04-10 2015-10-07 腾讯科技(深圳)有限公司 网页访问请求的处理方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702719B1 (en) * 2000-02-08 2010-04-20 International Business Machines Corporation Methods and apparatus for reducing the number of server interactions in network-based applications using a dual-MVC approach
CN101557426A (zh) * 2009-05-07 2009-10-14 中兴通讯股份有限公司 基于Web Service的统一管理接口机、Web Service组件及方法
CN102902537B (zh) * 2012-09-19 2016-03-30 厦门亿联网络技术股份有限公司 基于FastCGI和HTML模板的嵌入式WEB MVC开发框架
CN104468148B (zh) * 2013-09-12 2019-03-22 中兴通讯股份有限公司 一种nginx服务器配置维护方法及系统
CN104022857A (zh) * 2014-06-23 2014-09-03 浪潮电子信息产业股份有限公司 一种基于多种工作模式的服务器引擎框架的设计方法
CN105338115A (zh) * 2015-11-26 2016-02-17 上海晶赞科技发展有限公司 数据服务器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967630A (zh) * 2014-04-10 2015-10-07 腾讯科技(深圳)有限公司 网页访问请求的处理方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Research on Lightweight MVC Framework Based on Spring MVC and Mybatis;Dandan Zhang等;《2013 Sixth International Symposium on Computational Intelligence and Design》;第350-353页 *
基于缓存技术的内容管理系统研究;靳莹;《中国优秀硕士学位论文全文数据库(电子期刊)》;第138-293页 *

Also Published As

Publication number Publication date
CN106775775A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106775775B (zh) 一种基于OpenResty的高性能MVC框架
CN105787119B (zh) 基于混合引擎的大数据处理方法及系统
US20180096047A1 (en) Detecting clusters and relationships in large data sets
US20160210076A1 (en) Object based memory fabric
US9959375B2 (en) Efficient emulation and logic analysis
CN112749809B (zh) 构造量子仿真系统的方法和装置
US11029924B2 (en) Program optimization by converting code portions to directly reference internal data representations
CN110959156A (zh) 到数据库加速器的并行计算卸载
CN110263277A (zh) 页面数据的显示方法、更新方法、装置、设备及存储介质
US20160314232A1 (en) FPGA Trace Memory
WO2020211717A1 (zh) 一种数据处理方法、装置及设备
Manzi et al. Exploring GPU acceleration of apache spark
Xu et al. Zql: A unified middleware bridging both relational and nosql databases
CN102355502A (zh) 存储系统远程接入桌面操作系统的远程接入方法
CN114780100B (zh) 编译方法、电子设备及存储介质
Guo et al. An efficient data organization and scheduling strategy for accelerating large vector data rendering
Zhang et al. Optimizing execution for pipelined‐based distributed deep learning in a heterogeneously networked GPU cluster
US20160371239A1 (en) Domain specific representation of document text for accelerated natural language processing
JP2024504523A (ja) 会話aiアプリケーションのための話者適応型スピーチ終了検出
CN208282941U (zh) 一种基于usb的红外热成像实时传输系统
CN111767059A (zh) 深度学习模型的部署方法、装置、电子设备和存储介质
US20100293283A1 (en) On-demand marshalling and de-marshalling of network messages
KR102471553B1 (ko) 컴퓨팅 기기에 의해 수행되는 방법, 장치, 기기 및 컴퓨터 판독가능 저장 매체
US20240311380A1 (en) Query processing on accelerated processing units
Chen Spam message filtering recognition system based on tensorflow

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