CN111752559A - 前后端分离系统、方法、装置和存储介质 - Google Patents

前后端分离系统、方法、装置和存储介质 Download PDF

Info

Publication number
CN111752559A
CN111752559A CN201911082040.4A CN201911082040A CN111752559A CN 111752559 A CN111752559 A CN 111752559A CN 201911082040 A CN201911082040 A CN 201911082040A CN 111752559 A CN111752559 A CN 111752559A
Authority
CN
China
Prior art keywords
request
page
template file
network request
control server
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.)
Granted
Application number
CN201911082040.4A
Other languages
English (en)
Other versions
CN111752559B (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information 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 Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201911082040.4A priority Critical patent/CN111752559B/zh
Publication of CN111752559A publication Critical patent/CN111752559A/zh
Application granted granted Critical
Publication of CN111752559B publication Critical patent/CN111752559B/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/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种前后端分离系统、方法、装置和存储介质。该系统包括:反向代理服务器,用于接收用户客户端发送的网络请求,并按照预设请求识别规则识别网络请求的请求类型,在请求类型为数据请求类型时,将网络请求发送至后端功能管控服务器,在请求类型为页面请求类型时,将网络请求发送至前端功能管控服务器;后端功能管控服务器,用于依据反向代理服务器发送的网络请求确定页面填充数据;前端功能管控服务器,用于依据反向代理服务器发送的网络请求确定目标页面模板文件。通过上述技术方案,提高了web开发中前后端的分离程度。

Description

前后端分离系统、方法、装置和存储介质
技术领域
本发明实施例涉及互联网技术,尤其涉及一种前后端分离系统、方法、装置和存储介质。
背景技术
在Web开发场景中,前端和后端需要配合开发程序。前端负责网页页面(含PC的网页和移动端的H5页面)以及页面上的资源(包括JS和CSS等部分),而后端负责业务逻辑代码和数据存储等内容并给前端提供接口,中间有交叉的地方是网页页面,这个部分涉及了两端的研发。协作的方式是前端开发人员开发好页面,然后把页面交给后端开发人员;后端开发人员在页面的基础上组装好数据,然后发布到服务器。为了提高web开发效率,通常会对前端和后端的开发工作进行合理分离。
现有的前后端分离的方法有:(1)前端开发人员编写好网页内容固定的静态页面,将其交给后端开发人员;后端开发人员将静态页面当成页面模板套进去,生成网页内容根据用户及请求的不同而不同的动态页面。该方案中,前端开发人员只负责静态页面的更新维护,后端开发人员需要负责整个页面的更新维护。(2)基于单页Web应用(single pageweb application,SPA)架构的方案。该方案中前端不再需要维护多个静态页面,而是将页面简化为一个页面模板,这样前后端之间的交集只剩下一个页面模板,整个页面内容比较少,大部分内容可以抽离,通过JS的方式来渲染(数据通过JS从后端的接口获取),这样,前端开发人员维护页面模板之外的逻辑和数据,后端开发人员负责维护页面模板,只有需要修改或者新增模板的时候才会有开发交集。
无论哪种前后端分离方案,用户客户端进行网页请求时的前后端分离系统架构如图1所示,页面模板(也称页面文件)以及页面文件所需的数据均存储在后端服务器中。当客户端发出网络请求后,反向代理服务器将该网络请求转发至后端服务器,后端服务器再根据网页部署的开发逻辑,将所请求的静态页面文件或者加载了页面数据的动态页面文件反馈至反向代理服务器,进而反馈给客户端予以显示。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:(1)基于静态页面的方案中,前端代码的工程化程度不足,严重依赖后端开发人员;且前后端测试数据环境受限,导致网页部署的整体效果不好。(2)基于SPA架构的方案中,页面模板在后端进行更新维护,故需要前后端配合才能更新页面模板,使得开发效率低下;另外,由于前端代码的压缩和混淆,以及前后端代码中页面路径等信息没有直接的映射关系等原因,使得页面模板更新时极易出错,从而导致客户端页面加载错误。
发明内容
本发明实施例提供一种前后端分离系统、方法、装置和存储介质,以实现更加彻底地分离前后端,提高前后端开发效率的同时,降低页面模板的出错率,提高网页部署的稳定性。
第一方面,本发明实施例提供了一种前后端分离系统,该系统包括:
反向代理服务器,用于接收用户客户端发送的网络请求,并按照预设请求识别规则,识别所述网络请求的请求类型,在所述请求类型为数据请求类型时,将所述网络请求发送至后端功能管控服务器,在所述请求类型为页面请求类型时,将所述网络请求发送至前端功能管控服务器;
后端功能管控服务器,用于依据所述反向代理服务器发送的所述网络请求确定页面填充数据,并将所述页面填充数据发送至所述反向代理服务器,以使所述反向代理服务器将所述页面填充数据发送至所述用户客户端;
前端功能管控服务器,用于依据所述反向代理服务器发送的所述网络请求确定目标页面模板文件,并将所述目标页面模板文件发送至所述反向代理服务器,以使所述反向代理服务器将所述目标页面模板文件发送至所述用户客户端。
第二方面,本发明实施例还提供了一种前后端分离方法,应用于反向代理服务器,该方法包括:
接收用户客户端发送的网络请求,并按照预设请求识别规则,识别所述网络请求的请求类型;
若所述请求类型为页面请求类型,则将所述网络请求发送至前端功能管控服务器,以使所述前端功能管控服务器依据所述网络请求确定目标页面模板文件并返回;
若所述请求类型为数据请求类型,则将所述网络请求发送至后端功能管控服务器,以使所述后端功能管控服务器依据所述网络请求确定页面填充数据并返回;
将所述目标页面模板文件和/或所述页面填充数据发送至所述用户客户端。
第三方面,本发明实施例还提供了一种前后端分离装置,配置于反向代理服务器,该装置包括:
请求类型识别模块,用于接收用户客户端发送的网络请求,并按照预设请求识别规则,识别所述网络请求的请求类型;
目标页面模板文件获取模块,用于若所述请求类型为页面请求类型,则将所述网络请求发送至前端功能管控服务器,以使所述前端功能管控服务器依据所述网络请求确定目标页面模板文件并返回;
页面填充数据获取模块,用于若所述请求类型为数据请求类型,则将所述网络请求发送至后端功能管控服务器,以使所述后端功能管控服务器依据所述网络请求确定页面填充数据并返回;
数据反馈模块,用于将所述目标页面模板文件和/或所述页面填充数据发送至所述用户客户端。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的前后端分离方法。
本发明实施例通过在前后端分离系统中设置前端功能管控服务器和后端功能管控服务器,其中,后端功能管控服务器用于依据反向代理服务器发送的网络请求确定页面填充数据,并将页面填充数据发送至反向代理服务器;前端功能管控服务器用于依据反向代理服务器发送的网络请求确定目标页面模板文件,并将目标页面模板文件发送至反向代理服务器。实现了将web开发过程中的页面模板文件的处理维护功能和页面填充数据的处理维护功能,分别拆分至由前端开发人员负责的前端功能管控服务器和由后端开发人员负责的后端功能管控服务器,提高了前后端分离程度,从而提高开发效率,也因页面模板文件完全由前端开发人员维护而降低了页面模板文件的出错率,进而提高了网页部署的稳定性。通过在前后端分离系统中设置反向代理服务器,用于接收用户客户端发送的网络请求,并按照预设请求识别规则,识别网络请求的请求类型,在请求类型为数据请求类型时,将网络请求发送至后端功能管控服务器,在请求类型为页面请求类型时,将网络请求发送至前端功能管控服务器。实现了页面请求类型的网络请求和数据请求类型的网络请求的识别和转发,进一步提高了前后端分离程度。
附图说明
图1是现有技术中的前后端分离系统的系统架构示意图;
图2是本发明实施例一中的一种前后端分离系统的系统架构示意图;
图3是本发明实施例二中的一种前后端分离系统的系统架构示意图;
图4是本发明实施例三中的一种前后端分离分法的流程图;
图5是本发明实施例四中的一种前后端分离装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
本实施例提供了一种前后端分离系统,参见图2,该系统包括:
反向代理服务器220,用于接收用户客户端210发送的网络请求,并按照预设请求识别规则,识别网络请求的请求类型,在请求类型为数据请求类型时,将网络请求发送至后端功能管控服务器230,在请求类型为页面请求类型时,将网络请求发送至前端功能管控服务器240;
后端功能管控服务器230,用于依据反向代理服务器220发送的网络请求确定页面填充数据,并将页面填充数据发送至反向代理服务器220,以使反向代理服务器220将页面填充数据发送至用户客户端210;
前端功能管控服务器240,用于依据反向代理服务器220发送的网络请求确定目标页面模板文件,并将目标页面模板文件发送至反向代理服务器220,以使反向代理服务器220将目标页面模板文件发送至用户客户端210。
其中,预设请求识别规则是指预先设置的规则,其用于识别网络请求的请求类型。数据请求类型是指用于请求页面中需要填充的数据(即页面填充数据)的网络请求的类型。页面请求类型是指用于请求页面模板文件的网络请求的类型。
用户客户端210指的是Web客户端,即浏览器,可能是PC的浏览器,也可能是移动端的浏览器,移动端的浏览器有专门的浏览器也有内嵌在APP中的浏览器。反向代理服务器220主要是指类如nginx、Apache之类的服务器,这里作为服务器请求的识别和转发。后端功能管控服务器230可以是服务器集群也可以是单机的服务器,其主要处理后端的逻辑和数据,同时给前端的页面提供接口,吐出数据。前端功能管控服务器240可以是服务器集群也可以是单机的服务器,其主要处理页面相关逻辑,使得前端开发人员可以控制网页的部署。前端功能管控服务器同样是属于后端类型的服务器,以便能够承载后端服务器输出的一些标准的组件。
本发明实施例中将前端相关的功能全部抽离,交由前端开发人员负责,并且将这些功能的实现全部集成在前端功能管控服务器中,而非相关技术中的后端服务器。同时,将后端相关的功能仍旧保留于后端服务器,交由后端开发人员负责,这些功能的实现集成在后端功能管控服务器中。这样,前后端开发人员的职责被明确分离,前端开发人员可以控制网页的部署开发及完整的测试,显著提高网页部署效果,降低页面出错率。
本实施例中的前后端分离系统的运行过程为:
A、用户客户端210发送网络请求至反向代理服务器220;
B、反向代理服务器220接收网络请求,并且按照预设请求识别规则,识别网络请求的请求类型;
C、若请求类型为页面请求类型,则反向代理服务器220将网络请求发送至前端功能管控服务器240;
D、前端功能管控服务器240依据网络请求确定目标页面模板文件,并将目标页面模板文件发送至反向代理服务器220;
E、若请求类型为数据请求类型,则反向代理服务器220将网络请求发送至后端功能管控服务器230;
F、后端功能管控服务器230依据网络请求确定页面填充数据,并将页面填充数据发送至反向代理服务器220;
G、反向代理服务器220将目标页面模板文件和/或页面填充数据发送至用户客户端210;
H、用户客户端根据目标页面模板文件和页面填充数据进行页面的显示。
上述过程中,步骤C~步骤D、步骤E~步骤F并不是需要全部执行的,其根据业务需求(如网络请求)而定。例如,网络请求先是页面请求类型,则执行步骤A~步骤D和步骤G;当用户客户端210获得目标页面模板文件之后,通过对页面的解析,确定其所需的页面填充数据的相关信息,并据此生成新的数据请求类型的网络请求,则执行步骤A、步骤B和步骤E~步骤H。
示例性地,请求类型还包括混合请求类型;
相应地,反向代理服务器220还用于:若按照预设请求识别规则,识别网络请求的请求类型为混合请求类型,则将网络请求发送至后端功能管控服务器,以使后端功能管控服务器反馈与网络请求对应的目标页面模板文件与页面填充数据。
其中,混合请求类型是指同时请求页面填充数据和页面模板文件的网络请求的类型。
本实施例的前后端分离方案,针对新开发的系统,会将页面填充数据和页面模板文件拆分为不同的网络请求来获取。但是,考虑到原有开发的系统中存在混合请求类型的网络请求,故本实施例中在后端功能管控服务器中除了处理后端的数据逻辑之外,还保留有混合请求类型的网络请求对应的页面模板文件及相应的页面处理逻辑。这样,前后端分离系统不仅可以在新开发系统中将前后端彻底分离,也能够兼容原有系统的网络请求,并且随着页面模板文件的不断更新,逐渐地将原有系统转换为新开发的前后端分离系统。
本实施例的前后端分离系统,通过在前后端分离系统中设置前端功能管控服务器和后端功能管控服务器,其中,后端功能管控服务器用于依据反向代理服务器发送的网络请求确定页面填充数据,并将页面填充数据发送至反向代理服务器;前端功能管控服务器用于依据反向代理服务器发送的网络请求确定目标页面模板文件,并将目标页面模板文件发送至反向代理服务器。实现了将web开发过程中的页面模板文件的处理维护功能和页面填充数据的处理维护功能,分别拆分至由前端开发人员负责的前端功能管控服务器和由后端开发人员负责的后端功能管控服务器,提高了前后端分离程度,从而提高开发效率,也因页面模板文件完全由前端开发人员维护而降低了页面模板文件的出错率,进而提高了网页部署的稳定性。通过在前后端分离系统中设置反向代理服务器,用于接收用户客户端发送的网络请求,并按照预设请求识别规则,识别网络请求的请求类型,在请求类型为数据请求类型时,将网络请求发送至后端功能管控服务器,在请求类型为页面请求类型时,将网络请求发送至前端功能管控服务器。实现了页面请求类型的网络请求和数据请求类型的网络请求的识别和转发,进一步提高了前后端分离程度。
实施例二
本实施例在上述实施例一的基础上,对“前端功能管控服务器”的内部结构进行了进一步优化。在此基础上,增加了“规则配置中心”和“页面配置中心”。其中与上述实施例相同或相应的术语的解释在此不再赘述。
参见图3,本实施例提供的前后端分离系统包括:用户客户端210、反向代理服务器220、后端功能管控服务器230、前端功能管控服务器240、规则配置中心250和页面配置中心260;其中,
规则配置中心250,用于:存储请求识别规则,并使用存储的请求识别规则更新反向代理服务器中的预设请求识别规则。
反向代理服务器220,用于接收用户客户端210发送的网络请求,并按照预设请求识别规则,识别网络请求的请求类型,在请求类型为数据请求类型时,将网络请求发送至后端功能管控服务器230,在请求类型为页面请求类型时,将网络请求发送至前端功能管控服务器240;
后端功能管控服务器230,用于依据反向代理服务器220发送的网络请求确定页面填充数据,并将页面填充数据发送至反向代理服务器220,以使反向代理服务器220将页面填充数据发送至用户客户端210;
前端功能管控服务器240包括页面存储单元241、通讯单元242和请求处理单元243。其中,页面存储单元241用于存储各页面模板文件;通讯单元242用于接收反向代理服务器220发送的网络请求;请求处理单元243用于依据反向代理服务器220发送的网络请求从页面存储单元241中确定目标页面模板文件,并通过通讯单元242将目标页面模板文件发送至反向代理服务器220。
页面配置中心260,用于:存储页面请求路径与页面存储路径之间的映射关系,以及每个页面模板文件的权限配置信息。
本实施例中将所有用于识别网络请求的请求类型的规则全部存储于规则配置中心250。当反向代理服务器220需要进行网络请求的请求类型识别时,通过规则配置中心250中存储的请求识别规则来确定预设请求识别规则。具体可以是规则配置中心250主动下发请求识别规则至反向代理服务器220,也可以是反向代理服务器220向规则配置中心发送请求识别规则的请求而获得规则配置中心250中的请求识别规则。为了均衡效率与准确性,可以是周期性地使用规则配置中心250中存储的请求识别规则来更新反向代理服务器220中的预设请求识别规则。
相关技术中,在获取页面模板文件时,需要根据网络请求中的页面请求路径(如http网址)来定位页面模板文件在存储空间中的存储路径(即页面存储路径),该定位过程是手动维护过程,容易导致路径定位错误。本实施例中为了进一步降低因路径错误而导致的页面错误率,预先建立每个页面模板文件的页面请求路径和页面存储路径之间的映射关系,并将该映射关系存储至页面配置中心260。这样,当前端功能管控服务器240需要根据目标页面请求路径确定目标页面存储路径时,便可通过页面配置中心260来查询获得。另外,对于前端功能管控服务器240中的其他功能所用到的静态信息,如用户权限验证的页面模板文件的权限配置信息,可以一并存储至页面配置中心260。
前端功能管控服务器240负责页面模板文件的相关处理逻辑,其将所有的页面模板文件按照页面存储路径存储至页面存储单元241。当需要根据网络请求确定目标页面模板文件时,请求处理单元243通过对页面存储单元241的访问来获取目标页面模板文件。
示例性地,请求处理单元243具体用于:依据网络请求中的目标页面请求路径,以及页面请求路径与页面存储路径之间的映射关系,确定网络请求对应的目标页面存储路径;依据目标页面存储路径,从页面存储单元中存储的各页面模板文件中确定目标页面模板文件。
上述请求处理单元243根据网络请求来确定目标页面模板文件的过程可以为:请求处理单元243根据网络请求中的目标页面请求路径,读取页面配置中心260中存储的页面请求路径与页面存储路径之间的映射关系,从而确定目标页面请求路径对应的目标页面存储路径。之后,请求处理单元243根据目标页面存储路径,访问页面存储单元241,以获取其目标页面存储路径中存储的目标页面模板文件。
示例性地,请求处理单元243还用于:依据目标页面模板文件的权限配置信息,验证目标页面模板文件的用户权限。在网页访问过程中,存在诸多需要验证用户权限的页面。例如,不同用户权限的用户看到的页面内容会不同。此时,在确定要返回的页面模板文件之前,需要先验证用户的权限。具体实施时,请求处理单元243根据被请求的目标页面模板文件,从页面配置中心260中读取该文件的权限配置信息,如用户需登录。之后,需要验证用户是否登录。如果登录,则将登录后的目标页面模板文件返回;如果未登录,则需要返回未登录的目标页面模板文件返回。
示例性地,页面存储单元具体用于:接收待更新的更新页面模板文件,并使用更新页面模板文件替换相应页面存储路径中存储的更新前的页面模板文件。在前端开发过程中,如果需要更新页面模板文件,前端开发人员不需要修改页面配置中心260中的映射关系,而是只需要根据该映射关系,将需要更新的更新页面模板文件,存储至被更新的页面模板文件所在的页面存储路径中,以覆盖更新前的旧的页面模板文件。这样设置的好处在于,可以减少配置信息的修改,进一步降低前端开发人员的开发难度,只需要按照配置信息替换页面模板文件即可。
示例性地,请求处理单元中存储有后端插件组件,以通过调用后端插件组件实现请求处理单元的功能。由于前端功能管控服务器240为后端类型的服务器,故其可以承载后端输出的标准组件。本实施例中为了进一步降低前端开发人员的开发难度,后端开发人员将一些前端不易处理的基础功能,如根据网络请求确定目标页面模板文件的功能、权限验证功能及流量控制功能等,打包成标准化的后端插件组件,并将其存储至请求处理单元。这样,当需要实现相应功能时,直接调用后端插件组件即可,无需前端开发人员自行开发程序,前端开发人员只需要根据后端插件组件的说明进行相关文件的配置和部署即可。
本实施例的前后端分离系统,通过增加规则配置中心和页面配置中心,进一步提高了前端开发的程序工程化程度,降低了前端开发人员的开发难度。通过在前端功能管控服务器中设置页面存储单元和请求处理单元,且通过后端插件组件来实现请求处理单元的功能,使得前端开发人员无需修改请求处理单元中的后端插件组件和页面配置中心中的配置信息,而只需进行页面存储单元中的页面模板文件的配置和部署,便可进行前端功能的维护,进一步降低了前端开发人员的开发难度。
实施例三
本实施例提供的前后端分离方法可适用于涉及前端和后端开发的web程序开发。该方法可以由前后端分离装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在反向代理服务器中。参见图4,本实施例的方法具体包括如下步骤:
S110、接收用户客户端发送的网络请求,并按照预设请求识别规则,识别网络请求的请求类型。
S120、若请求类型为页面请求类型,则将网络请求发送至前端功能管控服务器,以使前端功能管控服务器依据网络请求确定目标页面模板文件并返回。
S130、若请求类型为数据请求类型,则将网络请求发送至后端功能管控服务器,以使后端功能管控服务器依据网络请求确定页面填充数据并返回。
S140、将目标页面模板文件和/或页面填充数据发送至用户客户端。
可选地,在按照预设请求识别规则,识别网络请求的请求类型之前,还包括:
依据规则配置中心中存储的请求识别规则更新预设请求识别规则。
可选地,前端功能管控服务器依据网络请求确定目标页面模板文件包括:
依据网络请求中的目标页面请求路径,以及页面请求路径与页面存储路径之间的映射关系,确定网络请求对应的目标页面存储路径;
依据目标页面存储路径,从页面存储单元中存储的各页面模板文件中确定目标页面模板文件。
可选地,在上述方案的基础上,该方法还包括:
前端功能管控服务器依据目标页面模板文件的权限配置信息,验证目标页面模板文件的用户权限。
可选地,在上述方案的基础上,该方法还包括:
前端功能管控服务器存储页面请求路径与页面存储路径之间的映射关系,以及每个页面模板文件的权限配置信息。
可选地,在上述方案的基础上,该方法还包括:
前端功能管控服务器接收待更新的更新页面模板文件,并使用更新页面模板文件替换相应页面存储路径中存储的更新前的页面模板文件。
可选地,在按照预设请求识别规则,识别网络请求的请求类型之后,还包括:
若按照预设请求识别规则,识别网络请求的请求类型为混合请求类型,则将网络请求发送至后端功能管控服务器,以使后端功能管控服务器反馈与网络请求对应的目标页面模板文件与页面填充数据。
本实施例的技术方案,通过接收用户客户端发送的网络请求,并按照预设请求识别规则,识别网络请求的请求类型;若请求类型为页面请求类型,则将网络请求发送至前端功能管控服务器,以使前端功能管控服务器依据网络请求确定目标页面模板文件并返回;若请求类型为数据请求类型,则将网络请求发送至后端功能管控服务器,以使后端功能管控服务器依据网络请求确定页面填充数据并返回;将目标页面模板文件和/或页面填充数据发送至用户客户端。实现了将web开发过程中的页面模板文件的处理维护功能和页面填充数据的处理维护功能,分别拆分至由前端开发人员负责的前端功能管控服务器和由后端开发人员负责的后端功能管控服务器,提高了前后端分离程度,从而提高开发效率,也因页面模板文件完全由前端开发人员维护而降低了页面模板文件的出错率,进而提高了网页部署的稳定性。
实施例四
本实施例提供一种前后端分离装置,配置于反向代理服务器,参见图5,该装置具体包括:
请求类型识别模块510,用于接收用户客户端发送的网络请求,并按照预设请求识别规则,识别网络请求的请求类型;
目标页面模板文件获取模块520,用于若请求类型为页面请求类型,则将网络请求发送至前端功能管控服务器,以使前端功能管控服务器依据网络请求确定目标页面模板文件并返回;
页面填充数据获取模块530,用于若请求类型为数据请求类型,则将网络请求发送至后端功能管控服务器,以使后端功能管控服务器依据网络请求确定页面填充数据并返回;
数据反馈模块540,用于将目标页面模板文件和/或页面填充数据发送至用户客户端。
可选地,在上述装置的基础上,该装置还包括规则更新模块,用于:
在按照预设请求识别规则,识别网络请求的请求类型之前,依据规则配置中心中存储的请求识别规则更新预设请求识别规则。
可选地,请求类型识别模块510还用于:
在按照预设请求识别规则,识别网络请求的请求类型之后,若按照预设请求识别规则,识别网络请求的请求类型为混合请求类型,则将网络请求发送至后端功能管控服务器,以使后端功能管控服务器反馈与网络请求对应的目标页面模板文件与页面填充数据。
通过本发明实施例四的一种前后端分离装置,实现了将web开发过程中的页面模板文件的处理维护功能和页面填充数据的处理维护功能,分别拆分至由前端开发人员负责的前端功能管控服务器和由后端开发人员负责的后端功能管控服务器,提高了前后端分离程度,从而提高开发效率,也因页面模板文件完全由前端开发人员维护而降低了页面模板文件的出错率,进而提高了网页部署的稳定性。
本发明实施例所提供的前后端分离装置可执行本发明任意实施例所提供的前后端分离方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述前后端分离装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例五
本实施例提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种前后端分离方法,该方法包括:
接收用户客户端发送的网络请求,并按照预设请求识别规则,识别网络请求的请求类型;
若请求类型为页面请求类型,则将网络请求发送至前端功能管控服务器,以使前端功能管控服务器依据网络请求确定目标页面模板文件并返回;
若请求类型为数据请求类型,则将网络请求发送至后端功能管控服务器,以使后端功能管控服务器依据网络请求确定页面填充数据并返回;
将目标页面模板文件和/或页面填充数据发送至用户客户端。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的前后端分离方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所提供的前后端方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (12)

1.一种前后端分离系统,其特征在于,包括:
反向代理服务器,用于接收用户客户端发送的网络请求,并按照预设请求识别规则,识别所述网络请求的请求类型,在所述请求类型为数据请求类型时,将所述网络请求发送至后端功能管控服务器,在所述请求类型为页面请求类型时,将所述网络请求发送至前端功能管控服务器;
所述后端功能管控服务器,用于依据所述反向代理服务器发送的所述网络请求确定页面填充数据,并将所述页面填充数据发送至所述反向代理服务器,以使所述反向代理服务器将所述页面填充数据发送至所述用户客户端;
所述前端功能管控服务器,用于依据所述反向代理服务器发送的所述网络请求确定目标页面模板文件,并将所述目标页面模板文件发送至所述反向代理服务器,以使所述反向代理服务器将所述目标页面模板文件发送至所述用户客户端。
2.根据权利要求1所述的系统,其特征在于,所述系统还包括规则配置中心,用于:
存储请求识别规则,并使用存储的请求识别规则更新所述反向代理服务器中的所述预设请求识别规则。
3.根据权利要求1所述的系统,其特征在于,所述前端功能管控服务器包括:
页面存储单元,用于存储各页面模板文件;
通讯单元,用于接收所述反向代理服务器发送的所述网络请求;
请求处理单元,用于依据所述反向代理服务器发送的所述网络请求从所述页面存储单元中确定所述目标页面模板文件,并通过所述通讯单元将所述目标页面模板文件发送至所述反向代理服务器。
4.根据权利要求3所述的系统,其特征在于,所述请求处理单元具体用于:
依据所述网络请求中的目标页面请求路径,以及页面请求路径与页面存储路径之间的映射关系,确定所述网络请求对应的目标页面存储路径;
依据所述目标页面存储路径,从所述页面存储单元中存储的各所述页面模板文件中确定所述目标页面模板文件。
5.根据权利要求3所述的系统,其特征在于,所述请求处理单元还用于:
依据所述目标页面模板文件的权限配置信息,验证所述目标页面模板文件的用户权限。
6.根据权利要求4或5所述的系统,其特征在于,所述系统还包括页面配置中心,用于:
存储页面请求路径与页面存储路径之间的映射关系,以及每个页面模板文件的权限配置信息。
7.根据权利要求3所述的系统,其特征在于,所述页面存储单元具体用于:
接收待更新的更新页面模板文件,并使用所述更新页面模板文件替换相应页面存储路径中存储的更新前的页面模板文件。
8.根据权利要求3所述的系统,其特征在于,所述请求处理单元中存储有后端插件组件,以通过调用所述后端插件组件实现所述请求处理单元的功能。
9.根据权利要求1所述的系统,其特征在于,所述请求类型还包括混合请求类型;
相应地,所述反向代理服务器还用于:
若按照所述预设请求识别规则,识别所述网络请求的请求类型为所述混合请求类型,则将所述网络请求发送至所述后端功能管控服务器,以使所述后端功能管控服务器反馈与所述网络请求对应的所述目标页面模板文件与所述页面填充数据。
10.一种前后端分离方法,应用于反向代理服务器,其特征在于,包括:
接收用户客户端发送的网络请求,并按照预设请求识别规则,识别所述网络请求的请求类型;
若所述请求类型为页面请求类型,则将所述网络请求发送至前端功能管控服务器,以使所述前端功能管控服务器依据所述网络请求确定目标页面模板文件并返回;
若所述请求类型为数据请求类型,则将所述网络请求发送至后端功能管控服务器,以使所述后端功能管控服务器依据所述网络请求确定页面填充数据并返回;
将所述目标页面模板文件和/或所述页面填充数据发送至所述用户客户端。
11.一种前后端分离装置,配置于反向代理服务器,其特征在于,包括:
请求类型识别模块,用于接收用户客户端发送的网络请求,并按照预设请求识别规则,识别所述网络请求的请求类型;
目标页面模板文件获取模块,用于若所述请求类型为页面请求类型,则将所述网络请求发送至前端功能管控服务器,以使所述前端功能管控服务器依据所述网络请求确定目标页面模板文件并返回;
页面填充数据获取模块,用于若所述请求类型为数据请求类型,则将所述网络请求发送至后端功能管控服务器,以使所述后端功能管控服务器依据所述网络请求确定页面填充数据并返回;
数据反馈模块,用于将所述目标页面模板文件和/或所述页面填充数据发送至所述用户客户端。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求10所述的前后端分离方法。
CN201911082040.4A 2019-11-07 2019-11-07 前后端分离系统、方法、装置和存储介质 Active CN111752559B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911082040.4A CN111752559B (zh) 2019-11-07 2019-11-07 前后端分离系统、方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911082040.4A CN111752559B (zh) 2019-11-07 2019-11-07 前后端分离系统、方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN111752559A true CN111752559A (zh) 2020-10-09
CN111752559B CN111752559B (zh) 2024-02-06

Family

ID=72672898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911082040.4A Active CN111752559B (zh) 2019-11-07 2019-11-07 前后端分离系统、方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN111752559B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064734A (zh) * 2021-03-01 2021-07-02 青岛海尔科技有限公司 数据处理方法、装置、前端中间层组件和前后端分离式开发系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2397865A1 (en) * 2000-01-24 2001-07-26 Newheights Software Corporation Improved method and system of state management for data communications
US20150188981A1 (en) * 2013-12-31 2015-07-02 Huawei Technologies Co., Ltd. Page processing method, apparatus, and system
CN109088764A (zh) * 2018-08-15 2018-12-25 郑州悉知信息科技股份有限公司 访问请求处理方法及相关设备
CN109495553A (zh) * 2018-10-31 2019-03-19 腾讯科技(深圳)有限公司 一种网页显示控制方法、系统及反向代理服务器
CN109542427A (zh) * 2018-11-30 2019-03-29 深圳市元征科技股份有限公司 一种系统定制方法、装置及电子设备和存储介质
CN109815430A (zh) * 2018-11-30 2019-05-28 北京金山云网络技术有限公司 请求处理方法、装置、数据处理服务器及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2397865A1 (en) * 2000-01-24 2001-07-26 Newheights Software Corporation Improved method and system of state management for data communications
US20150188981A1 (en) * 2013-12-31 2015-07-02 Huawei Technologies Co., Ltd. Page processing method, apparatus, and system
CN109088764A (zh) * 2018-08-15 2018-12-25 郑州悉知信息科技股份有限公司 访问请求处理方法及相关设备
CN109495553A (zh) * 2018-10-31 2019-03-19 腾讯科技(深圳)有限公司 一种网页显示控制方法、系统及反向代理服务器
CN109542427A (zh) * 2018-11-30 2019-03-29 深圳市元征科技股份有限公司 一种系统定制方法、装置及电子设备和存储介质
CN109815430A (zh) * 2018-11-30 2019-05-28 北京金山云网络技术有限公司 请求处理方法、装置、数据处理服务器及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈兵, 王立松: "基于哈希链表和时间链表的HTTP代理缓存机制的实现", 南京航空航天大学学报, no. 01 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064734A (zh) * 2021-03-01 2021-07-02 青岛海尔科技有限公司 数据处理方法、装置、前端中间层组件和前后端分离式开发系统

Also Published As

Publication number Publication date
CN111752559B (zh) 2024-02-06

Similar Documents

Publication Publication Date Title
CN107948314B (zh) 基于规则文件的业务处理方法、装置及服务器
KR101723937B1 (ko) 애플리케이션 보안 검증을 위한 클라우드 지원형 방법 및 서비스
US10261811B2 (en) Systems and methods for contextually allocating emulation resources
CN111988337B (zh) 权限管理方法及系统
CN109462601B (zh) 基于eSIM的多平台访问方法及装置
CN108287894B (zh) 数据处理方法、装置、计算设备及存储介质
CN108776587B (zh) 数据获取方法、装置、计算机设备以及存储介质
CN113094136A (zh) 页面显示控制方法、装置、存储介质及电子设备
CN110839014B (zh) 一种认证方法、装置、计算机设备及可读存储介质
US10908971B1 (en) Method and system for generating a customizable connector
CN110365724B (zh) 任务处理方法、装置及电子设备
US11960578B2 (en) Correspondence of external operations to containers and mutation events
CN112615759A (zh) 全链路压测组件、全链路压测方法及装置
CN114465937A (zh) 网卡测试方法、装置、服务器、介质和计算机程序产品
CN111752559B (zh) 前后端分离系统、方法、装置和存储介质
CN113204747A (zh) 账号管理方法、装置、服务器及存储介质
CN112650689A (zh) 测试方法、装置、电子设备及存储介质
CN112818270A (zh) 数据跨域传递方法、装置及计算机设备
CN112181822A (zh) 一种测试方法和应用程序的启动耗时测试方法
CN113467823B (zh) 一种配置信息的获取方法、装置、系统及存储介质
CN113377376A (zh) 数据包生成方法、数据包生成装置、电子设备及存储介质
CN113746918A (zh) 超文本传输协议代理方法及系统
CN114466000A (zh) 一种cdn网关回源方法及装置
CN114579167A (zh) 一种下载应用升级文件的方法、装置及存储介质
CN112217852A (zh) 一种基于工作流引擎的平台即服务系统及方法

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