网站建设系统及方法

文档序号:6510407阅读:226来源:国知局
网站建设系统及方法
【专利摘要】本发明公开了一种网站建设系统及方法,网站建设系统包括至少一个前端服务器站点以及至少一个后端服务器站点,后端服务器站点具有统一的API接口;每个前端服务器站点均对目标数据请求业务进行序列化处理,并以ajax方式向所述API接口发送序列化处理后的所述目标数据请求业务;所述API接口对序列化处理后的所述目标数据请求业务进行反序列化处理,并从一后端服务器站点中提取目标数据,通过HTTP协议将所述目标数据发送至所述前端服务器站点;所述前端服务器站点还用于根据所述目标数据进行网站页面的排版和渲染。本发明能够在网站建设的过程中将前端和后端分别设置在不同的站点并能够对前后端进行解耦和。
【专利说明】网站建设系统及方法

【技术领域】
[0001]本发明涉及一种网站建设系统及方法,特别是涉及一种能够在网站建设将前端和后端分别设置在不同的站点并能够对前后端进行解耦和的网站建设系统,以及一种利用所述网站建设系统实现的网站建设方法。

【背景技术】
[0002]现有的网站(B/S架构即浏览器/服务器架构应用系统的网站)通常包括两大块:内容和样式。其中内容即是通常意义下的网站数据,往往是指经过加工处理过的,可以直接用于网站页面展示的数据;而样式则通常包括:页面的排版、风格、颜色等。针对这类网站的开发,通常前端开发和后端开发都是在一个项目中完成的,前端开发人员负责页面的排版和渲染(通常采用css+div (网站标准中的常用术语,一种可实现网页页面内容与表现相分离的网页布局方法)的方式)以及页面交互开发(通常采用jquery (—种优秀的轻量级的javascript框架,javascript是一种面向对象的动态类型的区分大小写的客户端脚本语言)等框架),后端开发人员则负责业务逻辑以及业务数据的处理,前端后端开发需要实时沟通配合才能共同完成网站的搭建。
[0003]在现有的网站开发框架下,前后端的数据交互主要依赖开发框架中的所能定义的对象。例如,对于现有技术中比较常用的asp.net开发框架(一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术),开发人员普遍采取多层架构,例如包括数据层、业务层(即相当于后端)和表现层(即相当于前端),而数据层和表现层的数据往往都是提前定制的,表现层需要什么类型的数据,数据层就会提供相应类型的数据,这样就导致表现层与数据层的数据耦合非常紧密,也就是前端后端的耦合过紧,进而导致数据、代码的维护和管理都不是很方便。
[0004]并且,在现有的网站建设中,前端和后端属于同一个项目,所以前后端的部署只可能在同一个站点下完成。因此,在现有的网站开发框架下,无论一个网站的开发框架包括多少层,其始终只是一个项目的应用,因而其中的任何一层都无法直接转用到另一个项目的应用中。


【发明内容】

[0005]本发明要解决的技术问题是为了克服现有技术中在现有的网站开发框架下,前端后端的耦合过紧,进而导致数据、代码的维护和管理都不是很方便,以及前端和后端属于同一个项目导致其中的数据和应用等无法直接转用到另一个项目中的缺陷,提供一种能够在网站建设将前端和后端分别设置在不同的站点并能够对前后端进行解耦和的网站建设系统,以及一种利用所述网站建设系统实现的网站建设方法。
[0006]本发明是通过下述技术方案来解决上述技术问题的:
[0007]本发明公开了一种网站建设系统,其特点在于,其包括至少一个前端服务器站点以及至少一个后端服务器站点,所述至少一个后端服务器站点具有一统一的API接口(应用程序编程接口);
[0008]每个所述前端服务器站点均用于对目标数据请求业务进行序列化处理,并通过HTTP协议(超文本传输协议)以ajax (—种创建交互式网页应用的网页开发技术)方式向所述API接口发送序列化处理后的所述目标数据请求业务;
[0009]所述API接口用于对序列化处理后的所述目标数据请求业务进行反序列化处理,并从一后端服务器站点中提取目标数据,通过HTTP协议将所述目标数据发送至所述前端服务器站点;
[0010]所述前端服务器站点还用于根据所述目标数据进行网站页面的排版和渲染。
[0011]此处的目标数据一般都是网站开发时需要的重要业务数据,比如网站需要的一些产品信息(如酒店、机票查询后的内容)、用户信息(如用户注册时提供的个人资料)、用户交易信息(如用户下订单的内容)等。
[0012]较佳地,所述网站建设系统还包括一登录状态记录模块及一登录状态查询模块,所述登录状态记录模块用于记录向所述前端服务器站点发出所述目标数据请求业务的用户的登录状态;
[0013]所述登录状态查询模块用于在所述目标数据符合预设条件时,从所述登录状态记录模块中查询发出所述目标数据请求业务的用户是否登录,若是,则启用所述API接口,若否,则通过HTTP协议将一出错信息发送至所述前端服务器站点进行输出显示。
[0014]较佳地,所述前端服务器站点采用HTML (超文本标记语言)+JS (面向对象的动态类型的区分大小写的客户端脚本语言)的方式进行网站页面的排版和渲染。
[0015]较佳地,所述序列化处理和反序列化处理分别为json (—种轻量级的数据交换格式)序列化处理和json反序列化处理或xml (可扩展标记语言)序列化处理和xml反序列化处理。
[0016]本发明的目的在于还提供了一种网站建设方法,其特点在于,其利用上述的网站建设系统实现,所述网站建设方法包括以下步骤:
[0017]S1、所述前端服务器站点对目标数据请求业务进行序列化处理,并通过HTTP协议以ajax方式向所述API接口发送序列化处理后的所述目标数据请求业务;
[0018]S2、所述API接口对序列化处理后的所述目标数据请求业务进行反序列化处理,并从一后端服务器站点中提取目标数据,通过HTTP协议将所述目标数据发送至所述前端服务器站点;
[0019]S3、所述前端服务器站点根据所述目标数据进行网站页面的排版和渲染。
[0020]较佳地,所述网站建设系统还包括一登录状态记录模块及一登录状态查询模块,所述登录状态记录模块用于记录向所述前端服务器站点发出所述目标数据请求业务的用户的登录状态;
[0021]步骤S1和S2之间还包括一步骤S11:在所述目标数据符合预设条件时,所述登录状态查询模块从所述登录状态记录模块中查询发出所述目标数据请求业务的用户是否登录,若是,则执行步骤S2,若否,则通过HTTP协议将一出错信息发送至所述前端服务器站点进行输出显示,然后结束流程。
[0022]较佳地,所述前端服务器站点采用HTML+JS的方式进行网站页面的排版和渲染。
[0023]较佳地,所述序列化处理和反序列化处理分别为json序列化处理和json反序列化处理或xml序列化处理和xml反序列化处理。
[0024]本发明的积极进步效果在于:本发明能够在网站建设的过程中将前端和后端分别设置在不同的站点并能够对前后端进行解耦和,优化了网站建设的开发流程并且提升了网站部署的灵活性。

【专利附图】

【附图说明】
[0025]图1为本发明的一较佳实施例的网站建设系统的结构示意图。
[0026]图2为本发明的一较佳实施例的网站建设方法的流程图。

【具体实施方式】
[0027]下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
[0028]如图1所示,本发明的网站建设系统包括至少一个前端服务器站点1、至少一个后端服务器站点2以及一状态机服务装置3,所述至少一个后端服务器站点2具有一个统一的API接口 4,所述状态机服务装置3包括一登录状态记录模块5及一登录状态查询模块6。
[0029]所述前端服务器站点I对于用户的操作给予相应,当用户需要采用一目标数据进行网站建设时,会向所述前端服务器站点I输入给定的参数,而所述前端服务器站点I的数据请求处理逻辑会收集用户给定的参数,依照业务参数请求协议中执行的规则,对目标数据请求业务的业务类型、业务参数等进行json序列化处理,并通过HTTP协议以ajax方式向所述API接口 4发送序列化处理后的所述目标数据请求业务。
[0030]其中,对于网站页面来说,ajax方式是异步的,所以不会对页面在浏览器端的渲染造成阻塞,而目标数据请求业务中请求的目标数据的内容格式可以是j son格式,也可以是其他的轻量级的数据格式。
[0031]所述后端服务器站点2可以部署为集群模式,即同时将大量的后端服务器站点集合在一起,当集群中的某一个后端服务器站点2响应用户的数据请求后,所述API接口 4就会被激活,而所述API接口 4会根据业务参数请求协议中执行的规则,对经过json序列化处理后的目标数据请求业务进行json反序列化处理,从而解析出目标数据请求业务中的业务类型以及业务参数等。
[0032]所述API接口 4接着会从某一个后端服务器站点2中提取出用户需要的目标数据,并通过HTTP协议将所述目标数据发送至相应的前端服务器站点I。其中,通过所述API接口 4来获取所述目标数据的相应的接口函数都是可以事先设计的,并且是可以被其他项目的应用所调用的。同时通过采用接口函数来实现API调用,使得前端和后端的数据不再是完全唯一对应的,从而实现了对前端和后端进行解耦和,同时,通过定义接口函数的统一框架也方便了其他网站建设项目的应用的调用,为网站建设的扩展奠定了基础。并且,整合后的接口具有普遍的应用场景以及易于扩展的契约规范,对于实际业务的快速上线,特别是在多个平台的快速上线起到了很明显的作用。
[0033]后端服务器可以采用RESTful架构(一种满足客户端和服务器之间的交互请求之间是无状态的这一原则的网络系统的架构样式)来提供接口,也可以采用WebService方式(一个平台独立的、松耦合的、自包含的、基于可编程的网络应用程序)来提供接口,当然,也可以同时采用两种方式来提供接口。
[0034]而所述前端服务器站点I在接收到目标数据后,还根据所述目标数据进行网站页面的排版和渲染。在本发明中,前端页面的开发和渲染主要采用HTML+JS的方式,在网站建设的过程中只要API接口协议确定,前端的开发人员就可以模拟接口数据来独自开发,完成前端数据展现以及交互操作后,直接把模拟接口的数据换成Ajax调用API接口 4即可。性能上Ajax采用异步的调用方式,对于前端页面的展现也更为流畅与友好。
[0035]而前端页面的呈现与现有技术相比在性能上会有一定的提升。以asp.net框架来进行网站建设为例:在asp.net的开发框架下,所有的前端页面都是需要经过服务器处理后才再传给客户端浏览器去解析的,哪怕前端页面全部是HTML代码也是如此,服务器在处理过程中会对页面中的所有内容进行扫描,对其中的服务器端控件进行解析。而在本发明中,前端页面全部采用HTML+JS的框架,不需要服务器端的预处理过程,直接传至客户端浏览器,由客户端浏览器负责解析所有HTML代码以及运行JS代码,相应性能提高了很多。
[0036]本发明的部署也更具灵活性,如果后端压力大,可以单独对后端服务进行横向扩充,以满足性能上的要求;而现有技术架构只能是整个网站全部的横向扩充,扩展颗粒度会比较大,相对效果不如本发明的架构明显。
[0037]同时,在本发明中,所述登录状态记录模块5会记录向所述前端服务器站点I发出所述目标数据请求业务的用户的登录状态,即用户在发出目标数据请求业务时,其中的一些具有登录权限的用户可以在输入用户名和密码登录后再发送。
[0038]由于不同的用户需要的目标数据也是不同的,当所述目标数据符合一定的预设条件时,就说明目标数据非常重要,此时对于重要数据,就必须由具有登录权限的用户登录后发出相应请求,才能够获取到,而对于一般的没有登录的用户,则不允许获取重要数据。
[0039]因此所述登录状态查询模块6会在所述目标数据符合预设条件时,从所述登录状态记录模块5中查询发出所述目标数据请求业务的用户是否登录,若是,则启用所述API接口 4执行上述的动作,将重要数据传输给具有权限的用户,若否,则通过HTTP协议将一出错信息发送至所述前端服务器站点I进行输出显示。
[0040]在本实施例中,通过所述网站建设系统能够解决如端后端开发I禹合过紧、部署灵活性不足的问题,实现了后端业务数据一次开发,多站点使用,前端页面可灵活根据不同应用需求独立开发单独部署。
[0041]另一方面通过所述状态机服务装置解决了用户登录验证的问题,实现了部分重要业务数据只有在请求用户已经是登录状态后方可成功调用。同时,可实现后端服务器的负载均衡部署,大大提高了后端服务器的横向扩展性。
[0042]并且,本发明用最少的开发量完成多种不同应用的部署,各种前端应用共用一套后台服务,以统一的API接口规范数据格式,减少了多个类似应用的维护成本,提高了网站建设的可靠性。
[0043]如图2所示,本发明利用本实施例的网站建设系统实现的网站建设方法包括以下步骤:
[0044]步骤101、所述前端服务器站点I对目标数据请求业务进行json序列化处理,并通过HTTP协议以ajax方式向所述API接口 4发送序列化处理后的所述目标数据请求业务。
[0045]步骤102、在所述目标数据符合预设条件时,所述登录状态查询模块6从所述登录状态记录模块5中查询发出所述目标数据请求业务的用户是否登录,若是,则执行步骤103,若否,则执行步骤105。
[0046]步骤103、所述API接口 4对通过json序列化处理后的所述目标数据请求业务进行json反序列化处理,并从一后端服务器站点2中提取目标数据,通过HTTP协议将所述目标数据发送至所述前端服务器站点I。
[0047]步骤104、所述前端服务器站点I根据所述目标数据进行网站页面的排版和渲染,然后结束流程。
[0048]步骤105、通过HTTP协议将一出错信息发送至所述前端服务器站点I进行输出显示,然后结束流程。
[0049]虽然以上描述了本发明的【具体实施方式】,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
【权利要求】
1.一种网站建设系统,其特征在于,其包括至少一个前端服务器站点以及至少一个后端服务器站点,所述至少一个后端服务器站点具有一统一的API接口; 每个所述前端服务器站点均用于对目标数据请求业务进行序列化处理,并通过HTTP协议以ajax方式向所述API接口发送序列化处理后的所述目标数据请求业务; 所述API接口用于对序列化处理后的所述目标数据请求业务进行反序列化处理,并从一后端服务器站点中提取目标数据,通过HTTP协议将所述目标数据发送至所述前端服务器站点; 所述前端服务器站点还用于根据所述目标数据进行网站页面的排版和渲染。
2.如权利要求1所述的网站建设系统,其特征在于,所述网站建设系统还包括一登录状态记录模块及一登录状态查询模块,所述登录状态记录模块用于记录向所述前端服务器站点发出所述目标数据请求业务的用户的登录状态; 所述登录状态查询模块用于在所述目标数据符合预设条件时,从所述登录状态记录模块中查询发出所述目标数据请求业务的用户是否登录,若是,则启用所述API接口,若否,则通过HTTP协议将一出错信息发送至所述前端服务器站点进行输出显示。
3.如权利要求2所述的网站建设系统,其特征在于,所述前端服务器站点采用HTML+JS的方式进行网站页面的排版和渲染。
4.如权利要求1-3中任意一项所述的网站建设系统,其特征在于,所述序列化处理和反序列化处理分别为json序列化处理和json反序列化处理或xml序列化处理和xml反序列化处理。
5.一种网站建设方法,其特征在于,其利用如权利要求1所述的网站建设系统实现,所述网站建设方法包括以下步骤: 51、所述前端服务器站点对目标数据请求业务进行序列化处理,并通过HTTP协议以ajax方式向所述API接口发送序列化处理后的所述目标数据请求业务; 52、所述API接口对序列化处理后的所述目标数据请求业务进行反序列化处理,并从一后端服务器站点中提取目标数据,通过HTTP协议将所述目标数据发送至所述前端服务器站点; 53、所述前端服务器站点根据所述目标数据进行网站页面的排版和渲染。
6.如权利要求5所述的网站建设方法,其特征在于,所述网站建设系统还包括一登录状态记录模块及一登录状态查询模块,所述登录状态记录模块用于记录向所述前端服务器站点发出所述目标数据请求业务的用户的登录状态; 步骤S1和S2之间还包括一步骤S11:在所述目标数据符合预设条件时,所述登录状态查询模块从所述登录状态记录模块中查询发出所述目标数据请求业务的用户是否登录,若是,则执行步骤S2,若否,则通过HTTP协议将一出错信息发送至所述前端服务器站点进行输出显示,然后结束流程。
7.如权利要求6所述的网站建设方法,其特征在于,所述前端服务器站点采用HTML+JS的方式进行网站页面的排版和渲染。
8.如权利要求5-7中任意一项所述的网站建设方法,其特征在于,所述序列化处理和反序列化处理分别为json序列化处理和json反序列化处理或xml序列化处理和xml反序列化处理。
【文档编号】G06F9/44GK104426983SQ201310401380
【公开日】2015年3月18日 申请日期:2013年9月5日 优先权日:2013年9月5日
【发明者】徐遐龄, 潘卫, 梁晓靖, 江志超 申请人:携程计算机技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1