CN108762780B - 一种实现服务软件程序分离运行的方法 - Google Patents
一种实现服务软件程序分离运行的方法 Download PDFInfo
- Publication number
- CN108762780B CN108762780B CN201810439193.9A CN201810439193A CN108762780B CN 108762780 B CN108762780 B CN 108762780B CN 201810439193 A CN201810439193 A CN 201810439193A CN 108762780 B CN108762780 B CN 108762780B
- Authority
- CN
- China
- Prior art keywords
- software program
- service software
- layer code
- code packet
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- 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/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及在线软件服务领域,公开了一种实现服务软件程序分离运行的方法。通过本发明创造,可提供一种可以高度稳定服务软件程序可用性的解决方案,即将具有传统MVC架构的服务软件程序分离成MC层代码包(即模型层代码包及控制层代码包)和V层代码包(即视图层代码包)两部分,并对它们进行分布式安装和调用运行,可以在中大型服务软件***中提高***的稳定性,实现并发处理能力以及横向扩充能力,便于实际应用和推广。
Description
技术领域
本发明属于在线软件服务领域,具体涉及一种实现服务软件程序分离运行的方法。
背景技术
目前,已知的大部分在线服务软件程序都是运行在单个服务器当中,并且在单个服务器当中软件程序是完整的。但是,服务器的单点故障不可避免或回避,即无论是***硬件故障、***软件故障或应用软件单独/联合故障,都会造成由当前所运行的服务软件所提供的功能和服务出现中断。
为了防止出现服务中断,在传统的服务端软件当中,一般都是相同的软件安装在多个服务器上,形成主从结构,但是并没有从根本上解决问题。仍然会存在如下几个问题:(1)正常工作的时候只有主服务器在工作,而从服务器闲置;(2)主服务器如果发生异常,将服务从主服务器切换到从服务器,需要切换时间,而在主服务器恢复正常后,切换回去同样如此;(3)在故障切换时,客户端与主服务器建立的连接会被强制中断,所有开展当中的业务会全部暂停,而当主服务器恢复正常后,客户端与备用服务器的连接也会全部中断,需重新与主服务器建立连接;(4)一般主服务器配置会高于从服务器,如果是在业务高峰出现主服务器宕机,则备用服务器无法支撑业务;(5)如果某个业务的业务量激增,除了软件***的优化之外则还需要增加硬件配置来弥补,但是服务器本身的硬件性能累加是有上限的,如果业务量呈指数增长,则服务器的配置要求会变得无限大。
发明内容
为了解决现有技术存在的上述问题,本发明目的在于提供一种实现服务软件程序分离运行的方法。
本发明所采用的技术方案为:
一种实现服务软件程序分离运行的方法,包括如下步骤:
S101.将服务软件程序的视图层代码包安装在视图服务器上,将所述服务软件程序的模型层代码包及控制层代码包安装在功能池节点服务器上;
S102.将所述服务软件程序的唯一标识、所述功能池节点服务器的IP地址及通信端口在注册中心予以注册;
S103.访问注册中心,查看当前可用服务软件程序的唯一标识;
S104.根据选定可用服务软件程序的唯一标识,在注册中心查找对应功能池节点服务器的IP地址及通信端口;
S105.根据查找到的IP地址及通信端口,远程调用相应功能池节点服务器的且与选定可用服务软件程序对应的模型层代码包及控制层代码包,完成服务数据处理;
S106.远程调用视图服务器的且与选定可用服务软件程序对应的视图层代码包消费来自功能池节点服务器的服务数据处理结果,返回服务输出图像。
优化的,在所述步骤S105中,按照RPC协议远程调用功能池节点服务器的模型层代码包及控制层代码包;在所述步骤S106中,按照RPC协议远程调用视图服务器的视图层代码包。
优化的,所述视图服务器与所述功能池节点服务器远程通信相连。
优化的,当服务软件程序的模型层代码包及控制层代码包安装在多个功能池节点服务器时,各个功能池节点服务器的注册IP地址采用“0.0.0.0”。
优化的,所述服务软件程序为用于医疗信息化管理的服务软件程序。
优化的,所述功能池节点服务器包括用于具体实现服务功能及业务的提供机和用于进行使用业务调度的使用机。
优化的,所述注册中心为带有UPS不断电电源的网络服务器。
本发明的有益效果为:
(1)本发明创造提供了一种可以高度稳定服务软件程序可用性的解决方案,即将具有传统MVC架构的服务软件程序分离成MC层代码包(即模型层代码包及控制层代码包)和V层代码包(即视图层代码包)两部分,并对它们进行分布式安装和调用运行,可以在中大型服务软件***中提高***的稳定性,实现并发处理能力以及横向扩充能力,便于实际应用和推广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的实现服务软件程序分离运行的方法流程示意图。
图2是本发明提供的对服务软件程序进行分布式安装和运行的示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况,本文中术语“/和”是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况,另外,本文中字符“/”,一般表示前后关联对象是一种“或”关系。
实施例一
如图1~2所示,本实施例提供的所述实现服务软件程序分离运行的方法,包括如下步骤。
S101.将服务软件程序的视图层代码包安装在视图服务器上,将所述服务软件程序的模型层代码包及控制层代码包安装在功能池节点服务器上。
在所述步骤S101中,所述服务软件程序用于在远程调用时进行服务数据处理,并返回服务输出图像,其可以但不限于为用于医疗信息化管理的服务软件程序。所述视图服务器与所述功能池节点服务器可以远程通信相连,以实现服务软件程序的分布式部署。如图2所示,通过对服务软件程序进行分布式安装,可以大幅度减小所述视图服务器与所述功能池节点服务器同时出现故障的概率。此外具体的,所述功能池节点服务器包括用于具体实现服务功能及业务的提供机和用于进行使用业务调度的使用机,所述提供机和所述使用机均分别封装有自己的通信端口。
S102.将所述服务软件程序的唯一标识、所述功能池节点服务器的IP地址及通信端口在注册中心予以注册。
在所述步骤S102中,所述唯一标识用于唯一标记对应的服务软件程序,其可以但不限于是服务软件程序名称或数字化代码等。所述注册中心用于注册和发现与服务软件程序对应的提供机和使用机,其优选采用带有UPS(Uninterruptible Power System,即不间断电源)不断电电源的网络服务器。另外优化的,当服务软件程序的模型层代码包及控制层代码包安装在多个功能池节点服务器时,各个功能池节点服务器的注册IP地址采用“0.0.0.0”,这样就可以确保在后续远程调用时,对多个功能池节点服务器进行同步地远程调用,以避免因单个功能池节点服务器出现崩溃或者异常而导致服务中断。
S103.访问注册中心,查看当前可用服务软件程序的唯一标识。
S104.根据选定可用服务软件程序的唯一标识,在注册中心查找对应功能池节点服务器的IP地址及通信端口。
S105.根据查找到的IP地址及通信端口,远程调用相应功能池节点服务器的且与选定可用服务软件程序对应的模型层代码包及控制层代码包,完成服务数据处理。
在所述步骤S105中,可按照RPC(Remote Procedure Call Protocol,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议)协议远程调用功能池节点服务器的模型层代码包及控制层代码包,如此一方面可将软件对象序列化到互联网络中;另一方可以直接获取到这个序列化,然后反向序列化成对象,通过对象注入的方式,让其可以模拟本地调用。
S106.远程调用视图服务器的且与选定可用服务软件程序对应的视图层代码包消费来自功能池节点服务器的服务数据处理结果,返回服务输出图像。
在所述步骤S106中,同样可按照RPC协议远程调用视图服务器的视图层代码包。
通过前述步骤S101~S106,可对服务软件程序进行分布式安装和调用运行,并在远程调用时可完成服务数据处理和返回服务输出图像,如此在实现正常调用目的的同时,还可以在中大型服务软件***中提高***的稳定性,实现并发处理能力以及横向扩充能力,便于实际应用和推广。
综上,采用本实施例所提供的实现服务软件程序分离运行的方法,具有如下技术效果:
(1)本实施例提供了一种可以高度稳定服务软件程序可用性的解决方案,即将具有传统MVC架构的服务软件程序分离成MC层代码包(即模型层代码包及控制层代码包)和V层代码包(即视图层代码包)两部分,并对它们进行分布式安装和调用运行,可以在中大型服务软件***中提高***的稳定性,实现并发处理能力以及横向扩充能力,便于实际应用和推广。
本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。
Claims (7)
1.一种实现服务软件程序分离运行的方法,其特征在于,包括如下步骤:
S101.将服务软件程序的视图层代码包安装在视图服务器上,将所述服务软件程序的模型层代码包及控制层代码包安装在功能池节点服务器上;
S102.将所述服务软件程序的唯一标识、所述功能池节点服务器的IP地址及通信端口在注册中心予以注册;
S103.访问注册中心,查看当前可用服务软件程序的唯一标识;
S104.根据选定可用服务软件程序的唯一标识,在注册中心查找对应功能池节点服务器的IP地址及通信端口;
S105.根据查找到的IP地址及通信端口,按照远程过程调用协议RPC远程调用相应功能池节点服务器的且与选定可用服务软件程序对应的模型层代码包及控制层代码包,完成服务数据处理;
S106.远程调用视图服务器的且与选定可用服务软件程序对应的视图层代码包消费来自功能池节点服务器的服务数据处理结果,返回服务输出图像。
2.如权利要求1所述的一种实现服务软件程序分离运行的方法,其特征在于:在所述步骤S105中,按照RPC协议远程调用功能池节点服务器的模型层代码包及控制层代码包;
在所述步骤S106中,按照RPC协议远程调用视图服务器的视图层代码包。
3.如权利要求1所述的一种实现服务软件程序分离运行的方法,其特征在于:所述视图服务器与所述功能池节点服务器远程通信相连。
4.如权利要求1所述的一种实现服务软件程序分离运行的方法,其特征在于:当服务软件程序的模型层代码包及控制层代码包安装在多个功能池节点服务器时,各个功能池节点服务器的注册IP地址采用“0.0.0.0”。
5.如权利要求1所述的一种实现服务软件程序分离运行的方法,其特征在于:所述服务软件程序为用于医疗信息化管理的服务软件程序。
6.如权利要求1所述的一种实现服务软件程序分离运行的方法,其特征在于:所述功能池节点服务器包括用于具体实现服务功能及业务的提供机和用于进行使用业务调度的使用机。
7.如权利要求1所述的一种实现服务软件程序分离运行的方法,其特征在于:所述注册中心为带有UPS不断电电源的网络服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810439193.9A CN108762780B (zh) | 2018-05-09 | 2018-05-09 | 一种实现服务软件程序分离运行的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810439193.9A CN108762780B (zh) | 2018-05-09 | 2018-05-09 | 一种实现服务软件程序分离运行的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108762780A CN108762780A (zh) | 2018-11-06 |
CN108762780B true CN108762780B (zh) | 2021-09-21 |
Family
ID=64009467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810439193.9A Active CN108762780B (zh) | 2018-05-09 | 2018-05-09 | 一种实现服务软件程序分离运行的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108762780B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862448B2 (en) * | 2009-10-19 | 2014-10-14 | Theranos, Inc. | Integrated health data capture and analysis system |
CN102541541B (zh) * | 2011-12-15 | 2015-12-16 | 大唐软件技术股份有限公司 | 界面生成方法和装置 |
CN103257855B (zh) * | 2012-12-11 | 2016-04-06 | 深圳市梦圆皇宫管理顾问有限公司 | 一种基于mvc的处理***、处理方法及在美容软件中的应用 |
CN106357724A (zh) * | 2016-08-18 | 2017-01-25 | 广州市利迪网络科技有限公司 | 一种统一信息管理平台整体*** |
CN106506509A (zh) * | 2016-11-15 | 2017-03-15 | 深圳市彬讯科技有限公司 | 可进行服务治理与语言调用的轻量级rpc框架实现方法 |
CN106790067A (zh) * | 2016-12-21 | 2017-05-31 | 浙江省公众信息产业有限公司 | 基于mvc分层的业务处理方法、装置和*** |
CN106971307A (zh) * | 2017-02-23 | 2017-07-21 | 周睿 | 基于互联网+物联网的果蔬园艺产品质量安全追溯*** |
CN107741852A (zh) * | 2017-10-16 | 2018-02-27 | 中国电子科技集团公司第二十八研究所 | 一种基于集群软件的服务部署方法 |
-
2018
- 2018-05-09 CN CN201810439193.9A patent/CN108762780B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862448B2 (en) * | 2009-10-19 | 2014-10-14 | Theranos, Inc. | Integrated health data capture and analysis system |
CN102541541B (zh) * | 2011-12-15 | 2015-12-16 | 大唐软件技术股份有限公司 | 界面生成方法和装置 |
CN103257855B (zh) * | 2012-12-11 | 2016-04-06 | 深圳市梦圆皇宫管理顾问有限公司 | 一种基于mvc的处理***、处理方法及在美容软件中的应用 |
CN106357724A (zh) * | 2016-08-18 | 2017-01-25 | 广州市利迪网络科技有限公司 | 一种统一信息管理平台整体*** |
CN106506509A (zh) * | 2016-11-15 | 2017-03-15 | 深圳市彬讯科技有限公司 | 可进行服务治理与语言调用的轻量级rpc框架实现方法 |
CN106790067A (zh) * | 2016-12-21 | 2017-05-31 | 浙江省公众信息产业有限公司 | 基于mvc分层的业务处理方法、装置和*** |
CN106971307A (zh) * | 2017-02-23 | 2017-07-21 | 周睿 | 基于互联网+物联网的果蔬园艺产品质量安全追溯*** |
CN107741852A (zh) * | 2017-10-16 | 2018-02-27 | 中国电子科技集团公司第二十八研究所 | 一种基于集群软件的服务部署方法 |
Non-Patent Citations (1)
Title |
---|
"使用Areas分离ASP.NET MVC项目";Lyon.L;《https://kb.cnblogs.com/page/144561/》;20120531;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108762780A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3819757A1 (en) | Edge application management method and system | |
US10140112B2 (en) | Update management system and update management method | |
CN110990047B (zh) | 用于多个微服务架构的融合方法及装置 | |
WO2017162173A1 (zh) | 云服务器集群建立连接的方法和装置 | |
CN113037560B (zh) | 业务流量切换方法及装置、存储介质、电子设备 | |
CN113067850B (zh) | 一种多云场景下的集群编排*** | |
CN108600322B (zh) | 基于铁路视频技术规范的综合视频监控云服务***及方法 | |
CN107404509B (zh) | 分布式服务配置***及信息管理方法 | |
CN110391940B (zh) | 服务地址的响应方法、装置、***、设备和存储介质 | |
US9596313B2 (en) | Method, terminal, cache server and system for updating webpage data | |
CN107682460B (zh) | 一种分布式存储集群数据通信方法及*** | |
CN103974140A (zh) | 一种基于tr069协议的大规模交互电视终端管理方法及*** | |
CN101227333B (zh) | 一种容灾网管***及其网管客户端的登陆方法 | |
WO2021170033A1 (zh) | 一种网络配置方法及装置 | |
WO2022007908A1 (zh) | 网元设备间业务协同的方法和网元设备 | |
US9706440B2 (en) | Mobile communication system, call processing node, and communication control method | |
CN108616597B (zh) | 一种实现服务永不中断的分布式运行方法 | |
CN108762780B (zh) | 一种实现服务软件程序分离运行的方法 | |
KR20140061534A (ko) | 확장가능 분산 멀티클러스터 장치 관리 서버 아키텍처 및 그 동작 방법 | |
CN103780433B (zh) | 自愈式虚拟资源配置管理数据架构 | |
EP4318243A1 (en) | Data backup method and system, and related device | |
CN114422335A (zh) | 通信方法、装置、服务器及存储介质 | |
CN110865993B (zh) | 一种sdn控制器集群*** | |
CN109992384B (zh) | 服务注册发现协调***及其方法 | |
EP3387533A1 (en) | Disaster recovery of cloud resources |
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: 20221205 Address after: 518000 C506, Building 2, Software Industry Base, No. 87, 89, 91, Gaoxin South 10th Road, Binhai Community, Nanshan District, Shenzhen, Guangdong Patentee after: Shenzhen Yabao Technology Co.,Ltd. Address before: 610000 First Floor, 219 Tianshun Road, Chengdu High-tech Zone, Sichuan Province Patentee before: SICHUAN HUACHUANG SHIJI TECHNOLOGY Co.,Ltd. |