[发明专利]一种新型基于PHP的软件开发框架及实现方法在审
申请号: | 202210561255.X | 申请日: | 2022-05-23 |
公开(公告)号: | CN114741059A | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 胡乐成 | 申请(专利权)人: | 佰年颐堂医疗科技股份有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/30 |
代理公司: | 北京圣州专利代理事务所(普通合伙) 11818 | 代理人: | 李志强 |
地址: | 250000 山东省济南市历城区*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 新型 基于 php 软件 开发 框架 实现 方法 | ||
本发明公开了一种新型基于PHP的软件开发框架,所述框架包括应用组件、基本功能库、配置模块、依赖管理工具、运行时目录与执行文件目录,其中,所述应用组件用于开发具体业务逻辑;所述基本功能库包含框架运行的基础类;所述配置模块包含所述框架的所有配置信息;所述依赖管理工具为第三方类图目录;所述运行时目录用于存放pid文件与日志文件;所述执行文件目录包含框架启动、停止的执行脚本。本发明有益效果在于,本发明能够多进程并发处理队列,重复利用多核CPU优势,实现队列任务的高效处理。
技术领域
本发明涉及编程领域中的PHP的技术领域,具体为一种新型基于PHP的软件开发框架及实现方法。
背景技术
目前市面上常用的php框架有Laravel,ThinkPHP,Yii等,广泛应用于Web领域的系统研发。但是,以上框架在处理队列消息时,无法进行多进程并发处理,效率低。
发明内容
鉴于现有技术的不足,本发明旨在于提供一种新型基于PHP的软件开发框架及实现方法,通过本发明的框架和方法能够多进程并发处理队列,重复利用多核CPU优势,实现队列任务的高效处理。
为了解决上述技术问题,本发明提供如下技术方案:
一种新型基于PHP的软件开发框架,所述框架包括应用组件、基本功能库、配置模块、依赖管理工具、运行时目录与执行文件目录,其中,所述应用组件用于开发具体业务逻辑;所述基本功能库包含框架运行的基础类;所述配置模块包含所述框架的所有配置信息;所述依赖管理工具为第三方类图目录;所述运行时目录用于存放pid文件与日志文件;所述执行文件目录包含框架启动、停止的执行脚本。
需要说明的是,所述应用组件包括控制层Controller,模型层Model和逻辑层Logic,其中,所述模型层用于数据的持久化,逻辑层用于组织业务逻辑,控制层是所述模型层和所述逻辑层的组合。
基于本发明上述框架,本发明还提供一种新型基于PHP的软件开发框架的实现方法,所述方法包括以下步骤:
S1框架启动后,首先加载基本功能库中所有的类。
S2检查运行时目录下pid目录下,记录进程id的文件;
S2.1若存在pid文件,检查系统进程中是否有该pid的进程存在,如存在,则说明框架已启动;
S2.2若不存在pid文件,则清空pid目录,并调用DaemonCore中方法创建Master进程;
S3 Master进程启动后,会进行队列监听任务。
需要说明的是,所述基本功能库中所有的类至少包括DaemonCore类,日志处理类,队列驱动类。
需要说明的是,所述队列监听任务是每秒查询队列中的消息,如存在消息,则fork出Worker进行处理该消息表示的任务。
需要说明的是,在fork出Worker进程前,会检查当前已经fork出的进程数量,如果已经超过当前允许的Worker进程数量,则不会fork出新进程;且将来不及执行的任务推入到排队任务中,当出现空闲时,会立刻执行排队任务中的任务。
本发明有益效果在于,本发明能够多进程并发处理队列,重复利用多核CPU优势,实现队列任务的高效处理。
附图说明
图1为本发明的框架示意图;
图2为本发明中Worker进程的流程示意图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于佰年颐堂医疗科技股份有限公司,未经佰年颐堂医疗科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210561255.X/2.html,转载请声明来源钻瓜专利网。