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

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

Info

Publication number
CN104468832A
CN104468832A CN201410834054.8A CN201410834054A CN104468832A CN 104468832 A CN104468832 A CN 104468832A CN 201410834054 A CN201410834054 A CN 201410834054A CN 104468832 A CN104468832 A CN 104468832A
Authority
CN
China
Prior art keywords
node
service
client
http
service node
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
CN201410834054.8A
Other languages
English (en)
Other versions
CN104468832B (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;同一个应用程序可分散部署在多个服务节点上,但用户访问时每次只选择调用其中一个服务节点的应用程序api。
元节点接收到请求时,对发出请求的客户端进行身份验证,如果通过则进行下一步操作,将解析处理好的参数传至负载均衡器;负载均衡器根据当前服务节点群各web服务器运行负载情况进行分配服务节点进行任务请求处理;处理完成会将结果返回给客户端。
元节点将客户端请求传至某一特定服务节点之后,相关业务处理将在该服务节点上进行,处理完之后会将结果直接发送至元节点,无需再经过负载均衡器,通过元节点将结果转发给客户端。
客户端发出访问请求,都以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服务器(web容器),各应用通过servlet将相关业务api发布成uri访问形式资源,客户端只需通过uri地址便可访问及调用。
图3中,服务端应用程序web工程项目里面,servlet调用普通应用api,再在web上下文配置好servlet的uri地址映射,启动web服务器,服务器根据上下文映射关系将服务对外发布。外界可根据uri地址访问到相关资源api。
本发明的架构由客户端、服务节点、元节点、负载均衡器组成。
服务节点主要是将应用程序普通api发布成uri资源形式,供外界通过http协议访问,任何一个服务节点所发布的uri资源是一致的,并且可以处理经由元节点及负载均衡器过来的客户端请求,根据uri地址及相关参数最终调用应用程序普通api,并将处理结果封装成一定格式字符串返回给客户端,客户端显示或者解析出想要的结果。
元节点,主要是用来验证客户端访问身份、及其他基础处理的。
客户端负责发送用户的数据请求到主要利用HTTP协议提供访问的API;所有客户端大都是www广域网浏览器或者程序http客户端,它们将请求按照http协议封装发送至服务端,服务端由局域网或广域网内n个服务节点构成,每个服务节点都有各自的web服务器,并部署有相同的服务应用,通过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。
所述负载均衡器主要是在客户端发起访问请求时根据服务节点集群的负载情况,合理地为客户端分配服务节点。为客户端选择最优服务节点进行任务处理与调度。
***中需要安装部署的主要是服务端部分,服务端应用程序都是部署在web服务器上,通过web服务器对外发布服务,如图2,具体部署流程如下:
1).将普通应用api通过servlet并遵循一定规范发布成web服务。配置好相关上下文及访问地址映射关系。
2).将服务端程序整体打包成war格式文件,拷贝到tomcat服务器的webapp文件夹下面。
3).将元节点应用程序打包好,配置好相关配置文件,部署好元节点服务器。
4).启动好所有服务节点web服务器,及元节点服务器。

Claims (7)

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

Cited By (1)

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

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 武汉烽火普天信息技术有限公司 一种一体化高性能应用软件架构及构建方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111435924A (zh) * 2019-01-14 2020-07-21 华为技术有限公司 调用应用程序接口的方法和装置
WO2020147565A1 (zh) * 2019-01-14 2020-07-23 华为技术有限公司 调用应用程序接口的方法和装置
CN111435924B (zh) * 2019-01-14 2021-08-31 华为技术有限公司 调用应用程序接口的方法和装置
US11516310B2 (en) 2019-01-14 2022-11-29 Huawei Technologies Co., Ltd. Method and apparatus for invoking application programming interface

Also Published As

Publication number Publication date
CN104468832B (zh) 2018-05-25

Similar Documents

Publication Publication Date Title
US9917889B2 (en) Enterprise service bus routing system
CN110149397A (zh) 一种微服务整合方法和装置
CN103916378B (zh) 应用***在云资源池中自动部署的***和方法
CA2890411C (en) System and method for managing dedicated caches
US20140282944A1 (en) Methods and systems of deploying cloud computing platforms
CN109561078A (zh) 一种外链url资源调用方法及装置
CN108989430B (zh) 负载均衡方法、装置及存储介质
CN102708173A (zh) 处理用户访问网页的请求的方法及***
CN108804514A (zh) 一种网页加载方法、服务器和网页加载***
CN109347997A (zh) 域名解析方法、装置、服务器及存储介质
CN103685590A (zh) 获取ip地址的方法及***
CN104579887A (zh) 云网关、云网关创建配置***及方法
US11281511B2 (en) Predictive microservice systems and methods
US9537932B2 (en) Emulating test distributed application on server
CN109756584B (zh) 域名解析方法、域名解析装置及计算机可读存储介质
US11637914B2 (en) Multiple geography service routing
CN109618003B (zh) 一种服务器规划方法、服务器及存储介质
US11627169B2 (en) Network-based Media Processing (NBMP) workflow management through 5G Framework for Live Uplink Streaming (FLUS) control
CN111586201A (zh) 域名解析***、方法、设备及存储介质
CN112988378A (zh) 业务处理方法及装置
US10165036B1 (en) Network resource remote process execution
CN106254411A (zh) 用于提供服务的***、服务器***及方法
CN113966604A (zh) web应用封装器
CN110035099B (zh) 一种多***管理方法、终端设备及存储介质
CN104468832A (zh) 一种基于http协议的轻便分布式架构

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