CN108616597B - 一种实现服务永不中断的分布式运行方法 - Google Patents
一种实现服务永不中断的分布式运行方法 Download PDFInfo
- Publication number
- CN108616597B CN108616597B CN201810438046.XA CN201810438046A CN108616597B CN 108616597 B CN108616597 B CN 108616597B CN 201810438046 A CN201810438046 A CN 201810438046A CN 108616597 B CN108616597 B CN 108616597B
- Authority
- CN
- China
- Prior art keywords
- service
- server
- layer code
- code packet
- pool 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及在线软件服务领域,公开了一种实现服务永不中断的分布式运行方法。通过本发明创造,可提供一种可以高度稳定服务软件程序可用性的解决方案,即将具有传统MVC架构的服务软件程序分离成MC层代码包(即模型层代码包及控制层代码包)和V层代码包(即视图层代码包)两部分,并对它们进行分布式安装和采用反向代理技术进行调用运行,可以在中大型服务软件***中提高***的稳定性,实现并发处理能力以及横向扩充能力,便于实际应用和推广。此外,通过引入DNS域名解析服务器,还可进一步避免因单个反向代理服务器出现崩溃或者异常,而导致出现服务中断的问题。
Description
技术领域
本发明属于在线软件服务领域,具体涉及一种实现服务永不中断的分布式运行方法。
背景技术
目前,已知的大部分在线服务软件程序都是运行在单个服务器当中,并且在单个服务器当中软件程序是完整的。但是,服务器的单点故障不可避免或回避,即无论是***硬件故障、***软件故障或应用软件单独/联合故障,都会造成由当前所运行的服务软件所提供的功能和服务出现中断。
为了防止出现服务中断,在传统的服务端软件当中,一般都是相同的软件安装在多个服务器上,形成主从结构,但是并没有从根本上解决问题。仍然会存在如下几个问题:(1)正常工作的时候只有主服务器在工作,而从服务器闲置;(2)主服务器如果发生异常,将服务从主服务器切换到从服务器,需要切换时间,而在主服务器恢复正常后,切换回去同样如此;(3)在故障切换时,客户端与主服务器建立的连接会被强制中断,所有开展当中的业务会全部暂停,而当主服务器恢复正常后,客户端与备用服务器的连接也会全部中断,需重新与主服务器建立连接;(4)一般主服务器配置会高于从服务器,如果是在业务高峰出现主服务器宕机,则备用服务器无法支撑业务;(5)如果某个业务的业务量激增,除了软件***的优化之外则还需要增加硬件配置来弥补,但是服务器本身的硬件性能累加是有上限的,如果业务量呈指数增长,则服务器的配置要求会变得无限大。
发明内容
为了解决现有技术存在的上述问题,本发明目的在于提供一种实现服务永不中断的分布式运行方法。
本发明所采用的技术方案为:
一种实现服务永不中断的分布式运行方法,包括如下步骤:
S101.将服务软件程序的视图层代码包安装在多个视图服务器上,将所述服务软件程序的模型层代码包及控制层代码包安装在多个功能池节点服务器上;
S102.将所述服务软件程序的唯一标识、所述功能池节点服务器的IP地址及通信端口在注册中心予以注册;
S103.当客户端请求服务时,通过反向代理服务器的调度,将客户端的服务请求中转给至少一个视图服务器;
S104.视图服务器在收到所述服务请求后,在注册中心查看当前可用服务软件程序的唯一标识,然后根据选定可用服务软件程序的唯一标识,在注册中心查找对应功能池节点服务器的IP地址及通信端口,最后根据查找到的IP地址及通信端口,调用相应功能池节点服务器的且与选定可用服务软件程序对应的模型层代码包及控制层代码包,完成服务数据处理;
S105.通过视图服务器的且与选定可用服务软件程序对应的视图层代码包消费来自功能池节点服务器的服务数据处理结果,得到服务输出图像;
S106.通过反向代理服务器,将所述服务输出图像反馈至客户端。
优化的,当所述反向代理服务器的数目为多个时,在所述步骤S103之前,客户端通过DNS域名解析服务器获取各个反向代理服务器的IP地址及通信端口。
进一步优化的,所述DNS域名解析服务器包括主DNS域名解析服务器和至少一个从DNS域名解析服务器。
优化的,在所述步骤S102中,各个功能池节点服务器的注册IP地址采用“0.0.0.0”。
优化的,所述客户端为网页服务终端、用户服务终端或微信服务终端。
优化的,所述功能池节点服务器包括用于具体实现服务功能及业务的提供机/和用于进行使用业务调度的使用机。
优化的,所述注册中心为带有UPS不断电电源的网络服务器。
本发明的有益效果为:
(1)本发明创造提供了一种可以高度稳定服务软件程序可用性的解决方案,即将具有传统MVC架构的服务软件程序分离成MC层代码包(即模型层代码包及控制层代码包)和V层代码包(即视图层代码包)两部分,并对它们进行分布式安装和采用反向代理技术进行调用运行,可以在中大型服务软件***中提高***的稳定性,实现并发处理能力以及横向扩充能力,便于实际应用和推广;
(2)通过引入DNS域名解析服务器,还可进一步避免因单个反向代理服务器出现崩溃或者异常,而导致出现服务中断的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的实现服务永不中断的分布式运行方法的流程示意图。
图2是本发明提供的实现服务永不中断的分布式***的结构示意图。
图3是本发明提供的对服务软件程序进行分布式安装和调用运行的示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况,本文中术语“/和”是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况,另外,本文中字符“/”,一般表示前后关联对象是一种“或”关系。
实施例一
如图1~3所示,本实施例提供的所述实现服务永不中断的分布式运行方法,包括如下步骤。
S101.将服务软件程序的视图层代码包安装在多个视图服务器上,将所述服务软件程序的模型层代码包及控制层代码包安装在多个功能池节点服务器上。
在所述步骤S101中,所述服务软件程序用于在调用时进行服务数据处理,并返回服务输出图像,其可以但不限于为用于医疗信息化管理的服务软件程序。所述视图服务器与所述功能池节点服务器可以远程通信相连,以实现服务软件程序的分布式部署。如图2和3所示,通过对服务软件程序进行分布式安装,可以使一个视图同时由多个功能池节点服务器提供,由此就可以避免因单个功能池节点服务器出现崩溃或者异常,而导致出现服务中断的问题。此外具体的,所述功能池节点服务器包括用于具体实现服务功能及业务的提供机/和用于进行使用业务调度的使用机,所述提供机和所述使用机均分别封装有自己的通信端口。
S102.将所述服务软件程序的唯一标识、所述功能池节点服务器的IP地址及通信端口在注册中心予以注册。
在所述步骤S102中,所述唯一标识用于唯一标记对应的服务软件程序,其可以但不限于是服务软件程序名称或数字化代码等。所述注册中心用于注册和发现与服务软件程序对应的提供机和使用机,其优选采用带有UPS(Uninterruptible Power System,即不间断电源)不断电电源的网络服务器。另外优化的,各个功能池节点服务器的注册IP地址采用“0.0.0.0”,这样就可以确保在后续调用时,对多个功能池节点服务器进行同步地调用,以避免因单个功能池节点服务器出现崩溃或者异常而导致出现服务中断。
S103.当客户端请求服务时,通过反向代理服务器的调度,将客户端的服务请求中转给至少一个视图服务器。
在所述步骤S103中,所述客户端用于发起服务请求,并获取和显示返回的服务输出图像,其可以但不限于为网页服务终端、用户服务终端或微信服务终端等。考虑视图服务器也有可能出现故障,因此本实施例引入了多个视图服务器来同时消费多个功能池节点服务器的服务数据处理结果,并引入反向代理技术来解决多个视图服务器的调度问题,由此可以进一步避免因单个视图服务器出现崩溃或者异常,而导致出现服务中断的问题。
在所述步骤S103中,所述反向代理服务器的数目也可以设置为多个,并在所述步骤S103之前,客户端可以通过DNS(Domain Name System,域名***)域名解析服务器获取各个反向代理服务器的IP地址及通信端口,由此可确保客户端能够通过反向代理服务器将服务请求中转至视图服务器,避免因单个反向代理服务器出现崩溃或者异常,而导致出现服务中断的问题。进一步优化的,为了防止所述DNS域名解析服务器出现故障,所述DNS域名解析服务器包括主DNS域名解析服务器和至少一个从DNS域名解析服务器。由于DNS域名解析服务器本身并不处理业务,对配置并无要求,因此可判定为所述DNS域名解析服务器永不断线。
S104.视图服务器在收到所述服务请求后,在注册中心查看当前可用服务软件程序的唯一标识,然后根据选定可用服务软件程序的唯一标识,在注册中心查找对应功能池节点服务器的IP地址及通信端口,最后根据查找到的IP地址及通信端口,调用相应功能池节点服务器的且与选定可用服务软件程序对应的模型层代码包及控制层代码包,完成服务数据处理。
S105.通过视图服务器的且与选定可用服务软件程序对应的视图层代码包消费来自功能池节点服务器的服务数据处理结果,得到服务输出图像。
S106.通过反向代理服务器,将所述服务输出图像反馈至客户端。
通过前述步骤S101~S106,可对服务软件程序进行分布式安装和和采用反向代理技术进行调用运行,并在调用时可完成服务数据处理和返回服务输出图像,如此在实现正常调用目的的同时,还可以在中大型服务软件***中提高***的稳定性,实现并发处理能力以及横向扩充能力,便于实际应用和推广。
综上,采用本实施例所提供的实现服务永不中断的分布式运行方法,具有如下技术效果:
(1)本实施例提供了一种可以高度稳定服务软件程序可用性的解决方案,即将具有传统MVC架构的服务软件程序分离成MC层代码包(即模型层代码包及控制层代码包)和V层代码包(即视图层代码包)两部分,并对它们进行分布式安装和采用反向代理技术进行调用运行,可以在中大型服务软件***中提高***的稳定性,实现并发处理能力以及横向扩充能力,便于实际应用和推广;
(2)通过引入DNS域名解析服务器,还可进一步避免因单个反向代理服务器出现崩溃或者异常,而导致出现服务中断的问题。
本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。
Claims (7)
1.一种实现服务永不中断的分布式运行方法,其特征在于,包括如下步骤:
S101.将服务软件程序的视图层代码包安装在多个视图服务器上,将所述服务软件程序的模型层代码包及控制层代码包安装在多个功能池节点服务器上;
S102.将所述服务软件程序的唯一标识、所述功能池节点服务器的IP地址及通信端口在注册中心予以注册;
S103.当客户端请求服务时,通过反向代理服务器的调度,将客户端的服务请求中转给至少一个视图服务器;
S104.视图服务器在收到所述服务请求后,在注册中心查看当前可用服务软件程序的唯一标识,然后根据选定可用服务软件程序的唯一标识,在注册中心查找对应功能池节点服务器的IP地址及通信端口,最后根据查找到的IP地址及通信端口,调用相应功能池节点服务器的且与选定可用服务软件程序对应的模型层代码包及控制层代码包,完成服务数据处理;
S105.通过视图服务器的且与选定可用服务软件程序对应的视图层代码包消费来自功能池节点服务器的服务数据处理结果,得到服务输出图像;
S106.通过反向代理服务器,将所述服务输出图像反馈至客户端。
2.如权利要求1所述的一种实现服务永不中断的分布式运行方法,其特征在于:当所述反向代理服务器的数目为多个时,在所述步骤S103之前,客户端通过DNS域名解析服务器获取各个反向代理服务器的IP地址及通信端口。
3.如权利要求2所述的一种实现服务永不中断的分布式运行方法,其特征在于:所述DNS域名解析服务器包括主DNS域名解析服务器和至少一个从DNS域名解析服务器。
4.如权利要求1所述的一种实现服务永不中断的分布式运行方法,其特征在于:在所述步骤S102中,各个功能池节点服务器的注册IP地址采用
“0.0.0.0”。
5.如权利要求1所述的一种实现服务永不中断的分布式运行方法,其特征在于:所述客户端为网页服务终端、用户服务终端或微信服务终端。
6.如权利要求1所述的一种实现服务永不中断的分布式运行方法,其特征在于:
所述功能池节点服务器包括用于具体实现服务功能及业务的提供机;
或者,所述功能池节点服务器包括用于具体实现服务功能及业务的提供机和用于进行使用业务调度的使用机。
7.如权利要求1所述的一种实现服务永不中断的分布式运行方法,其特征在于:所述注册中心为带有UPS不断电电源的网络服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810438046.XA CN108616597B (zh) | 2018-05-09 | 2018-05-09 | 一种实现服务永不中断的分布式运行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810438046.XA CN108616597B (zh) | 2018-05-09 | 2018-05-09 | 一种实现服务永不中断的分布式运行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108616597A CN108616597A (zh) | 2018-10-02 |
CN108616597B true CN108616597B (zh) | 2021-06-15 |
Family
ID=63662459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810438046.XA Active CN108616597B (zh) | 2018-05-09 | 2018-05-09 | 一种实现服务永不中断的分布式运行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108616597B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474710B (zh) * | 2018-10-30 | 2022-05-10 | 北京网众共创科技有限公司 | 获取信息的方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192937A (zh) * | 2006-11-24 | 2008-06-04 | 华为技术有限公司 | 一种可热部署的方法及其*** |
KR20120106909A (ko) * | 2011-03-16 | 2012-09-27 | 엔에이치엔비즈니스플랫폼 주식회사 | Jee 환경에서 무중단 서비스를 제공하는 시스템 및 방법 |
CN103064690A (zh) * | 2012-12-16 | 2013-04-24 | 互动在线(北京)科技有限公司 | 一种基于Android操作***的开发框架及其执行方法 |
CN105117938A (zh) * | 2015-08-19 | 2015-12-02 | 江苏农牧人电子商务股份有限公司 | 一种基于模型视图控制器的电商构架请求数据分析方法 |
CN105404474A (zh) * | 2015-12-07 | 2016-03-16 | 上海爱数信息技术股份有限公司 | 一种异构分布式存储***的数据迁移方法 |
CN106210160A (zh) * | 2016-06-17 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种域名设置方法及装置 |
WO2017070599A1 (en) * | 2015-10-23 | 2017-04-27 | Oracle International Corporation | Automatic operation detection on protected field with support for federated search |
CN106790067A (zh) * | 2016-12-21 | 2017-05-31 | 浙江省公众信息产业有限公司 | 基于mvc分层的业务处理方法、装置和*** |
CN107656777A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种基于事件的流程处理方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170365B (zh) * | 2010-02-26 | 2013-12-25 | 阿里巴巴集团控股有限公司 | 实现软件***热部署的方法及*** |
-
2018
- 2018-05-09 CN CN201810438046.XA patent/CN108616597B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192937A (zh) * | 2006-11-24 | 2008-06-04 | 华为技术有限公司 | 一种可热部署的方法及其*** |
KR20120106909A (ko) * | 2011-03-16 | 2012-09-27 | 엔에이치엔비즈니스플랫폼 주식회사 | Jee 환경에서 무중단 서비스를 제공하는 시스템 및 방법 |
CN103064690A (zh) * | 2012-12-16 | 2013-04-24 | 互动在线(北京)科技有限公司 | 一种基于Android操作***的开发框架及其执行方法 |
CN105117938A (zh) * | 2015-08-19 | 2015-12-02 | 江苏农牧人电子商务股份有限公司 | 一种基于模型视图控制器的电商构架请求数据分析方法 |
WO2017070599A1 (en) * | 2015-10-23 | 2017-04-27 | Oracle International Corporation | Automatic operation detection on protected field with support for federated search |
CN105404474A (zh) * | 2015-12-07 | 2016-03-16 | 上海爱数信息技术股份有限公司 | 一种异构分布式存储***的数据迁移方法 |
CN106210160A (zh) * | 2016-06-17 | 2016-12-07 | 乐视控股(北京)有限公司 | 一种域名设置方法及装置 |
CN107656777A (zh) * | 2016-07-25 | 2018-02-02 | 武汉票据交易中心有限公司 | 一种基于事件的流程处理方法及*** |
CN106790067A (zh) * | 2016-12-21 | 2017-05-31 | 浙江省公众信息产业有限公司 | 基于mvc分层的业务处理方法、装置和*** |
Non-Patent Citations (2)
Title |
---|
MVC模式在B/S结构政务***的应用研究;任广震,侯进,王献;《计算机应用与软件》;20140815;第31卷(第8期);第54-58页 * |
高效分布式作战应用框架设计与实现;夏扬,施卫峰,王海青;《指挥信息***与技术》;20170628;第8卷(第3期);第49-53页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108616597A (zh) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11172023B2 (en) | Data synchronization method and system | |
US10140112B2 (en) | Update management system and update management method | |
CN110990047B (zh) | 用于多个微服务架构的融合方法及装置 | |
CN111615066B (zh) | 一种基于广播的分布式微服务注册及调用方法 | |
CN110120961B (zh) | 一种分布式服务集群及其路由同步的方法 | |
CN110391940B (zh) | 服务地址的响应方法、装置、***、设备和存储介质 | |
WO2011026430A1 (zh) | 内容分发网络中数据同步的方法及*** | |
WO2023046088A1 (zh) | 一种应用于音视频数据传输的端到端***解决方法 | |
CN107682460B (zh) | 一种分布式存储集群数据通信方法及*** | |
CN113067850A (zh) | 一种多云场景下的集群编排*** | |
CN106790084A (zh) | 一种基于ice中间件的异构资源集成框架及其集成方法 | |
CN101227333B (zh) | 一种容灾网管***及其网管客户端的登陆方法 | |
CN110932876B (zh) | 一种通信***、方法及装置 | |
CN113727464A (zh) | 一种满足sip流媒体服务器高并发通话的建立方法和装置 | |
WO2022007908A1 (zh) | 网元设备间业务协同的方法和网元设备 | |
CN108616597B (zh) | 一种实现服务永不中断的分布式运行方法 | |
KR20140061534A (ko) | 확장가능 분산 멀티클러스터 장치 관리 서버 아키텍처 및 그 동작 방법 | |
WO2017000589A1 (zh) | 一种弹性扩容方法、装置及*** | |
CN108762780B (zh) | 一种实现服务软件程序分离运行的方法 | |
CN112948177A (zh) | 一种容灾备份方法、装置、电子设备及存储介质 | |
CN114422335A (zh) | 通信方法、装置、服务器及存储介质 | |
CN111858193A (zh) | 一种实现服务器池服务的方法和*** | |
JP2001216174A (ja) | アプリケーション代替方法及びアプリケーション代替プログラムを格納した記憶媒体 | |
CN106161580A (zh) | 一种连接状态控制方法、装置及*** | |
CN114553704B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221024 Address after: 100000 A005, Floor 4, Tower A, Zhizhen Building, No. 7, Zhichun Road, Haidian District, Beijing Patentee after: Beijing Guoke Taxtong Technology Development Co.,Ltd. Address before: 610000 First Floor, 219 Tianshun Road, Chengdu High-tech Zone, Sichuan Province Patentee before: SICHUAN HUACHUANG SHIJI TECHNOLOGY Co.,Ltd. |