1.本发明涉及的是铁路云平台领域,特别涉及一种基于云平台的铁路通信系统扩缩容方法和系统。
背景技术:2.云计算平台通常基于硬件资源和软件资源,提供网络、计算和存储能力。云计算平台主要应用于海量数据计算与存储,平台一般部署在集群中心服务器上,通过分布式计算和虚拟化为客户提供定制化业务。
3.铁路通信业务是指铁路运输生产和经营管理等活动中所使用的通信业务,随着云平台的逐步发展,部分铁路通信业务将实现云平台部署。铁路通信云平台为多云、多域分布式架构,其特点为业务类型多,常见的有多媒体调度通信、铁路综合视频监控、会议系统、应急通信系统、网管系统和监测系统等,各业务对资源的占用消耗是不同的,可能会导致铁路通信云平台资源利用率不均衡。
4.由于铁路通信业务系统的特点,现阶段铁路云平台存在两个显著问题;
5.其一是不能动态增加或减少云平台资源,导致资源利用率低。为了减低建设维护成本,通常对资源利用率要求高,在初期业务量小时部署较少的资源,在业务量增大或增加新业务时需要快速增加资源及配置。
6.其二是云平台资源增加或缩减时间长、不够灵活,运维效率低。各个云平台间彼此独立,由网管平台统一运维和建设。在此背景下,基于经验主义的人工运维效率过低且费时费力,无法在规定时间内完成虚拟机配置和网络资源分配,特别是业务量增加或增加新业务时,较低的运维效率对应用造成一定的障碍。
7.现有的相关专利,如名称为“虚拟机弹性伸缩方法及装置”(公开号:cn103810020a)的专利,通过加载或保存虚拟机内存数据的方法实现激活或休眠状态虚拟机,以快速实现虚拟机的增加或减少从而到达到虚拟机弹性伸缩,这种方法需要预先做好配置并保存,需要占用额外的资源,而且无法动态的增加虚拟机,需要人工参与决策。再比如,名称为“一种云计算环境中虚拟机扩缩容方法及扩缩容系统”(公开号:cn106293868a)的专利,采用一个平台来监测本身的资源使用情况,从预先设定的虚拟机组扩缩度量标准中提取扩缩数量,在另一云平台中进行虚拟机的扩缩。此方法需要至少两个云平台来实现,无法实现一个云平台的动态扩缩。
技术实现要素:8.鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于云平台的铁路通信系统扩缩容方法和系统。
9.为了解决上述技术问题,本技术实施例公开了如下技术方案:
10.一种基于云平台的铁路通信系统扩缩容方法,包括:
11.s100.通过监控模块实时获取铁路通信系统的cpu负载和内存使用率,将其与预设
阈值组进行比较,得到当前铁路通信系统扩缩容指令,并发送给编排模块;
12.s200.编排模块根据预先设定的扩缩容机制和接收到的扩缩容指令,创建或删除虚拟机,同时生成更新后的通用配置文件并下发到各个虚拟机,随后调用提前植入镜像内的应用扩缩容脚本;
13.s300.脚本通过解析通用配置文件,判断执行扩容或缩容,并根据配置文件中节点的变化计算扩缩容的数量,从而实现对铁路通信系统的扩缩容操作。
14.进一步地,通用配置文件至少包括:铁路应用业务系统的名称、虚拟机网卡信息、虚拟机ip地址。
15.进一步地,预设阈值组包括第一阈值和第二阈值,当cpu负载或内存使用率大于第一阈值时,得到当前铁路通信系统扩容指令;当cpu负载和内存使用率均小于第二阈值时,得到当前铁路通信系统缩容指令。
16.进一步地,第一阈值为80%,第二阈值为30%。
17.本发明还公开了一种基于云平台的铁路通信系统扩缩容系统,包括:监控模块、编排模块和脚本;其中:
18.监控模块,用于实时获取铁路通信系统的cpu负载和内存使用率,将其与预设阈值组进行比较,得到当前铁路通信系统扩缩容指令,并发送给编排模块;
19.编排模块,用于根据预先设定的扩缩容机制和接收到的扩缩容指令,创建或删除虚拟机,同时生成更新后的通用配置文件并下发到各个虚拟机,随后调用提前植入镜像内的应用扩缩容脚本;
20.脚本,用于解析通用配置文件,判断执行扩容或缩容,并根据配置文件中节点的变化计算扩缩容的数量,从而实现对铁路通信系统的扩缩容操作。
21.进一步地,监控模块将铁路通信系统的cpu负载和内存使用率与预设阈值组进行比较,预设阈值组包括第一阈值和第二阈值,当cpu负载或内存使用率大于第一阈值时,得到当前铁路通信系统扩容指令;当cpu负载和内存使用率均小于第二阈值时,得到当前铁路通信系统缩容指令。
22.本发明实施例提供的上述技术方案的有益效果至少包括:
23.本发明公开的一种基于云平台的铁路通信系统扩缩容方法和系统,通过监控模块实时获取铁路通信系统的cpu负载和内存使用率,将其与预设阈值组进行比较,得到当前铁路通信系统扩缩容指令,并发送给编排模块;编排模块根据预先设定的扩缩容机制和接收到的扩缩容指令,创建或删除虚拟机,同时生成更新后的通用配置文件并下发到各个虚拟机,随后调用提前植入镜像内的应用扩缩容脚本;脚本通过解析通用配置文件,判断执行扩容或缩容,并根据配置文件中节点的变化计算扩缩容的数量,从而实现对铁路通信系统的扩缩容操作。本发明具有自适应扩缩容、低代码化操作管理和快速云平台部署等优势。通过监控模块实时采集应用集群的数据,判断当前业务数据流量和硬件资源负载。编排模块可以根据监控数据下发编排指令,实现铁路云平台下的自适应扩缩容,为铁路专用通信系统提供技术保障。低代码化也是本专利的一大优势,缓解了铁路运维人员的代码压力,降低了运维操作门槛,符合智能化铁路发展需求。
24.下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
25.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
26.图1为本发明实施例1中,一种基于云平台的铁路通信系统扩缩容方法的流程图;
27.图2为本发明实施例1中,一种基于云平台的铁路通信系统扩缩容方法的逻辑图。
具体实施方式
28.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
29.为了解决现有技术中存在的问题,本发明实施例提供一种基于云平台的铁路通信系统扩缩容方法和系统。
30.实施例1
31.本发明公开的一种基于云平台的铁路通信系统扩缩容方法,如图1,包括:
32.s100.通过监控模块实时获取铁路通信系统的cpu负载和内存使用率,将其与预设阈值组进行比较,得到当前铁路通信系统扩缩容指令,并发送给编排模块;
33.在本实施例中,如图2,预设阈值组包括第一阈值和第二阈值,当cpu负载或内存使用率大于第一阈值时,得到当前铁路通信系统扩容指令;当cpu负载和内存使用率均小于第二阈值时,得到当前铁路通信系统缩容指令。优选的,第一阈值为80%,第二阈值为30%。
34.铁路通信系统的监控模块将采取多云多域架构,云平台将根据业务特点和需求分为区域节点和i类节点。区域节点按局设置,i类节点按线布置。区域节点和i类节点均需要具有业务冗余保护和大容量存储能力,对cpu负载、内存使用率要求极高。本发明可监控铁路应用集群的cpu负载和内存使用率,当存储分析压力过大时,可实现自动化扩容并更新集群信息。
35.铁路通信系统的监控模块负责实时监测铁路状态和列车运行信息,当铁路沿线某监控设备突发故障时,其相应虚拟机将会处于告警状态并不再进行存储。考虑到铁路通信云平台架构复杂、资源使用情况紧张,本发明将删除空闲态虚拟机并释放其物理资源,在规定时间内完成应用集群重配置。
36.s200.编排模块根据预先设定的扩缩容机制和接收到的扩缩容指令,创建或删除虚拟机,同时生成更新后的通用配置文件并下发到各个虚拟机,随后调用提前植入镜像内的应用扩缩容脚本。
37.在本实施例中,在镜像内提前植入应用扩缩容的脚本,通过该镜像创建应用集群,并给集群中的每台虚拟机下发通用配置文件。
38.具体的,在镜像内提前植入应用扩缩容的脚本的实际的操作过程为:在镜像中的/opt/目录下编写enlarge_shrinks.sh脚本文件,脚本通过解析通用配置文件,判断执行扩容或缩容,扩缩容的数量根据配置文件中节点的变化来计算,扩缩容执行的具体任务,由铁路系统中应用本身决定。在本实施例中,通用配置文件至少包括:铁路应用业务系统的名称、虚拟机网卡信息、虚拟机ip地址。
39.在本实施例中,铁路应用编排模块可以在应用系统层面生成虚拟机的通用配置文件,除此之外,编排系统可通过消息队列完成对虚拟机下enlarge_shrinks.sh脚本的调用,并且开放了相关api,铁路相关应用可结合实际负载完成扩缩容的动态调用,涉及到的算法变量及描述如下:
40.编排系统实现uploadconffile函数,其主要功能是通过conf:linux.putfile($instance.agent,$confile,$this.meta)完成对通用配置文件的下发。
41.编排系统实现enlarge_shrinks函数,其主要功能是通过conf:linux.runcommand($instance.agent,"sh/opt/enlarge_shrinks.sh")完成对虚拟机内enlarge_shrinks.sh脚本的调用。
42.编排系统实现enlarge_shrinksapi函数,其主要功能是生成enlarge_shrinks的调用链接,通过页面或者远程api直接触发扩缩容动作。当编排模块自动进行扩缩容操作后,应用程序更新集群信息。
43.s300.脚本通过解析通用配置文件,判断执行扩容或缩容,并根据配置文件中节点的变化计算扩缩容的数量,从而实现对铁路通信系统的扩缩容操作。
44.本实施例还公开了一种基于云平台的铁路通信系统扩缩容系统,其特征在于,包括:铁路应用集群、监控模块、编排模块;其中:
45.监控模块,用于实时获取铁路通信系统的cpu负载和内存使用率,将其与预设阈值组进行比较,得到当前铁路通信系统扩缩容指令,并发送给编排模块;
46.编排模块,用于根据预先设定的扩缩容机制和接收到的扩缩容指令,创建或删除虚拟机,同时生成更新后的通用配置文件并下发到各个虚拟机,随后调用提前植入镜像内的应用扩缩容脚本;
47.脚本,用于解析通用配置文件,判断执行扩容或缩容,并根据配置文件中节点的变化计算扩缩容的数量,从而实现对铁路通信系统的扩缩容操作。
48.在一些优选实施例中,监控模块将铁路通信系统的cpu负载和内存使用率与预设阈值组进行比较,预设阈值组包括第一阈值和第二阈值,当cpu负载或内存使用率大于第一阈值时,得到当前铁路通信系统扩容指令;当cpu负载和内存使用率均小于第二阈值时,得到当前铁路通信系统缩容指令。
49.本实施例公开的一种基于云平台的铁路通信系统扩缩容方法和系统,通过监控模块实时获取铁路通信系统的cpu负载和内存使用率,将其与预设阈值组进行比较,得到当前铁路通信系统扩缩容指令,并发送给编排模块;编排模块根据预先设定的扩缩容机制和接收到的扩缩容指令,创建或删除虚拟机,同时生成更新后的通用配置文件并下发到各个虚拟机,随后调用提前植入镜像内的应用扩缩容脚本;脚本通过解析通用配置文件,判断执行扩容或缩容,并根据配置文件中节点的变化计算扩缩容的数量,从而实现对铁路通信系统的扩缩容操作。
50.本实施例公开的一种基于云平台的铁路通信系统扩缩容方法和系统,具有自适应扩缩容、低代码化操作管理和快速云平台部署等优势。通过监控模块实时采集应用集群的数据,判断当前业务数据流量和硬件资源负载。编排模块可以根据监控数据下发编排指令,实现铁路云平台下的自适应扩缩容,为铁路专用通信系统提供技术保障。低代码化也是本专利的一大优势,缓解了铁路运维人员的代码压力,降低了运维操作门槛,符合智能化铁路
发展需求。
51.应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
52.在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
53.本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
54.结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、移动磁盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。该asic可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
55.对于软件实现,本技术中描述的技术可用执行本技术所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
56.上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。