一种实现服务软件程序分离运行的方法与流程

文档序号:15850199发布日期:2018-11-07 09:44阅读:297来源:国知局
一种实现服务软件程序分离运行的方法与流程

本发明属于在线软件服务领域,具体涉及一种实现服务软件程序分离运行的方法。

背景技术

目前,已知的大部分在线服务软件程序都是运行在单个服务器当中,并且在单个服务器当中软件程序是完整的。但是,服务器的单点故障不可避免或回避,即无论是系统硬件故障、系统软件故障或应用软件单独/联合故障,都会造成由当前所运行的服务软件所提供的功能和服务出现中断。

为了防止出现服务中断,在传统的服务端软件当中,一般都是相同的软件安装在多个服务器上,形成主从结构,但是并没有从根本上解决问题。仍然会存在如下几个问题:(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(uninterruptiblepowersystem,即不间断电源)不断电电源的网络服务器。另外优化的,当服务软件程序的模型层代码包及控制层代码包安装在多个功能池节点服务器时,各个功能池节点服务器的注册ip地址采用“0.0.0.0”,这样就可以确保在后续远程调用时,对多个功能池节点服务器进行同步地远程调用,以避免因单个功能池节点服务器出现崩溃或者异常而导致服务中断。

s103.访问注册中心,查看当前可用服务软件程序的唯一标识。

s104.根据选定可用服务软件程序的唯一标识,在注册中心查找对应功能池节点服务器的ip地址及通信端口。

s105.根据查找到的ip地址及通信端口,远程调用相应功能池节点服务器的且与选定可用服务软件程序对应的模型层代码包及控制层代码包,完成服务数据处理。

在所述步骤s105中,可按照rpc(remoteprocedurecallprotocol,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议)协议远程调用功能池节点服务器的模型层代码包及控制层代码包,如此一方面可将软件对象序列化到互联网络中;另一方可以直接获取到这个序列化,然后反向序列化成对象,通过对象注入的方式,让其可以模拟本地调用。

s106.远程调用视图服务器的且与选定可用服务软件程序对应的视图层代码包消费来自功能池节点服务器的服务数据处理结果,返回服务输出图像。

在所述步骤s106中,同样可按照rpc协议远程调用视图服务器的视图层代码包。

通过前述步骤s101~s106,可对服务软件程序进行分布式安装和调用运行,并在远程调用时可完成服务数据处理和返回服务输出图像,如此在实现正常调用目的的同时,还可以在中大型服务软件系统中提高系统的稳定性,实现并发处理能力以及横向扩充能力,便于实际应用和推广。

综上,采用本实施例所提供的实现服务软件程序分离运行的方法,具有如下技术效果:

(1)本实施例提供了一种可以高度稳定服务软件程序可用性的解决方案,即将具有传统mvc架构的服务软件程序分离成mc层代码包(即模型层代码包及控制层代码包)和v层代码包(即视图层代码包)两部分,并对它们进行分布式安装和调用运行,可以在中大型服务软件系统中提高系统的稳定性,实现并发处理能力以及横向扩充能力,便于实际应用和推广。

本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1