首页> 中国专利> 垂直行业平台SaaS化和数字化转型的方法

垂直行业平台SaaS化和数字化转型的方法

摘要

本发明公开了垂直行业平台SaaS化和数字化转型的方法,本发明资源投入成本降低、资源利用率提升:原本每个租户实例都需要一台ECS服务器的成本,若有上百个租户实例则需要上百台ECS服务器,就算每台服务器大部分时间的资源利用率为50%(如四核CPU服务器仅使用到两核CPU进行处理),则数百台服务器就会有数百核CPU资源的闲置,而在实现了解决方案之后,上百个租户实例目前仅需要数十台服务器即可,并且数十台的CPU资源可以满载运行,同时具有良好的可用性和灵活性。

著录项

  • 公开/公告号CN113220460A

    专利类型发明专利

  • 公开/公告日2021-08-06

    原文格式PDF

  • 申请/专利权人 常州航加网络科技有限公司;

    申请/专利号CN202110585425.3

  • 发明设计人 钱钰;

    申请日2021-05-27

  • 分类号G06F9/50(20060101);

  • 代理机构43268 湖南楚墨知识产权代理有限公司;

  • 代理人王磊

  • 地址 213000 江苏省常州市新北区太湖东路9-1号1802室

  • 入库时间 2023-06-19 12:07:15

说明书

技术领域

本发明涉及数字化技术领域,特别涉及垂直行业平台SaaS化和数字化转型的方法。

背景技术

SaaS(Software as a Service,软件即服务)是一种通过Internet提供软件的模式。SaaS服务提供商为客户搭建信息化所需要的所有网络基础设施及软件、硬件运作平台等,并负责所有前期的实施、后期的维护等一系列服务,客户无需购买软硬件、建设机房、招聘IT研发人员,即可通过互联网使用软件。因此,SaaS服务提供商需要对日益增长的客户的各类数据信息进行管理,并保障客户随时都可以通过互联网来使用其所购买的软件。

在垂直行业SaaS平台中对多租户信息管理困难,且垂直行业SaaS平台的可用性与稳定性较差,因此需要一种垂直行业平台SaaS化和数字化转型的方法。

发明内容

本发明的目的在于提供垂直行业平台SaaS化和数字化转型的方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:垂直行业平台SaaS化和数字化转型的方法,其方法如下:

租户信息数据管理方面:

为每一个租户实例单独采购软件产品所依赖的基础设施,这些基础设施包含七牛云附件存储、RDS数据库存储、ECS服务器等,并把租户实例信息、客户名称、采购时间和采购设施的配置等信息记录在Excel中。然后在ECS服务器上部署产品软件,将七牛云附件存储、RDS数据库基础设施的配置信息填写到产品软件运行配置文件中,使得产品软件可以正常运行被客户访问到。当所有租户实例的产品软件需要一起进行迭代升级功能时,运维人员使用ansible对所有ECS服务器上的产品软件进行批量更新。当租户实例的软件产品使用期限到期时,再将ECS服务器、七牛云存储、RDS数据库等基础设施进行关闭和退订。

为了缓解每个租户实例独占服务器的资源利用率(CPU和内存的利用)不高的问题,我们将多个租户实例放置在一台服务器上,这样多个租户实例的平台流量和压力都会进入到该服务器,使得该服务器CPU处理和内存占用得到利用。

需要单独为每个租户实例进行基础设施的采购和退订,还要为租户实例配置Web网站域名绑定信息、SSL证书配置等,还需要将这些采购和配置等相关信息记录到Excel。每次处理一个租户实例的接入和停用都要做这么一系列的重复操作,效率不高,而且还容易操作错误或遗漏操作。相近的客户名称也会容易使得操作出现错误,需要多方核对后才能确定哪些租户实例属于哪些口头称呼上的客户;使用ansible对大量服务器上软件的批量升级操作,由于短时间内大量服务器上需要拉取最新的软件代码,导致代码仓库会因短时大访问量而崩溃或响应慢,进而导致每一次批量操作都要持续很久,有时中间还会出现问题需要进行处理后再次尝试更新,耗费的时间就更长了。

每个租户实例都占用一台ECS服务器,但根据长时间观察和财务报表来看,几乎所有租户实例的服务器每天资源(CPU资源和内存资源)的平均使用量都不足60%,也就是说大部分时间都有40%左右的服务器资源闲置着得不到利用,但还是得对这些资源进行买单,这是一种浪费。但将多个租户实例放置到一台服务器上,会增加整体操作的成本,因为多租户实例的一些配置信息都是放置在同一台服务器上,在进行部署接入时需要对该租户实例相关的设施进行仔细辨别和操作。并且当其中租户实例遭到攻击或大流量请求时,该服务器上的其他租户实例也会受到牵连影响。

平台可用性与稳定性方面:

为租户实例采用固定CPU和内存配置的ECS服务器、固定带宽,当产品软件受到较大流量访问请求时,若CPU或内存不足吃紧时,需要为服务器临时升级配置,当带宽流量过大跑满时,需要对带宽进行临时升级。

为了应对配置性能不够的情形,还可以将单个租户实例的软件部署在多台服务器,每台服务器都前置了一个统一入口服务,该服务称之为负载均衡(也可以称为负载均衡器,简称SLB),该服务的目的是将流量分发到其后端的多台服务器上,由多台服务器共同承担这些请求流量,以避免单台服务器承受的流量过大而导致负载升高性能下降的问题。

每次应对大流量访问请求时,服务器都会因负载升高而导致服务响应缓慢甚至不可用(如宕机)。用户需要消耗更多时间来等待平台的响应,甚至平台直接打开不。而SaaS服务提供商需要进行异常排查,通过常规的Linux命令如cat、grep、sed、awk(这些命令都是对日志文本进行分割、提取操作的命令)等来提取分析平台访问日志和软件运行日志,推断可能造成大流量请求的原因。分析日志的命令编写复杂、易错,通过命令来分析日志的展现效果不直观,仅能展示所需的数据,而无法对日志数据做进一步分析;

为了应对服务器负载升高带来的这些问题,我们可以对ECS服务器CPU和内存配置进行升级,但升级需要进行服务器的重启后才能生效,而重启过程中软件必然无法正常运行,更会导致平台的无法访问。

对于一个租户实例的软件部署在多台服务器上,并前置了SLB负载均衡的方案,但实施起来困难。虽然可以有多台服务器共同承担请求压力,但一般情况下并不是任何时候都需要多台服务器来满足一个租户实例,这种做法仅仅是为了应对未知异常的大流量请求,大多数时候一个租户的常规请求量可能维持在单台服务器所能承受的压力之内。而且当多台服务器服务一个租户实例时,需要对每台服务器上安装环境、部署软件代码以及进行其他各种配置,也是比较耗时的。

优选的,所述租户实例为SaaS服务提供商的客户在软件产品中存在的一种形式,一个客户可以多次重复购买同一款产品软件,每购买一次则对应生成一个租户实例。

优选的,所述软件产品由SaaS服务提供商研发的软件,售卖给客户,在这里是B/S架构的软件,是传统web网站的服务端软件,运行在服务器上。

优选的,所述部署接入指客户购买了软件产品后,由SaaS服务提供商为客户进行类似开通的操作,这些开通操作包含了一些基础设施的采购、软件的部署等行为。

优选的,所述Ansible是一款运维工具,通过某种方式与所有ECS服务器进行远程通信、执行操作等。

优选的,所述Web网站域名绑定指想要通过域名访问一个web网站需要对域名进行两方面操作,一方面是域名持有者需要在域名服务商处进行域名解析,将域名解析到某个服务器的IP地址上,这样请求域名时就知道该往哪个服务器发送请求了;另一方面还需要服务器方在服务器上进行域名绑定,使得通过某个域名过来的请求可以到达服务器上的某个软件进程中,从而能够被运行的软件处理。

优选的,所述SSL证书配置指SSL证书在web网站上最直观的表现就是请求某个域名时所使用的协议,当没有配置SSL证书时,一般都是通过http://进行请求,当配置了SSL证书时,可以通过https://协议进行请求。SSL证书可以为网站的服务端与客户端(一般是用户浏览器)之间的通信增强安全性,避免通信过程中被中间人截取、伪造数据信。

本发明的技术效果和优点:

(1)资源投入成本降低、资源利用率提升:原本每个租户实例都需要一台ECS服务器的成本,若有上百个租户实例则需要上百台ECS服务器,就算每台服务器大部分时间的资源利用率为50%(如四核CPU服务器仅使用到两核CPU进行处理),则数百台服务器就会有数百核CPU资源的闲置,而在实现了解决方案之后,上百个租户实例目前仅需要数十台服务器即可,并且数十台的CPU资源可以满载运行;

(2)具有良好的可用性和灵活性:原本每个租户实例独占一台服务器,在应对流量高峰和低谷方面明显不具备优势。流量高峰时,必须要通过升级单台服务器配置且需要中断软件运行后重启服务器才能实现。同样对于流量高峰过去时,需要降配又会有一次中断,这对于客户的体感是非常差。使用基于kubernetes的集群和容器后,可以动态增加服务器,并在新增的服务器上部署容器,并把集群入口的流量分流一部分到该容器中,这从整个集群的角度来看,是一种升配,与单台服务器升配类似,单台服务器可能从4核CPU、4G内存的配置升级到8核CPU、8G内存的配置,而整个集群是按照所有节点配置之和来计算的,例如从原本总核数32核CPU增加到48核,内存从总内存32G增加到64G;

(3)租户实例所关联的信息都能被记录在系统中,并且可以实现一些数据处理和分析。原本租户实例的创建时间、对应的客户信息、关联采购的数据库和服务器等信息、域名绑定和证书配置等都需要人工单独分别操作和记录。而当前对一些操作内容进行规范化和流程化后,方便通过开发一个系统来代替完成这些工作,并且工作所相关的信息都会被记录,也能为后续进一步数据挖掘和分析提供帮助。

(4)企业数字化转型,将原本传统的各种人工操作和服务的方式转变为基于软件系统的操作。如原本需要人工为客户采购、部署软件产品,并记录相关台账等信息,现在通过依靠软件系统的方式来完成这些工作和台账信息的记录,SaaS服务提供商的技术底层基础架构,通过多年技术上的实践总结,得出更利于于企业技术集约化、稳定、灵活的架构方式。

附图说明

图1为本发明的方法示意图;

图2为本发明的流程意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了如图1-2所示的垂直行业平台SaaS化和数字化转型的方法,其方法如下:

租户信息数据管理方面:

为每一个租户实例单独采购软件产品所依赖的基础设施,这些基础设施包含七牛云附件存储、RDS数据库存储、ECS服务器等,并把租户实例信息、客户名称、采购时间和采购设施的配置等信息记录在Excel中。然后在ECS服务器上部署产品软件,将七牛云附件存储、RDS数据库基础设施的配置信息填写到产品软件运行配置文件中,使得产品软件可以正常运行被客户访问到。当所有租户实例的产品软件需要一起进行迭代升级功能时,运维人员使用ansible对所有ECS服务器上的产品软件进行批量更新。当租户实例的软件产品使用期限到期时,再将ECS服务器、七牛云存储、RDS数据库等基础设施进行关闭和退订。

为了缓解每个租户实例独占服务器的资源利用率(CPU和内存的利用)不高的问题,我们将多个租户实例放置在一台服务器上,这样多个租户实例的平台流量和压力都会进入到该服务器,使得该服务器CPU处理和内存占用得到利用。

需要单独为每个租户实例进行基础设施的采购和退订,还要为租户实例配置Web网站域名绑定信息、SSL证书配置等,还需要将这些采购和配置等相关信息记录到Excel。每次处理一个租户实例的接入和停用都要做这么一系列的重复操作,效率不高,而且还容易操作错误或遗漏操作。相近的客户名称也会容易使得操作出现错误,需要多方核对后才能确定哪些租户实例属于哪些口头称呼上的客户;使用ansible对大量服务器上软件的批量升级操作,由于短时间内大量服务器上需要拉取最新的软件代码,导致代码仓库会因短时大访问量而崩溃或响应慢,进而导致每一次批量操作都要持续很久,有时中间还会出现问题需要进行处理后再次尝试更新,耗费的时间就更长了。

每个租户实例都占用一台ECS服务器,但根据长时间观察和财务报表来看,几乎所有租户实例的服务器每天资源(CPU资源和内存资源)的平均使用量都不足60%,也就是说大部分时间都有40%左右的服务器资源闲置着得不到利用,但还是得对这些资源进行买单,这是一种浪费。但将多个租户实例放置到一台服务器上,会增加整体操作的成本,因为多租户实例的一些配置信息都是放置在同一台服务器上,在进行部署接入时需要对该租户实例相关的设施进行仔细辨别和操作。并且当其中租户实例遭到攻击或大流量请求时,该服务器上的其他租户实例也会受到牵连影响。

平台可用性与稳定性方面:

为租户实例采用固定CPU和内存配置的ECS服务器、固定带宽,当产品软件受到较大流量访问请求时,若CPU或内存不足吃紧时,需要为服务器临时升级配置,当带宽流量过大跑满时,需要对带宽进行临时升级。

为了应对配置性能不够的情形,还可以将单个租户实例的软件部署在多台服务器,每台服务器都前置了一个统一入口服务,该服务称之为负载均衡(也可以称为负载均衡器,简称SLB),该服务的目的是将流量分发到其后端的多台服务器上,由多台服务器共同承担这些请求流量,以避免单台服务器承受的流量过大而导致负载升高性能下降的问题。

每次应对大流量访问请求时,服务器都会因负载升高而导致服务响应缓慢甚至不可用(如宕机)。用户需要消耗更多时间来等待平台的响应,甚至平台直接打开不。而SaaS服务提供商需要进行异常排查,通过常规的Linux命令如cat、grep、sed、awk(这些命令都是对日志文本进行分割、提取操作的命令)等来提取分析平台访问日志和软件运行日志,推断可能造成大流量请求的原因。分析日志的命令编写复杂、易错,通过命令来分析日志的展现效果不直观,仅能展示所需的数据,而无法对日志数据做进一步分析;

为了应对服务器负载升高带来的这些问题,我们可以对ECS服务器CPU和内存配置进行升级,但升级需要进行服务器的重启后才能生效,而重启过程中软件必然无法正常运行,更会导致平台的无法访问。

对于一个租户实例的软件部署在多台服务器上,并前置了SLB负载均衡的方案,但实施起来困难。虽然可以有多台服务器共同承担请求压力,但一般情况下并不是任何时候都需要多台服务器来满足一个租户实例,这种做法仅仅是为了应对未知异常的大流量请求,大多数时候一个租户的常规请求量可能维持在单台服务器所能承受的压力之内。而且当多台服务器服务一个租户实例时,需要对每台服务器上安装环境、部署软件代码以及进行其他各种配置,也是比较耗时的。

进一步地,租户实例为SaaS服务提供商的客户在软件产品中存在的一种形式,一个客户可以多次重复购买同一款产品软件,每购买一次则对应生成一个租户实例。

进一步地,软件产品由SaaS服务提供商研发的软件,售卖给客户,在这里是B/S架构的软件,是传统web网站的服务端软件,运行在服务器上。

进一步地,部署接入指客户购买了软件产品后,由SaaS服务提供商为客户进行类似开通的操作,这些开通操作包含了一些基础设施的采购、软件的部署等行为。

进一步地,Ansible是一款运维工具,通过某种方式与所有ECS服务器进行远程通信、执行操作等。

进一步地,Web网站域名绑定指想要通过域名访问一个web网站需要对域名进行两方面操作,一方面是域名持有者需要在域名服务商处进行域名解析,将域名解析到某个服务器的IP地址上,这样请求域名时就知道该往哪个服务器发送请求了;另一方面还需要服务器方在服务器上进行域名绑定,使得通过某个域名过来的请求可以到达服务器上的某个软件进程中,从而能够被运行的软件处理。

进一步地,SSL证书配置指SSL证书在web网站上最直观的表现就是请求某个域名时所使用的协议。当没有配置SSL证书时,一般都是通过http://进行请求,当配置了SSL证书时,可以通过https://协议进行请求。SSL证书可以为网站的服务端与客户端(一般是用户浏览器)之间的通信增强安全性,避免通信过程中被中间人截取、伪造数据信。

本发明工作原理:一台服务器的资源利用率由租户实例平台所带来的访问请求量和服务器上运行的软件数量这两个因素有关。

我们采用了容器技术来提升服务器上运行的软件数量。容器技术中的核心关键点是容器,假如一台ECS服务器代表一个糖盒,则容器就相当于糖盒中每粒糖的外包装。容器相对于一整个服务器来说,它的粒度更小,容器中也存在CPU和内存资源,相当于把一个服务器中的CPU和内存资源划分成一个个小的容器中的资源,因此容器相对于服务器来说更轻量级。有了轻量级的容器之后,我们可以在一个服务器中启动多个容器,每个容器都会占用服务器的部分资源,直到服务器资源基本分配完毕。容器中可以运行着我们的软件,而之前我们软件是直接运行在服务器上。因此有了容器之后,会比原本直接在服务器上部署软件方便快捷,因此可以快速的在一台服务器上部署软件(即容器)和撤下软件(即容器),进而使得在一台服务器上运行多个不同软件容器(即每个容器中所包含的软件程序不同)。

在容器技术的基础上,引入并使用了kubernetes系统,kubernetes可以用于管理容器化软件应用,需要我们预先编写容器编排文件,编排文件中包含了yaml格式的文本内容,文本内容需要根据规定的语义格式来编写。Kubernetes会分析编排文件中的内容并根据我们编写的内容来决定如何调度和部署每个容器。另外基于kubernetes系统,可以将多台ECS服务器接入到该系统中,由此这些服务器组成了服务器集群,这集群中的每个服务器称之为节点。例如我们有A、B两个容器,有A、B、C三个节点,可以通过编排让A容器部署到指定的B节点上,也可以让B容器部署到C节点上,更或者让容器随意选择一个节点进行部署。同时kubernetes也支持编排对多个容器前置SLB负载均衡,将请求流量分发给这些容器。至此,对于大部分时间的常规请求流量,我们只需要恒定的几台服务器来承担访问请求,而对于一些异常大请求流量,可以通过kubernetes将临时备用的服务器加入集群作为节点,并在该节点上调度部署容器,接收前端分发过来的请求流量,为原本的集群服务器一起分担请求压力,这个过程我们称之为扩容。当异常请求流量结束并恢复到平常的请求流量级别时,又可以通过kubernetes来撤下部署在新增节点上的容器,并把新增的节点从集群中踢出,仅保留日常所需的几个节点服务器,这个过程我们称之为缩容。所以kubernetes+容器技术来使得服务器资源进行动态调配,资源不够了增加资源,资源过多时减少资源,分别应对过大的访问请求量和日常的访问请求量。

由于此时的底层架构(即服务器部署环境的架构)由原来的单一服务器的模式改为了容器集群架构,具备比之前更灵活的抗压、伸缩能力,因此对于租户实例的管理问题的优化做好了铺垫。

我们将所有租户实例的流量请求改为统一从集群前端SLB进入,并分发到后端集群节点上的容器中进行处理。此时就相当于所有租户实例都在共享这集群中几台服务器的CPU和内存资源,我们可以根据日常访问情况来调整集群中的节点为合适的数量,也就是说我们可以恒定持有几台服务器,并且服务器中的资源允许被充分利用到某个阈值,这个阈值可能是85%,即表示整个集群中的服务器的资源利用率最大可以达到85%,达到这个阈值并且还有超过的迹象时,即表明集群整体的负载正在升高,此时需要及时往集群中添加新的节点进行扩容。当资源利用率下降到某个阈值时,集群可以进行缩容,踢出多余的服务器节点。

租户实例的请求从统一的入口进入,这样也方便我们在单一入口处做一些其他处理。例如可以将原本单台服务器的固定带宽方式改为目前的动态共享带宽方式,所有租户实例的请求流量都走这一个入口。同时我们在该入口处将所有请求信息记录到阿里云日志服务中,在日志服务中可以对请求记录做查询分析、创建可视化图表等,对于任何时间段内的请求情况了如指掌。

我们将创建新租户实例流程化和自动化,将创建租户实例所需要采购的七牛云存储、RDS数据库等采基础设施通过自动化脚本来完成,将web网站域名绑定、SSL证书配置、运行配置通过系统来进行管理。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号