加速前端同构化应用程序的方法技术

技术编号:22307944 阅读:37 留言:0更新日期:2019-10-16 08:04
本申请公开了一种加速前端同构化应用程序的方法,其特征在于,包括以下步骤:1)提取HTML页面的HTML骨架和HTML组件;2)nodejs接收HTML页面请求,在主线程中渲染HTML骨架,在工作线程中渲染HTML组件;3)将步骤2)渲染后的HTML骨架和HTML组件拼装并输出到客户端。优点:通过本发明专利技术的nodejs的全新的线程处理,提高了前后端同构渲染模型中的nodejs并发处理能力,提高了效率的同时也降低了整体开发成本。

A method to speed up front end isomorphism application

【技术实现步骤摘要】
加速前端同构化应用程序的方法
本申请涉及通信领域,具体而言,涉及一种加速前端同构化应用程序的方法。
技术介绍
目前前端基于MVVC类开发框架(如react,vue等)的isomorphic(同构)应用程序严重依赖nodejs。而nodejs的异步单线程特性决定了它无法胜任CPU密集型任务。目前主流前后端同构应用程序对组件模板渲染都是基于单线程同步渲染模式,而复杂组件模板渲染是一个CPU密集型任务,在高并发场景中,会严重阻塞nodejs的事件循环,降低系统吞吐量。在一些大的业务场景中,为了增加此类应用的并发处理能力,不得不增加硬件负载均衡设备,从而提高了整体开发成本。
技术实现思路
本申请的主要目的在于提供一种加速前端同构化应用程序的方法,以解决问题。为了实现上述目的,本申请提供了一种加速前端同构化应用程序的方法,其特征在于,包括以下步骤:1)提取HTML页面的HTML骨架和HTML组件;2)nodejs接收HTML页面请求,在主线程中渲染HTML骨架,在工作线程中渲染HTML组件;3)将步骤2)渲染后的HTML骨架和HTML组件拼装并输出到客户端。进一步的,所述HTML组件为HTML页面的主体内容。进一步的,所述HTML页面的主体内容由MVVC类框架组件化构成。进一步的,在工作线程中利用worker_threads接口渲染HTML组件。进一步的,所述渲染后的HTML组件的渲染结果以异步事件形式通知主线程。一种加速前端同构化应用程序系统,包括提取模块、nodejs线程处理模块以及传输模块;所述提取模块、nodejs线程处理模块以及传输模块依次连接;所述提取模块用于提取HTML页面的HTML骨架和HTML组件;所述nodejs线程处理模块用于接收HTML页面请求,在主线程中渲染HTML骨架,在工作线程中渲染HTML组件;所述传输模块用于将渲染后的HTML骨架和HTML组件拼装并输出到客户端。进一步的,所述提取模块提取的HTML组件为HTML页面的主体内容。进一步的,所述提取模块提取的HTML页面的主体内容由MVVC类框架组件化构成。进一步的,所述nodejs线程处理模块采用worker_threads接口渲染HTML组件。进一步的,所述传输模块将渲染后的HTML组件的渲染结果以异步事件形式通知主线程。本专利技术所达到的有益效果:通过本专利技术的nodejs的全新的线程处理,提高了前后端同构渲染模型中的nodejs并发处理能力,提高了效率的同时也降低了整体开发成本。附图说明构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请一种实施例的加速前端同构化应用程序的方法;图2是根据本申请一种实施例的加速前端同构化应用程序系统。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。如图1所示,一种加速前端同构化应用程序的方法,包括以下步骤:1)提取HTML页面的HTML骨架和HTML组件;2)nodejs接收HTML页面请求,在主线程中渲染HTML骨架,在工作线程中渲染HTML组件;3)将步骤2)渲染后的HTML骨架和HTML组件拼装并输出到客户端。本实施例中,所述HTML组件为HTML页面的主体内容。本实施例中,所述HTML页面的主体内容由MVVC类框架组件化构成。本实施例中,在工作线程中利用worker_threads接口渲染HTML组件。本实施例中,所述渲染后的HTML组件的渲染结果以异步事件形式通知主线程。如图2所示,一种加速前端同构化应用程序系统,包括提取模块、nodejs线程处理模块以及传输模块;所述提取模块、nodejs线程处理模块以及传输模块依次连接;所述提取模块用于提取HTML页面的HTML骨架和HTML组件;所述nodejs线程处理模块用于接收HTML页面请求,在主线程中渲染HTML骨架,在工作线程中渲染HTML组件;所述传输模块用于将渲染后的HTML骨架和HTML组件拼装并输出到客户端。本实施例中,所述提取模块提取的HTML组件为HTML页面的主体内容。本实施例中,所述提取模块提取的HTML页面的主体内容由MVVC类框架组件化构成。本实施例中,所述nodejs线程处理模块采用worker_threads接口渲染HTML组件。本实施例中,所述传输模块将渲染后的HTML组件的渲染结果以异步事件形式通知主线程。从以上的描述中,可以看出,本专利技术实现了如下技术效果:a.本专利技术利用nodejs的全新线程模型,将组件的渲染过程置于工作线程中渲染,不阻塞主线程执行流程,将工作县城渲染结果以异步事件形式通知主线程。提高了前后端同构渲染模型中的nodejs并发处理能力,降低了开发成本。具体的,本专利技术实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。显然,本领域的技术人员应该明白,上述的本专利技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本专利技术不限制于任何特定的硬件和软件结合。以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。本文档来自技高网
...

【技术保护点】
1.一种加速前端同构化应用程序的方法,其特征在于,包括以下步骤:1)提取HTML页面的HTML骨架和HTML组件;2)nodejs接收HTML页面请求,在主线程中渲染HTML骨架,在工作线程中渲染HTML组件;3)将步骤2)渲染后的HTML骨架和HTML组件拼装并输出到客户端。

【技术特征摘要】
1.一种加速前端同构化应用程序的方法,其特征在于,包括以下步骤:1)提取HTML页面的HTML骨架和HTML组件;2)nodejs接收HTML页面请求,在主线程中渲染HTML骨架,在工作线程中渲染HTML组件;3)将步骤2)渲染后的HTML骨架和HTML组件拼装并输出到客户端。2.根据权利要求1所述的加速前端同构化应用程序的方法,其特征在于,所述HTML组件为HTML页面的主体内容。3.根据权利要求2所述的加速前端同构化应用程序的方法,其特征在于,所述HTML页面的主体内容由MVVC类框架组件化构成。4.根据权利要求1所述的加速前端同构化应用程序的方法,其特征在于,在工作线程中利用worker_threads接口渲染HTML组件。5.根据权利要求1所述的加速前端同构化应用程序的方法,其特征在于,所述渲染后的HTML组件的渲染结果以异步事件形式通知主线程。6.一种加速前端同构化应用程序系统,其特征在于,包括提取模块、nodejs线程处理模块以...

【专利技术属性】
技术研发人员:周晶吴峰郭伟
申请(专利权)人:上海易点时空网络有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1