CN111857737A - 基于SysML模型语义web系统的动静态资源分离方法 - Google Patents
基于SysML模型语义web系统的动静态资源分离方法 Download PDFInfo
- Publication number
- CN111857737A CN111857737A CN202010740846.4A CN202010740846A CN111857737A CN 111857737 A CN111857737 A CN 111857737A CN 202010740846 A CN202010740846 A CN 202010740846A CN 111857737 A CN111857737 A CN 111857737A
- Authority
- CN
- China
- Prior art keywords
- model
- resources
- dynamic
- web system
- data
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开基于SysML模型语义web系统的动静态资源分离方法,该分离方法包括以下步骤:用户发起请求,请求达到Nginx服务器;Nginx服务器通过配置端口、支持数据格式、缓存区大小、location指定代理路径对Web应用动态资源和静态资源分离;Nginx服务器通过资源类别选择不同的处理服务器。本发明利用Nginx的特性将动态资源和静态资源分离,这种方式大大的加快了服务器的响应,能够响应各种请求。
Description
技术领域
本发明属于互联网技术领域,具体涉及基于SysML模型语义web系统的动静态资源分离方法。
背景技术
用户对复杂系统进行基于模型的系统工程(Model-BasedSystemsEngineering,MBSE)设计与建模时会涉及到大量的静态资源,比如:HTML页面、图片、CSS文件以及TypeScript源代码等,同时还会访问各种动态资源比如各种后端接口。
原来的实现方式是将动态资源和静态资源放到同一集群。这种设计方式有以下两个弊端:
1)后端服务器压力很大,不利于扩展;
2)用户实际操作中所需的大量静态资源需要不断的通过网络传输,导致网络延时较大,出现卡顿,用户体验差。
发明内容
为了解决上述技术问题,本发明提出了基于SysML模型语义web系统的动静态资源分离方法。
为了达到上述目的,本发明的技术方案如下:
一方面,本发明提出基于SysML模型语义web系统的动静态资源分离方法,包括以下步骤:
用户发起请求,请求达到Nginx服务器;
Nginx服务器通过配置端口、支持数据格式、缓存区大小、location指定代理路径对Web应用动态资源和静态资源分离;
Nginx服务器通过资源类别选择不同的处理服务器。
本发明利用Nginx的特性将动态资源和静态资源分离,这种方式大大的加快了服务器的响应,能够响应各种请求。
在上述技术方案的基础上,还可做如下改进:
作为优选的方案,Nginx服务器通过配置端口、支持数据格式、缓存区大小、location指定代理路径对Web应用动态资源和静态资源分离具体包括以下内容:根据请求资源的统一资源标识符URI进行动态资源和静态资源的定位和请求。
作为优选的方案,Nginx服务器根据请求资源的统一资源标识符URI进行动态资源和静态资源的定位和请求的解析过程具体包括以下步骤:
web系统自动识别URI是否精准命中,如果是,则立即返回并结束解析过程;
如果URI没有精准命中,则判断其是否普通命中,如果命中一个,则将匹配结果记录下,解析过程继续;如果命中多个,则将匹配最长的结果记录下,解析过程继续;
判断URI是否正则匹配,如果是,则忽略普通命中的结果,直接将正则匹配结果返回并结束解析过程,如果不是,则将普通命中的最长结果返回并结束解析过程。
作为优选的方案,静态资源能够为以下一种或多种:浏览器渲染资源、图片、视频、文件。
另一方面,本发明还提出基于SysML模型语义web系统,包括:
浏览器端,用于接收用户请求;
Nginx服务器,利用上述分离方法实现动态资源和静态资源的分离,将不同类型的资源分配给对应的处理服务器;
处理服务器,基于请求进行模型内部关联的逻辑计算,并同步逻辑运算数据到浏览器端。
本发明公开的web系统可以快速实现动态资源和静态资源分离加载,具有良好的Web性能。
作为优选的方案,浏览器端包括:
模型适配层,模型适配层包括仅包含基础模型属性且能完整支持模型内部复杂关联语义的Sys ML领域元模型表示、基于该Sys ML领域元模型表示形成的模型数据以及实现图形层和处理服务器的交互的逻辑计算与请求转发;
图形层,图形层基于请求从模型适配层获取模型数据进行渲染表示。
作为优选的方案,处理服务器基于请求进行模型内部关联的逻辑计算,并同步逻辑运算数据到模型适配层。
作为优选的方案,模型适配层包括:
UML组件,用于承载模型元素;
UMLPool组件,用于维护和管理模型元素、执行模型元素与模型元素之间的逻辑运算获得第一逻辑数据以及服务层提供的模型内部关联的第二逻辑数据,模型元素与第一逻辑数据和第二逻辑数据组成模型数据;
模型树组件,用于维护和管理模型数据之间的逻辑关系;
元素工厂,用于创建、调用和实例化UML元素,还用于模型元素与模型元素之间的逻辑运算;
操作流解析器,用于订阅用户建模操作。
作为优选的方案,模型树组件中模型树的根节点设有一个渲染标记,渲染标记用于感知模型树的数据变化。
作为优选的方案,web系统采用预加载的方式进行加载。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的基于SysML模型语义web系统的动静态资源分离方法的流程图。
图2为本发明实施例提供的定位解析的流程图。
图3为本发明实施例提供的基于SysML模型语义web系统的框架图。
具体实施方式
下面结合附图详细说明本发明的优选实施方式。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一方面,本发明实施例公开基于SysML模型语义web系统的动静态资源分离方法,包括以下步骤:
S100:用户发起请求,请求达到Nginx服务器;
S101:Nginx服务器通过配置端口、支持数据格式、缓存区大小、location指定代理路径对Web应用动态资源和静态资源分离;
S102:Nginx服务器通过资源类别选择不同的处理服务器。
本发明利用Nginx的特性将动态资源和静态资源分离,这种方式大大的加快了服务器的响应,能够响应各种请求。
使用Nginx作为反向代理负载均衡器可以将请求转发给内部服务器,使用这种加速模式可以实现Web应用的静态资源和动态资源的分离,结合高速缓存技术极大的提升静态资源访问速度。
为了进一步地优化本发明的实施效果,在另外一些实施方式中,其余特征技术相同,不同之处在于,Nginx服务器通过配置端口、支持数据格式、缓存区大小、location指定代理路径对Web应用动态资源和静态资源分离具体包括以下内容:根据请求资源的统一资源标识符URI进行动态资源和静态资源的定位和请求。
如图2所示,进一步,Nginx服务器根据请求资源的统一资源标识符URI进行动态资源和静态资源的定位和请求的解析过程具体包括以下步骤:
web系统自动识别URI是否精准命中,如果是,则立即返回并结束解析过程;
如果URI没有精准命中,则判断其是否普通命中,如果命中一个,则将匹配结果记录下,解析过程继续;如果命中多个,则将匹配最长的结果记录下,解析过程继续;
判断URI是否正则匹配,如果是,则忽略普通命中的结果,直接将正则匹配结果返回并结束解析过程,如果不是,则将普通命中的最长结果返回并结束解析过程。
为了进一步地优化本发明的实施效果,在另外一些实施方式中,其余特征技术相同,不同之处在于,静态资源能够为以下一种或多种:浏览器渲染资源、图片、视频、文件。
另一方面,本发明还提出基于SysML模型语义web系统,包括:
浏览器端,用于接收用户请求;
Nginx服务器,利用上述分离方法实现动态资源和静态资源的分离,将不同类型的资源分配给对应的处理服务器;
处理服务器,基于请求进行模型内部关联的逻辑计算,并同步逻辑运算数据到浏览器端。
本发明公开的web系统可以快速实现动态资源和静态资源分离加载,具有良好的Web性能。
如图3所示,为了进一步地优化本发明的实施效果,在另外一些实施方式中,其余特征技术相同,不同之处在于,浏览器端包括:
模型适配层,模型适配层包括仅包含基础模型属性且能完整支持模型内部复杂关联语义的SysML领域元模型表示、基于该SysML领域元模型表示形成的模型数据以及实现图形层和处理服务器的交互的逻辑计算与请求转发;
图形层,图形层基于请求从模型适配层获取模型数据进行渲染表示。
采用上述实施方式,从整体架构上将数据的展示和计算进行分离。前端浏览器端主要负责图形渲染和用户交互,后端处理服务器负责模型的计算和存储,两者通过网络进行数据通信。浏览器端自身的引擎可以解析执行JavaScript等脚本语言。
本发明根据M-Design的持久化数据和OMG规范,将前端浏览器端进一步解耦,设计为图形层与模型适配层。模型适配层的SysML领域元模型表示与后端处理服务器的模型表示不同,它仅仅有基础的模型属性,能完整的支持模型内部复杂的关联语义,但无法进行复杂的模型推理计算;前后端交互中的逻辑计算与请求转发类似适配器的作用,负责粘合前后端交互及必要的逻辑转发。
进一步,处理服务器基于请求进行模型内部关联的逻辑计算,并同步逻辑运算数据到模型适配层。
采用上述实施方式,模型适配层的缓存作用体现在图形层无需依赖后端处理服务器提供模型内部关联的逻辑数据,这些模型内部关联的逻辑数据从浏览器端的模型适配层即可获得;数据是模型适配层的核心。模型适配层是Web系统的数据层,是Web系统能够完整表达模型语义的关键。
为了进一步地优化本发明的实施效果,在另外一些实施方式中,其余特征技术相同,不同之处在于,模型适配层包括:
UML组件,用于承载模型元素;
UMLPool组件,用于维护和管理模型元素、执行模型元素与模型元素之间的逻辑运算获得第一逻辑数据以及服务层提供的模型内部关联的第二逻辑数据,模型元素与第一逻辑数据和第二逻辑数据组成模型数据;
模型树组件,用于维护和管理模型数据之间的逻辑关系;
元素工厂,用于创建、调用和实例化UML元素,还用于模型元素与模型元素之间的逻辑运算;
操作流解析器,用于订阅用户建模操作。
进一步地,模型树组件中模型树的根节点设有一个渲染标记,渲染标记用于感知模型树的数据变化。
采用上述实施方式,在建模项目过于复杂时,随着模型树挂载元素增多,树的深度超过3层时,基于Vue的模型树的数据无法及时更新。该问题的原因是以上数据结构在模型树深度超过3层时就会失效。为解决模型树渲染不及时问题,本发明为模型树的根节点设置一个渲染标记,渲染标记用于感知模型树的数据变化。改进后的模型树,无论其深度多深,根节点的标记值都能使模型树感知到数据变化,实现模型树的及时更新。
为了进一步地优化本发明的实施效果,在另外一些实施方式中,其余特征技术相同,不同之处在于,web系统采用预加载的方式进行加载。
采用上述实施方式,动态资源和静态资源分离加载已经很大程度优化Web性能,但面对如此多的资源文件,加载的时机也很关键。懒加载是指浏览器端按需加载Web资源,当用户进入可视区才加载。用户每次操作时,会监听用户事件,通过判断图片是否进入可视区判定是否需要请求处理服务器加载资源。懒加载的特点是能减少无效资源的加载,对所需资源过多、页面冗长分页的场景适用。预加载是指提前请求资源,资源被使用时从缓存中加载。预加载实现可以通过Image对象、Html标签等多种方式。根据上述分析,虽然懒加载能提升初次加载体验,但是进入懒加载的子路由时,需要进行大量的判断和资源请求,用户体验并不好。所以结合本发明的建模实际情况,权衡浏览器端的加载能力,选择预加载。通过这种方式,用户建模过程中进入子路由非常流畅。当用户创建项目时,将需要的静态资源一次性加载完毕。
为了进一步地优化本发明的实施效果,在另外一些实施方式中,其余特征技术相同,不同之处在于,处理服务器包括:
Web静态服务器,用于负责响应静态资源访问请求;
Web应用服务器,用于负责处理动态资源请求,执行应用逻辑,与数据库服务器连接。
上述实施例只为说明本发明的技术构思及特点,其目的在于让本领域普通技术人员能够了解本发明的内容并加以实施,并不能以此限制本发明的保护范围,凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围内。
Claims (10)
1.基于SysML模型语义web系统的动静态资源分离方法,其特征在于,包括以下步骤:
用户发起请求,请求达到Nginx服务器;
Nginx服务器通过配置端口、支持数据格式、缓存区大小、location指定代理路径对Web应用动态资源和静态资源分离;
Nginx服务器通过资源类别选择不同的处理服务器。
2.根据权利要求1所述的基于SysML模型语义web系统的动静态资源分离方法,其特征在于,所述Nginx服务器通过配置端口、支持数据格式、缓存区大小、location指定代理路径对Web应用动态资源和静态资源分离具体包括以下内容:根据请求资源的统一资源标识符URI进行动态资源和静态资源的定位和请求。
3.根据权利要求2所述的基于SysML模型语义web系统的动静态资源分离方法,其特征在于,所述Nginx服务器根据请求资源的统一资源标识符URI进行动态资源和静态资源的定位和请求的解析过程具体包括以下步骤:
web系统自动识别URI是否精准命中,如果是,则立即返回并结束解析过程;
如果URI没有精准命中,则判断其是否普通命中,如果命中一个,则将匹配结果记录下,解析过程继续;如果命中多个,则将匹配最长的结果记录下,解析过程继续;
判断URI是否正则匹配,如果是,则忽略普通命中的结果,直接将正则匹配结果返回并结束解析过程,如果不是,则将普通命中的最长结果返回并结束解析过程。
4.根据权利要求1-3任一项所述的基于SysML模型语义web系统的动静态资源分离方法,其特征在于,所述静态资源能够为以下一种或多种:浏览器渲染资源、图片、视频、文件。
5.基于SysML模型语义web系统,其特征在于,包括:
浏览器端,用于接收用户请求;
Nginx服务器,利用如权利要求1-4任一项所述的分离方法实现动态资源和静态资源的分离,将不同类型的资源分配给对应的处理服务器;
处理服务器,基于请求进行模型内部关联的逻辑计算,并同步逻辑运算数据到所述浏览器端。
6.根据权利要求5所述的基于SysML模型语义web系统,其特征在于,所述浏览器端包括:
模型适配层,所述模型适配层包括仅包含基础模型属性且能完整支持模型内部复杂关联语义的Sys ML领域元模型表示、基于该Sys ML领域元模型表示形成的模型数据以及实现图形层和处理服务器的交互的逻辑计算与请求转发;
图形层,所述图形层基于请求从所述模型适配层获取模型数据进行渲染表示。
7.根据权利要求6所述的基于SysML模型语义web系统,其特征在于,所述处理服务器基于请求进行模型内部关联的逻辑计算,并同步逻辑运算数据到所述模型适配层。
8.根据权利要求7所述的基于SysML模型语义web系统,其特征在于,所述模型适配层包括:
UML组件,用于承载模型元素;
UMLPool组件,用于维护和管理模型元素、执行模型元素与模型元素之间的逻辑运算获得第一逻辑数据以及服务层提供的模型内部关联的第二逻辑数据,模型元素与第一逻辑数据和第二逻辑数据组成模型数据;
模型树组件,用于维护和管理模型数据之间的逻辑关系;
元素工厂,用于创建、调用和实例化UML元素,还用于模型元素与模型元素之间的逻辑运算;
操作流解析器,用于订阅用户建模操作。
9.根据权利要求8所述的基于SysML模型语义web系统,其特征在于,所述模型树组件中模型树的根节点设有一个渲染标记,所述渲染标记用于感知模型树的数据变化。
10.根据权利要求5-9中任一项所述的基于SysML模型语义web系统,其特征在于,所述web系统采用预加载的方式进行加载。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010740846.4A CN111857737A (zh) | 2020-07-28 | 2020-07-28 | 基于SysML模型语义web系统的动静态资源分离方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010740846.4A CN111857737A (zh) | 2020-07-28 | 2020-07-28 | 基于SysML模型语义web系统的动静态资源分离方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN111857737A true CN111857737A (zh) | 2020-10-30 |
Family
ID=72948503
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010740846.4A Pending CN111857737A (zh) | 2020-07-28 | 2020-07-28 | 基于SysML模型语义web系统的动静态资源分离方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111857737A (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112685669A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 一种页面渲染方法以及系统 |
| CN113422760A (zh) * | 2021-06-10 | 2021-09-21 | 杭州安恒信息技术股份有限公司 | 数据传输方法、装置、电子装置和存储介质 |
| CN113886735A (zh) * | 2021-09-24 | 2022-01-04 | 浪潮云信息技术股份公司 | 基于Nginx的静态资源和数据的缓存方法及系统 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1469276A (zh) * | 2002-06-28 | 2004-01-21 | �ձ����ŵ绰��ʽ���� | 自结构化文件提取信息之方法与装置并计算机程序及其存储介质 |
| CN103635897A (zh) * | 2011-06-23 | 2014-03-12 | 微软公司 | 对运行页面进行动态更新 |
| US20170223430A1 (en) * | 2014-09-12 | 2017-08-03 | Kiswe Mobile Inc. | Methods and apparatus for content interaction |
| CN109522018A (zh) * | 2018-11-14 | 2019-03-26 | 腾讯科技(深圳)有限公司 | 页面处理方法、装置及存储介质 |
| CN111427556A (zh) * | 2020-03-30 | 2020-07-17 | 杭州华望系统科技有限公司 | 基于Web的SysML建模平台 |
-
2020
- 2020-07-28 CN CN202010740846.4A patent/CN111857737A/zh active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1469276A (zh) * | 2002-06-28 | 2004-01-21 | �ձ����ŵ绰��ʽ���� | 自结构化文件提取信息之方法与装置并计算机程序及其存储介质 |
| CN103635897A (zh) * | 2011-06-23 | 2014-03-12 | 微软公司 | 对运行页面进行动态更新 |
| US20170223430A1 (en) * | 2014-09-12 | 2017-08-03 | Kiswe Mobile Inc. | Methods and apparatus for content interaction |
| CN109522018A (zh) * | 2018-11-14 | 2019-03-26 | 腾讯科技(深圳)有限公司 | 页面处理方法、装置及存储介质 |
| CN111427556A (zh) * | 2020-03-30 | 2020-07-17 | 杭州华望系统科技有限公司 | 基于Web的SysML建模平台 |
Non-Patent Citations (2)
| Title |
|---|
| 不穿格子衫: "Nginx的 Location匹配规则,泣血总结", pages 1 - 5, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/90506291> * |
| 这个世界~: "【Nginx】实现动静分离", pages 1 - 3, Retrieved from the Internet <URL:https://www.cnblogs.com/haoworld/p/nginx-shi-xian-dong-jing-fen-li.html> * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112685669A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 一种页面渲染方法以及系统 |
| CN113422760A (zh) * | 2021-06-10 | 2021-09-21 | 杭州安恒信息技术股份有限公司 | 数据传输方法、装置、电子装置和存储介质 |
| CN113422760B (zh) * | 2021-06-10 | 2023-04-07 | 杭州安恒信息技术股份有限公司 | 数据传输方法、装置、电子装置和存储介质 |
| CN113886735A (zh) * | 2021-09-24 | 2022-01-04 | 浪潮云信息技术股份公司 | 基于Nginx的静态资源和数据的缓存方法及系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101391894B1 (ko) | 콘텐츠 요청 최적화 | |
| US11403356B2 (en) | Personalizing a search of a search service | |
| US9224151B2 (en) | Presenting advertisements based on web-page interaction | |
| US6988135B2 (en) | Method and system for specifying a cache policy for caching web pages which include dynamic content | |
| US20190311008A1 (en) | Linked data processor for database storage | |
| Ravi et al. | A survey on dynamic Web content generation and delivery techniques | |
| US11029925B2 (en) | System and method for serving multiple data objects and formatting functions in a single request | |
| KR101991537B1 (ko) | 자율형 네트워크 스트리밍 기법 | |
| US20030018612A1 (en) | Hierarchical caching techniques for efficient dynamic page generation | |
| US20110283207A1 (en) | System and method for platform and language-independent development and delivery of page-based content | |
| WO2009043033A4 (en) | Network operating system | |
| US20060031751A1 (en) | Method for creating editable web sites with increased performance & stability | |
| JP2005174283A (ja) | コンピュータプラットフォームのプログラミングインターフェース | |
| US11789963B2 (en) | Systems and methods for presenting web application content | |
| CN111857737A (zh) | 基于SysML模型语义web系统的动静态资源分离方法 | |
| US20220164209A1 (en) | Containerized computing environments | |
| CN111328394A (zh) | Web内容的本地安全渲染 | |
| US7668929B1 (en) | Abstracting links to electronic resources in a network environment | |
| KR20180082271A (ko) | 캐시된 wadl 실행 엔진 및 그를 이용한 웹 서비스 호출 방법 | |
| US12412051B1 (en) | Dynamic generation of instructions for machine learning transcreation tasks | |
| CN115167945B (zh) | 用于向应用引入组件的方法、装置、设备和介质 | |
| CN116257707B (zh) | 一种应用发布方法、装置、电子设备及存储介质 | |
| CN120407965A (zh) | 页面显示处理方法、装置、设备及存储介质 | |
| Förster et al. | High Availability of Big-Geo-Data as a Platform as a Service | |
| Martin | Modelling hypermedia implementation and node-less hypermedia |
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 | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201030 |
|
| RJ01 | Rejection of invention patent application after publication |