CN104468832B - 一种基于http协议的轻便分布式架构 - Google Patents

一种基于http协议的轻便分布式架构 Download PDF

Info

Publication number
CN104468832B
CN104468832B CN201410834054.8A CN201410834054A CN104468832B CN 104468832 B CN104468832 B CN 104468832B CN 201410834054 A CN201410834054 A CN 201410834054A CN 104468832 B CN104468832 B CN 104468832B
Authority
CN
China
Prior art keywords
node
service
client
service node
load equalizer
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.)
Active
Application number
CN201410834054.8A
Other languages
English (en)
Other versions
CN104468832A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201410834054.8A priority Critical patent/CN104468832B/zh
Publication of CN104468832A publication Critical patent/CN104468832A/zh
Application granted granted Critical
Publication of CN104468832B publication Critical patent/CN104468832B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及计算机应用技术领域,特别涉及网络环境资源服务平台的一种基于http协议的轻便分布式架构。本发明所述的架构由客户端、服务节点、元节点、负载均衡器组成;所述的客户端指程序http客户端或者web浏览器;元节点主要用来身份验证及相关基础处理;服务节点主要是将应用系统业务api发布成uri资源,供外界访问并调用;负载均衡器主要是负责根据服务节点使用、运行情况均衡分配资源。本发明解决了目前流行的分布式计算处理框架学习成本高、环境搭建复杂、高延迟数据访问等问题;可以用于轻便分布式架构的搭建。

Description

一种基于http协议的轻便分布式架构
技术领域
本发明涉及计算机应用技术领域,特别涉及网络环境资源服务平台的一种基于http协议的轻便分布式架构。
背景技术
C/S,B/S结构是目前软件应用系统中比较常用的软件体系结构,其中C/S结构,即Client/Server(客户机/服务器)结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。Client/Server架构由于用户需要安装特定client端,所以通常是建立在小范围的局域网或广域网的基础上的。基于web浏览器的Browser/Server架构由于无需安装客户端通常更易普及应用于广域网范围内。两种结构都是多客户端对应相对单一的服务端,当大量客户端(尤其b/s结构)高并发访问服务端的时候,就会导致服务端任务繁重甚至超负荷。
发明内容
本发明是针对现有的软件应用体系结构服务端、客户端负荷不均甚至失衡且结构单一、性能及容错性方面有限的问题而设计的一种简单易用的分布式处理架构。
本发明解决上述技术问题的方案是:
所述的架构由客户端、服务节点、元节点、负载均衡器组成;所述的客户端指程序http客户端或者web浏览器;元节点用来身份验证及相关基础处理;服务节点将应用程序api发布成uri资源,供外界访问并调用;负载均衡器负责根据服务节点使用、运行情况均衡分配资源;
客户端将请求发送至元节点;同一个应用程序可分散部署在多个服务节点上,但用户访问时每次只选择调用其中一个服务节点的应用程序api;
元节点接收到请求时,对发出请求的客户端进行身份验证,如果通过则进行下一步操作,将解析处理好的参数传至负载均衡器;负载均衡器根据当前服务节点群各服务器运行负载情况分配服务节点进行任务请求处理;处理完成会将结果返回给客户端;
负载均衡器将客户端请求传至服务节点之后,相关业务处理将在该服务节点上进行,处理完之后会将结果直接发送至元节点,无需再经过负载均衡器,通过元节点将结果转发给客户端。
客户端发出访问请求,都以http形式进行封装及发送,元节点和负载均衡器通过uri地址及参数最终定位到具体应用程序api进行处理,然后将结果返回。
服务节点数可根据实际性能需要进行扩增,且不影响其他服务节点运行,只需修改元节点相关配置并重启服务即可;而uri资源也可以根据需求变动动态添加或删除,只需修改相关上下文映射配置文件。
本发明结合目前C/S,B/S软件体系结构的各自优点将两种软件体系结构灵活配置并加以运用,形成一种基于http协议的在广域网及局域网皆可适用的客户端、服务端皆分布式的软件架构。此架构中把目前B/S结构的server端用C/S结构实现为局域网分布式多节点服务。广域网客户端通过元节点再经由负载均衡器随机访问子服务节点。服务节点将应用系统各基础api通过servlet发布成uri资源访问形式资源,供客户端调用或访问。它具有可寻址性,无状态性,统一接口和连通性等优点;将web服务异构平台的互访能力相结合,形成一种轻量级的web服务风格,从而能够在很多场合灵活发挥其强大的作用。
附图说明
下面结合附图对本发明进一步说明:
图1是基于http协议分布式处理架构图;
图2是服务端分布式模式图;
图3是web服务器发布服务原理图;
具体实施方式
图1中,包括此架构中一些基本元素,及这些基本元素之间的关联关系。广域网内客户端按需发送http请求至服务端,最先经由元节点验证身份及操作权限等,元节点将解析及处理好的参数传至负载均衡器,负载均衡器再根据实时监测到的各服务节点负载情况分配服务节点,服务节点再将参数及请求传至绑定的应用程序api进行处理并将结果封装成一定格式字符串返回给客户端。
图2中,服务端分布式模式实现原理,将相同服务应用部署到服务器(web容器),各应用通过servlet将应用程序api发布成uri访问形式资源,客户端只需通过uri地址便可访问及调用。
图3中,服务端应用程序web工程项目里面,servlet调用应用程api,再在web上下文配置好servlet的uri地址映射,启动服务器,服务器根据上下文映射关系将服务对外发布。外界可根据uri地址访问到相关资源api。
本发明的架构由客户端、服务节点、元节点、负载均衡器组成。
服务节点主要是将应用程序api发布成uri资源形式,供外界通过http协议访问,任何一个服务节点所发布的uri资源是一致的,并且可以处理经由元节点及负载均衡器过来的客户端请求,根据uri地址及相关参数最终调用应用程序api,并将处理结果封装成一定格式字符串返回给客户端,客户端显示或者解析出想要的结果。
元节点,主要是用来验证客户端访问身份、及其他基础处理的。
客户端负责发送用户的数据请求到主要利用HTTP协议提供访问的API;所有客户端大都是www广域网浏览器或者程序http客户端,它们将请求按照http协议封装发送至服务端,服务端由局域网或广域网内n个服务节点构成,每个服务节点都有各自的服务器,并部署有相同的应用程序,通过web服务器将服务端应用程序api发布成uri形式访问资源。客户端直接通过uri便可调用相关资源,显示或者解析服务端返回结果。服务端通过servlet将其应用程序api发布成uri资源,而这些应用程序api主要是用于处理系统正常业务的api,如:虚拟库注册、虚拟库管理员注册、虚拟库管理员账号审批、虚拟表数据增删查改等api,客户端发送http请求访问服务端uri资源,实际最终调用的是服务端普通应用api,并将处理结果封装成一定格式字符串返回给客户端。
这些应用程序api是根据系统具体业务逻辑而编写的普通应用程序接口,根据不同的访问操作,被绑定发布时可选择如下相应的HTTP请求方法:
(1)绑定数据对应HTTP的POST方法,参数metodType为BIND;
(2)读取数据对应HTTP的POST方法,参数metodType为READ
(3)修改数据和增加数据对应HTTP的POST方法,参数metodType为UPDATE;
(4)删除和解除绑定对应HTTP的POST方法,参数metodType为DELETE。
所述负载均衡器主要是在客户端发起访问请求时根据服务节点集群的负载情况,合理地为客户端分配服务节点。为客户端选择最优服务节点进行任务处理与调度。
系统中需要安装部署的主要是服务端部分,服务端应用程序都是部署在服务器上,通过服务器对外发布服务,如图2,具体部署流程如下:
1).将应用程序api通过servlet并遵循一定规范发布成web服务。配置好相关上下文及访问地址映射关系。
2).将服务端程序整体打包成war格式文件,拷贝到tomcat服务器的webapp文件夹下面。
3).将元节点应用程序打包好,配置好相关配置文件,部署好元节点服务器。
4).启动好所有服务节点web服务器,及元节点服务器。

Claims (4)

1.一种基于http协议的轻便分布式架构,其特征在于:所述的架构由客户端、服务节点、元节点、负载均衡器组成;所述的客户端指程序http客户端或者web浏览器;元节点用来身份验证及相关基础处理;服务节点将应用程序api发布成uri资源,供外界访问并调用;负载均衡器负责根据服务节点使用、运行情况均衡分配资源;
客户端将请求发送至元节点;同一个应用程序可分散部署在多个服务节点上,但用户访问时每次只选择调用其中一个服务节点的应用程序api;
元节点接收到请求时,对发出请求的客户端进行身份验证,如果通过则进行下一步操作,将解析处理好的参数传至负载均衡器;负载均衡器根据当前服务节点群各服务器运行负载情况分配服务节点进行任务请求处理;处理完成会将结果返回给客户端;
负载均衡器将客户端请求传至服务节点之后,相关业务处理将在该服务节点上进行,处理完之后会将结果直接发送至元节点,无需再经过负载均衡器,通过元节点将结果转发给客户端。
2.根据权利要求1所述的基于http协议的轻便分布式架构,其特征在于:客户端发出访问请求,都以http形式进行封装及发送,元节点和负载均衡器通过uri地址及参数最终定位到具体应用程序api进行处理,然后将结果返回。
3.根据权利要求1所述的基于http协议的轻便分布式架构,其特征在于:服务节点数可根据实际性能需要进行扩增,且不影响其他服务节点运行,只需修改元节点相关配置并重启服务即可;而uri资源也可以根据需求变动动态添加或删除,只需修改相关上下文映射配置文件。
4.根据权利要求2所述的基于http协议的轻便分布式架构,其特征在于:服务节点数可根据实际性能需要进行扩增,且不影响其他服务节点运行,只需修改元节点相关配置并重启服务即可;而uri资源也可以根据需求变动动态添加或删除,只需修改相关上下文映射配置文件。
CN201410834054.8A 2014-12-25 2014-12-25 一种基于http协议的轻便分布式架构 Active CN104468832B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410834054.8A CN104468832B (zh) 2014-12-25 2014-12-25 一种基于http协议的轻便分布式架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410834054.8A CN104468832B (zh) 2014-12-25 2014-12-25 一种基于http协议的轻便分布式架构

Publications (2)

Publication Number Publication Date
CN104468832A CN104468832A (zh) 2015-03-25
CN104468832B true CN104468832B (zh) 2018-05-25

Family

ID=52914183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410834054.8A Active CN104468832B (zh) 2014-12-25 2014-12-25 一种基于http协议的轻便分布式架构

Country Status (1)

Country Link
CN (1) CN104468832B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111435924B (zh) * 2019-01-14 2021-08-31 华为技术有限公司 调用应用程序接口的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883103A (zh) * 2009-04-15 2010-11-10 埃森哲环球服务有限公司 云数据中心内Web服务器群架构的客户端侧扩展的方法和系统
CN102707958A (zh) * 2012-06-08 2012-10-03 奇智软件(北京)有限公司 一种基于开放平台的接口生成校验方法及设备
CN102968310A (zh) * 2012-12-05 2013-03-13 武汉烽火普天信息技术有限公司 一种一体化高性能应用软件架构及构建方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883103A (zh) * 2009-04-15 2010-11-10 埃森哲环球服务有限公司 云数据中心内Web服务器群架构的客户端侧扩展的方法和系统
CN102707958A (zh) * 2012-06-08 2012-10-03 奇智软件(北京)有限公司 一种基于开放平台的接口生成校验方法及设备
CN102968310A (zh) * 2012-12-05 2013-03-13 武汉烽火普天信息技术有限公司 一种一体化高性能应用软件架构及构建方法

Also Published As

Publication number Publication date
CN104468832A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN103946833B (zh) 管理专用缓存的系统和方法
US20170310596A1 (en) Load distribution in data networks
CN103685583B (zh) 一种域名解析的方法和系统
CN110149397A (zh) 一种微服务整合方法和装置
JP2019032883A (ja) ウェブアプリケーションを実施する方法、装置、サーバ、及びシステム
US9117002B1 (en) Remote browsing session management
US9313100B1 (en) Remote browsing session management
CN103338249B (zh) 缓存方法及装置
US9491113B2 (en) Managing network connections for processing network resources
CN104798071A (zh) 在雾计算架构中使用边缘服务器改善网站性能
US20150334043A1 (en) Differential cache for representational state transfer (rest) api
CN108804514A (zh) 一种网页加载方法、服务器和网页加载系统
WO2013163926A1 (zh) 处理用户访问网页的请求的方法及系统
CN109347997A (zh) 域名解析方法、装置、服务器及存储介质
CN103347089A (zh) 一种对网站动态资源和静态资源分离加速的方法及装置
CN102799636A (zh) 移动终端显示网页的方法及系统
CN104967542A (zh) 一种移动端页面的测试方法、装置和系统
CN104063407A (zh) 基于云计算的浏览器架构与解析方法
CN109756584B (zh) 域名解析方法、域名解析装置及计算机可读存储介质
CN103200231B (zh) 策略控制方法及系统
US9537932B2 (en) Emulating test distributed application on server
CN111031128B (zh) 基于云端技术实现无天窗的网站IPv6改造的方法
CN102148759A (zh) 通过缓存加速系统节省主干网出口带宽的方法
CN107645543A (zh) 应用于缓存服务器http非80缓存端口服务的方法和系统
US10165036B1 (en) Network resource remote process execution

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant