服务器升级方法、装置、设备、介质和程序产品与流程

文档序号:30968875发布日期:2022-07-30 20:27阅读:116来源:国知局
服务器升级方法、装置、设备、介质和程序产品与流程

1.本公开涉及计算机技术领域,具体地涉及一种服务器升级方法、装置、设备、介质和程序产品。


背景技术:

2.对于数据中心开放平台的数据运维而言,为实现对数据中心的有效精细化管理,一线运维人员和开发维护人员需要对数据中心的各种专业对象的各类数据信息进行管理操作。其中,数据中心开放平台具有操作系统、数据库、中间件、存储等多个系统级别的专业对象,每个专业对象又存在多种类型,每个类型又分很多版本。而且,对于这些对应类型和版本的专业对象而言,都存在一个或者多个不同特定类型的应用代理,不同的应用代理数据信息具有不同的数据类型,外加专业对象的类型多样、版本复杂,这就进一步给运维管理信息的处理分析(如升级操作)造成了更大的处理难度,且极易导致生产事件的发生。


技术实现要素:

3.鉴于上述问题,本公开提供了一种适用于大规模数据中心的运维体量,并能够最大化降低一线系统侧的运维成本的服务器升级方法、装置、设备、介质和程序产品。
4.根据本公开的第一个方面,提供了一种服务器升级方法,包括:识别接收的业务任务消息为更新任务消息;根据所述更新任务消息,获取对应服务器的服务器升级数据;以及根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级。
5.根据本公开的实施例,在所述识别接收的业务任务消息为更新任务消息之前,还包括:建立所述服务器的监听消息线程;根据所述监听消息线程,获取所述业务任务消息。
6.根据本公开的实施例,在所述根据所述监听消息线程,获取所述业务任务消息中,包括:根据所述监听消息线程定时执行消息监听任务;根据所述消息监听任务的执行,获取所述业务任务消息。
7.根据本公开的实施例,在所述识别接收的业务任务消息为更新任务消息中,包括:解析所述业务任务消息,获取对应的任务属性参数;根据所述任务属性参数识别所述业务任务消息为所述更新任务消息。
8.根据本公开的实施例,在所述根据所述更新任务消息,获取对应服务器的服务器升级数据中,包括:响应于所述更新任务消息,通过下行数据链路下发代理升级数据;通过所述服务器的监听消息线程,获取所述代理升级数据至所述服务器;其中,所述服务器升级数据包括所述代理升级数据。
9.根据本公开的实施例,在所述通过所述服务器的监听消息线程,获取所述代理升级数据至所述服务器之后,还包括:匹配所述更新任务消息所对应的代理升级数据与所述服务器中的代理配置数据的版本号信息,确定所述跨版本关系;根据所述跨版本关系,获取对应服务器的代理基础升级数据;其中,所述服务器升级数据还包括所述代理基础升级数据,所述跨版本关系为所述代理升级数据与所述服务器中的代理配置数据之间的版本对应
关系。
10.根据本公开的实施例,在所述根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级中,包括:响应于所述服务器升级数据的代理升级数据和所述代理基础升级数据,调取重启执行进程执行所述服务器的升级。
11.根据本公开的实施例,在所述响应于所述服务器升级数据的代理升级数据和所述代理基础升级数据,调取重启执行进程执行所述服务器的升级中,包括:响应于所述重启执行进程的调取,解压所述代理基础升级数据,建立基础升级环境;根据所述基础升级环境,解压所述代理升级数据;响应于所述代理升级数据的解压,更新所述服务器的代理配置数据并执行所述重启执行进程,完成所述服务器的升级。
12.根据本公开的实施例,在所述根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级中,还包括:根据所述跨版本关系,调取重启执行进程执行所述服务器的升级。
13.根据本公开的实施例,在所述根据所述跨版本关系,调取重启执行进程执行所述服务器的升级中,包括:响应于所述重启执行进程的调取,解压所述代理升级数据;响应于所述代理升级数据的解压,更新所述服务器的代理配置数据并执行所述重启执行进程,完成所述服务器的升级。
14.根据本公开的实施例,在所述根据所述更新任务消息,获取对应服务器的服务器升级数据中,包括:响应于所述更新任务消息,通过下行数据链路下发脚本升级数据;通过所述服务器的监听消息线程,获取所述脚本升级数据至脚本分区队列;其中,所述服务器升级数据包括所述脚本升级数据。
15.根据本公开的实施例,在所述通过所述服务器的监听消息线程,获取所述脚本升级数据至脚本分区队列之后,还包括:匹配所述更新任务消息所对应的脚本升级数据与所述服务器接收的脚本配置数据之间的脚本号信息,确定所述跨版本关系;根据所述跨版本关系,获取对应服务器的脚本基础升级数据;其中,所述服务器升级数据还包括所述脚本基础升级数据,所述跨版本关系为所述脚本升级数据与所述服务器接收的脚本配置数据之间的脚本对应关系。
16.根据本公开的实施例,在所述根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级中,包括:根据所述跨版本关系,解压所述脚本基础升级数据和所述脚本升级数据;响应于所述脚本基础升级数据和所述脚本升级数据的解压,更新所述服务器的脚本配置数据。
17.根据本公开的实施例,在所述根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级中,还包括:根据所述跨版本关系,解压所述脚本升级数据;响应于所述脚本升级数据的解压,更新所述服务器的脚本配置数据。
18.根据本公开的实施例,在所述根据所述更新任务消息,获取对应服务器的服务器升级数据之前,还包括:依次查询所述服务器的重启执行进程、代理执行进程和计划执行进程的进程状态信息;根据所述进程状态信息,确定所述服务器的当前时刻的代理执行进程的实时占用状态,完成对所述代理执行进程的监护。
19.根据本公开的实施例,在所述依次查询所述服务器的重启执行进程、代理执行进程和计划执行进程的进程状态信息中,包括:当查询的所述重启执行进程的当前进程状态
为空时,查询所述代理执行进程;当所述代理执行进程的当前进程状态为非空时,查询所述计划执行进程;当所述计划执行进程的当前进程状态为非空时,通过调取所述计划执行进程,获取当前时刻的所述代理执行进程的实时占用状态;其中,所述进程状态信息包括重启执行进程、代理执行进程和计划执行进程的当前进程状态。
20.根据本公开的实施例,在所述通过调取所述计划执行进程,获取当前时刻的所述代理执行进程的实时占用状态中,包括:调取所述计划执行进程,确定所述当前时刻的所述代理执行进程的性能限定状态;当所述性能限定状态为开启时,获取所述当前时刻的所述代理执行进程的实时占用状态。
21.根据本公开的实施例,在所述解析所述业务任务消息,获取对应的任务属性参数之后,还包括:根据所述任务属性参数识别所述业务任务消息为执行任务消息;并发执行所述执行任务消息对应的多个业务执行任务。
22.根据本公开的实施例,该方法还包括:通过执行代理信息采集脚本,上传对应所述服务器升级之后的代理注册信息;通过执行对象信息采集脚本,上传对应所述服务器升级之后的对象注册信息。
23.本公开的第二方面提供了一种服务器升级装置,其中,包括消息识别模块、数据获取模块和升级执行模块。消息识别模块用于识别接收的业务任务消息为更新任务消息;数据获取模块用于根据所述更新任务消息,获取对应服务器的服务器升级数据;以及升级执行模块用于根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级。
24.本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述服务器升级方法。
25.本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述服务器升级方法。
26.本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述服务器升级方法。
27.本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述服务器升级方法。
28.本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述服务器升级方法。
29.本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述服务器升级方法。
30.本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述服务器升级方法。
31.本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述服务器升级方法。
32.本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述服务器升级方法。
33.本公开提供了一种服务器升级方法、装置、设备、介质和程序产品。其中,服务器升级方法,包括:识别接收的业务任务消息为更新任务消息;根据所述更新任务消息,获取对应服务器的服务器升级数据;以及根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级。因此,本公开的服务器升级方法可以适用于大规模数据中心,且能适配各种版本的各种专业对象和代理应用,支持针对相应服务器对象和代理升级操作任务的推送与自动化执行,并能够最大化降低一线系统侧的运维成本,能够在保证任务执行精度的情况下,进一步提升服务器信息升级的执行效率,从而实现专业对象和代理的统一升级管理,提高数据中心的运维管理效率,降低生产事件的产生概率。
附图说明
34.通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
35.图1示意性示出了根据本公开实施例的服务器升级方法、装置、设备、介质和程序产品的一应用场景图;
36.图2示意性示出了根据本公开实施例的服务器升级方法的流程图;
37.图3示意性示出了根据本公开实施例的服务器升级方法的另一应用场景图;
38.图4示意性示出了根据本公开实施例的服务器升级方法的任务消息处理流程图;
39.图5示意性示出了根据本公开实施例的服务器升级方法的agent升级处理时序图;
40.图6示意性示出了根据本公开实施例的服务器升级方法的脚本升级处理时序图;
41.图7示意性示出了根据本公开实施例的服务器升级方法的守护消息处理流程图;
42.图8示意性示出了根据本公开实施例的服务器升级装置的结构框图;以及
43.图9示意性示出了根据本公开实施例的适于实现服务器升级方法的电子设备的方框图。
具体实施方式
44.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
45.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
46.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
47.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或
具有a、b、c的系统等)。
48.信息技术(information technology,简称it),是主要用于管理和处理信息所采用的各种技术的总称。它主要是应用计算机科学和通信技术来设计、开发、安装和实施信息系统及应用软件。它也常被称为信息和通信技术(information and communications technology,简称ict)。信息技术的研究包括科学,技术,工程以及管理等学科。信息技术的应用包括计算机硬件和软件、网络和通讯技术以及应用软件开发工具等。在银行等金融组织中,信息技术体系结构是一个为达成战略目标而采用和发展信息技术的综合结构,包括管理和技术的成分,其中管理成分包括使命、职能与信息需求、系统配置和信息流程,而技术成分包括用于实现管理体系结构的信息技术标准、规则等。
49.it运维监控(即it综合管理系统)是一系列基于数据中心平台的it管理产品的统称,它所包含的产品功能强大、易于使用、解决方案齐全,可一站式满足用户的各种it管理需求。it运维监控具有性能稳定、用户界面友好、跨平台、易实施、易集成等特点,可极大地简化it设施和业务系统的监控管理、提高用户的it管理效率、通过故障预警和快速定位,确保用户的网络设备和业务系统的正常运行,特别适合于电信、电力、教育、服务机构、金融/银行、医疗、交通、政府等众多行业客户。越来越多的客户都在考虑或采纳业务集中的方案。然而业务系统集中后,不仅增加运行维护的工作强度,而且会使集中的系统变得更加繁杂。有效的系统和应用监控体系成为了解业务资源的使用状况,及时发现可能导致系统故障的隐患,实现系统运营保障的关键。另一方面,借助于集中监控解决方案,用户能够正确和及时地了解系统的运行状态,发现影响整体系统运行的瓶颈,帮助系统人员进行必要的系统优化和配置变更,甚至为系统的升级和扩容提供依据。强有力的监控和诊断工具还可以帮助运行维护人员快速地分析出应用故障原因,把他们从繁杂重复的劳动中解放出来。维护人员快速地分析出应用故障原因,把他们从繁杂重复的劳动中解放出来。因此,很多应用企业的it部门提出建立集中it管理系统的需求,监控的内容包括网络、服务器、数据库、中间件和应用。通过集中监控系统及时发现系统中的故障,减少故障处理时间。当前,集中it管理系统可以基于如数据中心的大型数据设备系统来实现。其中,对于数据中心所以来的数据开发和数据运维平台而言,可以适用于具有一定it规模基础的单位和部门,如银行、证券、电信、政府、医疗、教育、保险、广电、铁路、民航、烟草、军工以及大中型企业用户等。
50.金融业的快速发展,使得其相应的数据信息系统的规模也在快速扩张。目前,以典型的金融it系统的数据中心为例,可以发展成为网络覆盖面积数百万平方米,服务器规模高达300台以上,终端和网络设备规模达到5000台,且涵盖业务办理、服务开发、信息安全、数据管理、商业应用等多个核心业务系统,服务用户超过几万甚至几十万人以上的大型多源异构信息系统。
51.随着数据中心的规模持续扩大,业务应用的不断增加,服务用户对象的日益增多,数据中心运维管理人员必然将要面临着业务种类繁多以及相应的设备类型、设备中的业务服务专业对象类型、专业对象的代理服务类型等繁杂的情况,造成各类资料信息分散,版本难以统一,导致一线运维人员无法在第一时间及时准确地实现信息运维管理,并有效整体掌控网络和系统运行情况,且二线管理人员无法了解未来网络及系统运行的趋势。
52.互联网、人工智能、物联网等信息技术的应用正在快速改变着人们的生活和工作方式,甚至有些工作岗位已经被人工智能所取代,技术应用的同时产生了大量的数据信息,
承载这些数据的服务器通过集群的形式形成大规模数据中心。大规模是一种以高速扩展满足超级需求的能力,用于应对日益增长的数据存储需求,可以快速增加容量能力,具有最佳性能的空间增加,功能、计算、内存、网络基础架构和存储资源是通常定义大规模数据中心的方式。数据中心可以支持数百个乃至上万个物理服务器以及数百万个虚拟机。
53.对于数据中心而言,其具有多种运维对象,如在提供it服务过程中所应用的各种it设备、管理工具、系统与数据以及运维人员等。其中,it设备主要包括存储、服务器、网络设备、安全设备等硬件资源。这类设备在向用户提供it服务过程中提供了计算、存储与通信等功能,是it服务最直接的物理载体;管理工具包括基础设施监控软件、it监控软件、工作流管理平台、报表平台、短信平台等,这类管理对象是帮助管理主体更高效地管理数据中心内各种管理对象,并在管理活动中承担起部分管理功能的软硬件设施,通过这些管理工具,可以直观感受并考证到数据中心如何管理好与其it直接相关的资源,从而间接地提升it的可用性与可靠性;系统与数据则包括操作系统、数据库、中间件、应用程序等软件资源,还有业务数据、配置文件、日志等各类数据,这类管理对象虽然不像前两类管理对象那样“看得见、摸得着”,但却是it服务的逻辑载体;运维人员包括数据中心的技术人员、it运维人员、管理人员以及提供服务的厂商人员,人员一方面作为管理的主体负责管理数据中心运维对象,另一方面也作为管理对象,支持it的运行,这类对象与其他运维对象不同,具有很强的主观能动性,其管理的好坏将直接影响到整个运维管理体系,而不仅仅是运维对象本身。
54.现有技术中,由于系统专业对象(如操作系统、数据库、中间件、存储等)根据不同厂商所提供的应用版本、不同时间的升级版本等都可能存在差异,在服务器端针对系统专业对象进行脚本任务的批量调度执行过程中,尚需要在服务器端针对各个专业对象分别编写单独的如crontab读取指令或脚本任务进行分别执行,每次都需要人工维护更新执行脚本,无法根据运维需求集中统一调度多个专业对象的批量脚本任务,使得批量任务处理执行过程操作十分复杂、对人工干涉的依赖较大,精确度低且执行效率低下。
55.进一步地,对于每个专业对象而言,不同类型和版本的应用代理(如agent应用)也在上述复杂多样的专业对象基础上进一步提升了代理服务信息管理的难度。其中,以应用代理所应用的各个服务器的信息升级过程而言,不同类型的服务器所应用的专业对象不同,对应不同专业对象的代理agent的版本和类型也各有不同,当对这些服务器的所应用的代理agent及相应专业对象的信息执行升级时,一般需要通过人力逐一修改或者导入相应的升级参数来完成数据升级任务,甚至于连基本的升级任务消息都需要人力区分导入。因此,如前述所言情况,繁复的版本和类型势必造成升级程序的任务过于繁琐,运维效率低下,且极易造成大规模生产事故,不利于数据中心的多个专业对象的统一运维管理。
56.为解决现有技术中因专业对象和对应代理应用版本和类型繁杂所存在的缺乏统一的有效实现对应多个专业对象运维管理的服务器信息升级操作,造成专业对象运维管理执行效率低下的技术问题,本公开提供了一种适用于大规模数据中心,且能适配各种版本的各种专业对象,支持针对相应服务器对象和代理升级操作任务的推送与自动化执行,并能够最大化降低一线系统侧的运维成本的服务器升级方法、装置、设备、介质和程序产品。
57.需要说明的是,本公开实施例的上述服务器升级方法和装置可用于大数据技术领域和人工智能技术领域,也可用于金融领域以及金融领域之外的任意领域,本公开实施例的服务器升级方法和装置的应用领域不做限定。
58.在本公开的技术方案中,所涉及的包括用户个人信息等数据的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。其中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
59.本公开的实施例提供了一种服务器升级方法,包括:识别接收的业务任务消息为更新任务消息;根据所述更新任务消息,获取对应服务器的服务器升级数据;以及根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级。
60.图1示意性示出了根据本公开实施例的服务器升级方法的应用场景图。
61.如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103、网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
62.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
63.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
64.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
65.需要说明的是,本公开实施例所提供的服务器升级方法一般可以由服务器105执行。相应地,本公开实施例所提供的服务器升级装置一般可以设置于服务器105中。本公开实施例所提供的服务器升级方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的服务器升级装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
66.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
67.基于数据中心的服务器集群可以用于办理各类业务事项,其中,该服务器集群中的每个服务器中都具有相应的多个专业对象,专业对象所对应的代理模块(如agent等)因多样化原因,会进一步增加集群专业对象管理的难度。因此,为实现对集群中所有服务器的专业对象的统一管理,提升服务器数据升级管理效率和精准度,降低升级程序中生产事故率,本公开提供下服务器升级方法以应用于专业对象管理。
68.以下将基于图1描述的场景,通过图2~图9对公开实施例的服务器升级方法进行详细描述。
69.图2示意性示出了根据本公开实施例的服务器升级方法的流程图。
70.如图2所示,该实施例的服务器升级方法包括操作s201~操作s203。
71.在操作s201中,识别接收的业务任务消息为更新任务消息;
72.在操作s202中,根据所述更新任务消息,获取对应服务器的服务器升级数据;以及
73.在操作s203中,根据所述服务器升级数据对应的跨版本关系执行所述服务器的升
级。
74.业务任务消息为用户通过输入设备输入的应用于专业对象管理的任务消息或者执行指令、数据等。其中,业务任务消息可以用于指定相应服务器实现专业对象及其相关代理模块的升级更新程序,也可以用于指定相应服务器实现对应的业务处理程序,实现对专业对象的统一管理操作。因此,需要对该业务任务消息进行识别,可以通过该业务任务消息的消息标识或类似标示性参数判断该业务任务消息应用于专业对象等的数据升级更新,则可以确认该业务任务消息属于更新任务消息;反之,判断该业务任务消息应用于专业对象等的任务执行操作,则可以确认该任务消息属于执行任务消息。其中,本公开实施例的用户一般可以指代相应的数据中心的运维管理人员或者系统维护人员等技术人员。
75.服务器升级数据为对应服务器针对自身的专业对象及其相关代理模块进行数据升级的升级数据。当判断确认该业务任务消息为更新任务消息时,通过该更新任务消息可以对应地匹配相应的服务器升级数据以用于对相应服务器的专业对象的升级更新以及与该专业对象相匹配的代理模块等其他模块内容的升级更新。
76.跨版本关系为服务器升级数据的版本信息或者类型信息与原专业对象以及匹配的代理模块的版本信息或类型信息之间的版本或类型对应关系,能够体现服务器升级数据的版本或者类型与当前专业对象和代理模块的版本或者类型之间的版本差异程度,版本类型差异越大跨版本程度越大,反之,跨版本程度越小。跨版本的程度可以用于决定服务器升级数据的升级更新进程和升级更新内容,从而实现对多专业对象和多代理模块的服务器的精准化、自动化以及智能化升级,便于实现对专业对象的统一管理,提高管理效率和精度。
77.基于上述的本公开实施例的服务器升级方法,可见由于其可以通过更新任务消息和执行任务消息的识别区分,并能够根据服务器升级数据的跨版本关系对应的执行服务器升级操作,能够适用于大规模数据中心,覆盖众多平台及专业对象,便于一线生产运维人员分析统计,及时掌握生产情况并处理,大大降低了生产运维成本,简化并提高了运维便捷性。
78.因此,相对于现有技术中只能通过人工操作的形式进行数据升级的过程,本公开的服务器升级方法可以适用于大规模数据中心,且能适配各种版本的各种专业对象和代理应用,支持针对相应服务器对象和代理升级操作任务的推送与自动化执行,并能够最大化降低一线系统侧的运维成本,能够在保证任务执行精度的情况下,进一步提升服务器信息升级的执行效率,从而实现专业对象和代理的统一升级管理,具有更高程度的自动化、智能化水平,提高数据中心的运维管理效率,降低生产事件的产生概率。
79.图3示意性示出了根据本公开实施例的服务器升级方法的另一应用场景图;图4示意性示出了根据本公开实施例的服务器升级方法的任务消息处理流程图。
80.如图3所示,本发明的大规模数据中心集群可以包括一级机构storm服务器301、mq服务器集群302、介质服务器303、专业对象服务器集群304。其中,专业对象服务器集群304的各个相应服务器的对应专业对象部署在所有开放平台服务器304a-304d等,每个专业对象服务器集群都部署相应的agent代理模块,该专业对象的服务器304a-304d上层连接一级机构mq服务器集群302(如active mq服务器集群)和介质服务器303。其中,各个服务器之间可以通过21591端口作为数据通道或消息通道连接,通过21592端口用于传输经过mq服务器集群302的各个服务器302a-302c或者介质服务器303的介质数据,其中,该介质数据可以是
相应的实时更新的升级信息内容。在mq服务器集群302内部可以通过broker实现消息在集群内部的转发。具有通用代理的专业对象服务器集群304可以通过一级机构active mq服务器集群302与一级机构storm服务器301连接,实现接收和上传业务消息。介质服务器303一般可以用来存放实时更新的dcap agent升级包、脚本库和脚本依赖介质等升级信息内容的服务器,其主要可以通过21592端口用于文件或者数据传输。
81.其中,对于专业对象服务器集群304可以包括服务器304a-304d等,每个服务器都对应不同的专业对象,如服务器304a设置有suse linux操作系统作为该服务器304a的专业对象,同时匹配相应的agent代理模块作为对应的通用代理,相应地,专业对象可以选择如aix、windows、redhat、hp-ux、solaris、ubuntu、bclinux、gentos、neokylin等操作系统,对应每个操作系统都匹配一对应通用代理模块(如agent)。
82.因此,基于上述服务器集群实现的本公开实施例的服务器升级方法,可以在相应的服务器升级操作的执行过程更好地遵循高内聚、低耦合原则,具备良好的模块化设计,覆盖面广,安装通用简单,具备推广价值。
83.如图2-图4所示,根据本公开的实施例,在操作s201所述识别接收的业务任务消息为更新任务消息之前,还包括:
84.建立所述服务器的监听消息线程;
85.根据所述监听消息线程,获取所述业务任务消息。
86.如图3所示,专业对象服务器集群304的每个服务器(即服务器304a-304d中之一)可以通过自身专业对象的匹配通用代理模块(即agent)的通用代理进程创建与一级机构mq服务器集群302的对应服务器之间的连接关系,创建一个可以用于监听mq服务器(如302a-302c)的业务消息的线程作为上述监听消息线程,从而可以借助于该监听消息线程主动从一级机构mq服务器集群获取来自一级机构storm服务器301的业务任务消息,如图4所示操作s402-s403。
87.在此之前,需要创建mq消费者,使得mq服务器集群能够根据该mq消费者的创建,可以对一级机构storm服务器301发起任务消息获取进程,如图4所示操作s401。将一级机构storm服务器301所下发的任务消息分发到mq服务器集群302中的对应服务器里,形成消息队列,以利于专业对象服务器集群304可以通过监听消息线程对该任务消息进行即时调取。
88.借此,可以通过监听消息线程,准确地获取匹配的业务任务消息,以构成各个服务器集群之间的稳定的数据消息传输通道,利于实现高效、统一的服务器集群管理。
89.如图2-图4所示,根据本公开的实施例,在所述根据所述监听消息线程,获取所述业务任务消息中,包括:
90.根据所述监听消息线程定时执行消息监听任务;
91.根据所述消息监听任务的执行,获取所述业务任务消息。
92.通过监听消息线程,通用代理进程可以定时对mq服务器集群中的队列消息执行定时监听,并将监听到的队列消息中的业务任务消息发给通用代理服务器(如304a-304d),即完成消息监听任务的执行。其中,消息监听任务即用于该通用代理进程对mq服务器集群302中的队列消息的消息监听获取任务,如图4所示操作s402。
93.执行该消息监听任务,该通用代理进程才能够进一步创建任务执行线程,通过该任务执行线程执行任务消息获取操作,从mq队列中获取相应的业务任务消息,将相应的任
务消息调取至通用代理进程待用,如图4所示操作s403。
94.因此,能够基于监听消息线程通过消息监听任务的自动化执行,实现对消息队列中的业务任务消息的自动调取,提升整个消息处理过程的自动化水平,降低人力操作成本。
95.其中,对于所获取的业务任务消息,在作进一步的消息处理之前,需要对该业务任务消息进行判断确认,以便于识别该业务任务消息的任务类型,从而减少人力区分任务的操作。
96.如图2-图4所示,根据本公开的实施例,在操作s201所述识别接收的业务任务消息为更新任务消息中,包括:
97.解析所述业务任务消息,获取对应的任务属性参数;
98.根据所述任务属性参数识别所述业务任务消息为所述更新任务消息。
99.如图4所示操作s404中,对该通用代理进程所获取的业务任务消息执行解析操作,获取该业务任务消息的类型标识参数作为其对应的任务属性参数,该任务属性参数用于对该业务任务消息的执行类型进行标识。若该任务属性参数为执行类参数,确认该业务任务消息的任务类型为执行任务类型,该业务任务消息为执行任务消息,如图4所示操作s404-s407;然而,若该任务属性参数为更新类参数,则确认该业务任务消息的任务类型为更新任务类型,该业务任务消息为更新任务消息,如图4所示操作s404-s405。
100.不同的任务类型,则该业务任务消息的处理操作也有所不同,以进一步增强该服务器升级操作过程中对数据消息处理的精准性。如前述所言,如果判断是更新任务消息,则主要涉及通用代理信息的升级更新管理,任务执行线程会并发地执行该类型任务来更新通用代理的软件版本信息和专业对象的脚本信息等,如接收下发文件、更新脚本库、更新通用代理版本等。
101.因此,通过上述对业务任务消息的任务属性参数的分析,可以实现对所接收的任务消息的类型判断,并实现对更新任务消息和执行任务消息的识别和自动化进程处理。其中,对于更新任务消息的执行过程,主要涉及专业对象服务器集群的对应服务器的通用代理模块的版本升级(即agent升级,如图4所示操作s406a)和专业对象的脚本升级(即脚本升级),如图4所示操作s406b。
102.图5示意性示出了根据本公开实施例的服务器升级方法的agent升级处理时序图。
103.如图2-图5所示,根据本公开的实施例,在操作s202所述根据所述更新任务消息,获取对应服务器的服务器升级数据中,包括:
104.响应于所述更新任务消息,通过下行数据链路下发代理升级数据;
105.通过所述服务器的监听消息线程,获取所述代理升级数据至所述服务器;
106.其中,所述服务器升级数据包括所述代理升级数据。
107.如图5所示,对于专业对象所匹配的通用代理的版本升级操作,在操作s501中,自服务平台510可以响应于上述更新任务消息,发起通用代理版本更新任务,并从自服务业务平台510下发通用代理版本包作为代理升级数据,通过下行数据链路下发至一级机构mq 520。该下行数据链路为自服务业务平台至一级机构mq之间进行数据或者消息传输的链路通道,用于构成更新任务消息所对应的代理升级数据的传输通道。其中,通用代理版本包为该更新任务消息所对应的用于通用代理agent版本升级的数据升级文件介质包,基更新介质包。
108.在操作s502中,通用代理进程通过agent模块530a与一级机构mq 520之间建立的监听消息线程的连接关系,利用21591端口监听到该代理升级数据对应的更新任务消息,同时利用21592端口接收该更新任务消息对应的代理升级数据至本地的专业对象服务器304a-304d中至少之一。
109.在操作s503a-s503b中,通用代理进程的agent模块530a成功接收到操作s502的版本升级的更新任务消息和代理升级数据,则返回接收消息和升级数据成功的结果消息反馈给一级机构mq 520,并由一级机构mq 520向上层自服务器平台510继续返回该任务结果,完成任务获取的反馈过程。
110.因此,可以实现对更新任务消息对应的代理升级数据的自动化匹配获取,相对于传统的人工操作匹配过程,该代理升级数据的操作过程更为快捷有效,可以很好地防止代理升级数据和更新任务消息的调取卡顿的情况。
111.如图2-图5所示,根据本公开的实施例,在所述通过所述服务器的监听消息线程,获取所述代理升级数据至所述服务器之后,还包括:
112.匹配所述更新任务消息所对应的代理升级数据与所述服务器中的代理配置数据的版本号信息,确定所述跨版本关系;
113.根据所述跨版本关系,获取对应服务器的代理基础升级数据;
114.其中,所述服务器升级数据还包括所述代理基础升级数据,所述跨版本关系为所述代理升级数据与所述服务器中的代理配置数据之间的版本对应关系。
115.如图5所示,在操作s504中,一级机构mq 520从操作s502中收到的代理升级数据和更新任务消息发送至通用代理主进程,,其对应agent模块530a会将接收到更新任务消息中对应的代理升级数据的版本号信息与通用代理agent模块530a中的代理配置文件中代理配置数据的版本号信息进行匹配,判断当前的更新任务消息所对应代理升级数据是否跨了一个大版本号。
116.其中,对于agent模块530a而言,每个agent的基础软件服务数据作为代理配置数据都具有唯一标识且符合预设的代理开发标识规则的标识版本号,该标识版本号作为该代理配置数据的版本号信息的内容可以对该代理配置数据的当前版本进行定义。相应地,代理升级数据也具有相应的标识版本号,该标识版本号作为该代理升级数据的版本号信息的内容可以对该代理升级数据对应的代理更新配置数据的版本进行定义,该代理更新配置数据为该代理升级数据在执行相应的升级操作之后生成的配置数据。
117.对于跨版本关系而言,当所述代理升级数据与所述服务器中的代理配置数据之间的版本对应关系满足跨大版本号的情况下,该跨版本关系成立。例如,对于agent模块的基础软件服务的代理配置数据和更新任务消息的代理升级数据的版本号信息满足“agent_a.b.c.d.zip”的版本号设置规则。其中,对于“agent_1.0.0.0.zip”而言为一大版本号,相应的“agent_1.0.0.1.zip”、“agent_1.0.0.2.zip”和“agent_1.0.0.3.zip”等则均为该“agent_1.0.0.0.zip”大版本号下对应的小版本号,即d不同于a、b和c,且不为0的版本为“agent_a.b.c.0.zip”的增量版本或理解为子版本,而相应的“agent_1.0.1.0.zip”的另一大版本号及其对应的“agent_1.0.1.1.zip”该大版本号下的小版本号相对于该“agent_1.0.0.0.zip”的大版本号及其相应小版本号都属于跨大版本号。换言之,若代理升级数据的版本号信息满足“agent_1.0.0.0.zip”,而代理配置数据的版本号信息满足“agent_
1.0.0.1.zip”,则二者之间的跨版本关系不成立;若代理升级数据的版本号信息满足“agent_1.0.0.0.zip”,而代理配置数据的版本号信息满足“agent_1.0.1.1.zip”,则二者之间满足跨大版本关系,跨版本关系成立。
118.当上述跨版本关系成立时,可以说明上述代理升级数据相对于代理配置数据的升级更新为跨大版本更新,进一步地执行相应的跨大版本更新升级任务。在执行该跨大版本的更新升级任务时,可以通过如图3所示介质服务器303获取待更新的大版本基础介质包作为代理基础升级数据至本地专业对象服务器,如此可以完成上述代理基础升级数据获取。其中,该代理基础升级数据作为代理升级数据的全量升级数据,用于在执行升级操作之后建立代理升级数据的升级更新环境,使得代理升级数据的升级操作更为快速高效,同时能够实现该代理升级数据更为完整的升级操作,确保后续的agent模块530a能够实现更好的通用代理服务。
119.如图2-图5所示,根据本公开的实施例,在操作s203所述根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级中,包括:
120.响应于所述服务器升级数据的代理升级数据和所述代理基础升级数据,调取重启执行进程执行所述服务器的升级。
121.agent模块530a通用代理进程确认接收到所有的版本更新包(即大版本代理基础升级数据和代理升级数据)后,会调起restart模块530b的重启执行进程进行通用代理模块的版本升级更新,如图5所示操作s505。其中,重启执行进程是对该通用代理模块所在的服务器执行重启程序的线程,用于实现对该服务器的运行参数进行重启处理,实现该服务器的数据升级。
122.通过上述重启执行进程可以实现根据上述符合跨版本关系的代理升级数据和代理基础升级数据针对服务器的自动化升级,建立了升级数据调取和数据升级更新之间的对应关系,从而能够突破现有技术中只能通过人工选择判断进行数据调取和升级操作的现状,进一步提升整个升级操作的自动化和智能化水平,确保数据升级的准确性。
123.如图2-图5所示,根据本公开的实施例,在所述响应于所述服务器升级数据的代理升级数据和所述代理基础升级数据,调取重启执行进程执行所述服务器的升级中,包括:
124.响应于所述重启执行进程的调取,解压所述代理基础升级数据,建立基础升级环境;
125.根据所述基础升级环境,解压所述代理升级数据;
126.响应于所述代理升级数据的解压,更新所述服务器的代理配置数据并执行所述重启执行进程,完成所述服务器的升级。
127.通过restart模块530b启动重启执行进程后,会将agent模块530a的通用代理进程停止,如图5所示操作s506。
128.在停止了agent模块530a的通用代理进程后,如果确认上述代理升级数据满足跨大版本的跨版本关系,即跨版本关系成立,则通过restart模块530b对代理基础升级数据的大版本介质包进行解压至本地服务器的指定目录,建立用于为代理升级数据进行升级更新操作的基础升级环境,如图5所示操作s507。
129.完成了上述的大版本介质包解压升级操作之后,restart模块530b进一步可以基于上述基础升级环境,对上述获得的需要更新的代理升级数据的增量介质包进行解压,并
覆盖到本地指定路径,如图5所示操作s508。
130.完成了上述的增量介质包更新后,restart模块530b则会修改本地通用代理agent模块530a中的代理配置数据文件中的代理版本号,对该agent模块530a的版本信息进行更新,完成对该服务器的agent代理模块的版本升级操作,如图5所示操作s509。
131.因此,借助于上述的重启执行进程的调用,可以根据跨版本关系,智能化区分升级环境的建立需求,对上述的服务器代理配置数据进行高效地更新升级,具有高内聚、低耦合的特点,能够适用于大规模数据中心的通用代理服务器集群的精准化、自动化升级管理操作,减少升级操作的占用时长,实现对相应的专业对象的匹配升级,降低升级管理事故率,节省人力操作成本,提高统一管理效率。
132.如图2-图5所示,根据本公开的实施例,在操作s203所述根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级中,还包括:
133.根据所述跨版本关系,调取重启执行进程执行所述服务器的升级。
134.如前述所言,当上述跨版本关系不成立时,可以说明上述代理升级数据相对于代理配置数据的升级更新非跨大版本更新,进一步可以直接执行相应的代理升级任务。在执行该代理升级数据的更新升级任务时,可以直接以之作为代理升级操作的增量升级数据,通过restart模块530b调取重启执行进程执行该服务器的升级操作。
135.如此,相对于前述的跨大版本的更新过程,可以智能化区分升级环境的建立需求,直接实现对服务器的代理版本升级,无需担心升级环境对升级数据的影响,进一步加快数据升级的操作速度,对上述的服务器代理配置数据进行高效地更新升级,具有高内聚、低耦合的特点,能够适用于大规模数据中心的通用代理服务器集群的精准化、自动化升级管理操作,减少升级操作的占用时长,实现对相应的专业对象的匹配升级,降低升级管理事故率,节省人力操作成本,提高统一管理效率。
136.如图2-图5所示,根据本公开的实施例,在所述根据所述跨版本关系,调取重启执行进程执行所述服务器的升级中,包括:
137.响应于所述重启执行进程的调取,解压所述代理升级数据;
138.响应于所述代理升级数据的解压,更新所述服务器的代理配置数据并执行所述重启执行进程,完成所述服务器的升级。
139.如前述图5所示操作s506,通过restart模块530b启动重启执行进程后,会将agent模块530a的通用代理进程停止。
140.在操作s508,在停止了agent模块530a的通用代理进程后,如果确认上述代理升级数据不能够满足跨大版本的跨版本关系,即跨版本关系不成立,则通过restart模块530b对代理升级数据的增量介质包进行解压至本地服务器的指定目录,直接跳过了如图5所示操作s507。
141.完成了上述的增量介质包更新后,restart模块530b则会修改本地通用代理agent模块530a中的代理配置数据文件中的代理版本号,对该agent模块530a的版本信息进行更新,完成对该服务器的agent代理模块的版本升级操作,如图5所示操作s509。
142.因此,基于上述跨版本关系的版本升级,可以对代理版本数据分别进行全量和增量的升级数据的判定,相对于现有技术中直接进行全量升级操作时,避免因不必要的全量升级执行过程所造成的资源占用问题,能够自由匹配全量和增量升级操作。如此,相对于前
述的跨大版本的更新过程,可以智能化区分升级环境的建立需求,直接实现对服务器的代理版本升级,无需担心升级环境对版本升级数据的影响,进一步加快数据升级的操作速度,对上述的服务器代理配置数据进行高效地更新升级,具有高内聚、低耦合的特点,能够适用于大规模数据中心的通用代理服务器集群的精准化、自动化升级管理操作,减少升级操作的占用时长,实现对相应的专业对象的匹配升级,降低升级管理事故率,节省人力操作成本,提高统一管理效率。
143.此外,如图5所示,在操作s510-s512中,在restart模块530b完成上述代理配置数据的文件版本信息的更新后,便会触发重启agent模块530a的通用代理进程。agent模块530a的通用代理进程启动后,会将agent模块530a所获取的更新之后的升级版本注册信息以心跳形式上送至一级机构mq 520。进一步地,一级机构mq 520将上述心跳发送的升级版本注册信息通过上行数据链路返回给自服务平台并写入注册信息日志。
144.因此,在本公开实施例中,agent通用代理的版本升级可以通过自服务页面的批量更新和一键更新两项功能灵活发起。自服务平台510则可以将agent的代理升级数据的介质包以blobmessage消息的形式通过下行数据链路下发到一级机构mq 520,通过mq消息消费者监听消息,接收该代理升级数据的介质包并返回接收结果。成功接收该代理升级数据后,根据本次代理升级数据的升级更新是否为跨大版本更新,如果满足跨大版本更新,agent到介质服务器获取最新的大版本介质包作为代理基础升级数据,然后通过调起restart进程停止了agent、schedule和daemon等其他的主进程,进行介质包解压覆盖并更新配置文件,最后重启上述停止的主进程完成升级任务。
145.可见,根据跨版本关系可以实现对代理升级数据的更新升级操作的进一步精细化,从而能够确保在满足跨版本关系的情况下,实现对代理基础环境的升级和代理升级数据包的更新,从而保证代理升级数据的升级操作更加稳定可靠,实现更为准确的升级过程,升级操作速度更快更简约,防止人为干扰,避免升级操作匹配操作;此外,还可以确保在不满足跨版本关系的情况下,直接实现对代理升级数据的更新操作,保证代理升级数据的直接升级,更为快速、高效、便捷和准确,有效降低升级管理的生产事故率。
146.图6示意性示出了根据本公开实施例的服务器升级方法的脚本升级处理时序图。
147.如图2-图6所示,根据本公开的实施例,在操作s202所述根据所述更新任务消息,获取对应服务器的服务器升级数据中,包括:
148.响应于所述更新任务消息,通过下行数据链路下发脚本升级数据;
149.通过所述服务器的监听消息线程,获取所述脚本升级数据至脚本分区队列;
150.其中,所述服务器升级数据包括所述脚本升级数据。
151.如图6所示,对于专业对象的脚本升级操作,wide模块610可以响应于上述更新任务消息,在发起通用代理版本更新任务的同时,发起专业对象的脚本更新任务,并从图3所示介质服务器303获取到脚本介质包作为脚本升级数据,利用任务下发的下行数据链路下发该脚本升级数据至指定一级机构storm 620,如图6所示操作s601。进一步地,利用一级机构mq 630和该一级机构storm 620之间的数据传输关系,将上述脚本升级数据和更新任务消息等一并发送至该一级机构mq 630的消息队列中。其中,相应一级机构mq 630可以具有多个不同类型的脚本分区队列,可以为所存入待处理的消息数据进行排队或存储,脚本分区队列为对应不同mq分区的脚本相关的消息处理队列,如topic队列以及media队列等。
152.此时,通过与该专业对象所在服务器的匹配通用代理的agent模块和一级机构mq 630之间建立连接的监听消息线程,利用21591端口监听并获取一级机构mq 630的更新任务消息和匹配的脚本升级数据,如图6所示操作s604。其中,wide模块610可以是如同上述自服务平台510的业务收发处理模块或组成。如图6所示操作s602,当前一级机构storm 620获取到前述的脚本升级数据的脚本介质包后,被一级机构storm 620下发至一级机构active mq 630的topic队列,用于分区待处理排队,如图6所示操作s602。
153.同时,一级机构storm 620的模块还会将上述的脚本升级数据的脚本介质包,同时下发至一级机构mq 630的media队列,以使得一级机构mq 630的media队列在收到该脚本介质包后,会将该介质包存放到介质服务器650(即如图3所示介质服务器303)的指定目录中作为存储数据待用,如图6所示操作s603和s605。
154.因此,可以实现对更新任务消息对应的脚本升级数据的自动化匹配获取,相对于传统的人工操作匹配过程,该脚本升级数据的操作过程更为快捷有效,可以很好地防止脚本升级数据和更新任务消息的调取卡顿的情况。
155.如图2-图6所示,根据本公开的实施例,在所述通过所述服务器的监听消息线程,获取所述脚本升级数据至脚本分区队列之后,还包括:
156.匹配所述更新任务消息所对应的脚本升级数据与所述服务器接收的脚本配置数据之间的脚本号信息,确定所述跨版本关系;
157.根据所述跨版本关系,获取对应服务器的脚本基础升级数据;
158.其中,所述服务器升级数据还包括所述脚本基础升级数据,所述跨版本关系为所述脚本升级数据与所述服务器接收的脚本配置数据之间的脚本对应关系。
159.如图6所示,在操作s606中,一级机构mq 630从操作s602中收到的脚本升级数据和更新任务消息发送至通用代理主进程,其对应agent模块640会将接收到更新任务消息中对应的脚本升级数据的脚本号信息与agent模块640所获取的本地服务器的专业对象的脚本配置文件中脚本配置数据的脚本号信息进行匹配,判断当前的更新任务消息所对应脚本升级数据是否跨了一个大版本号。
160.其中,对于专业对象而言,每个专业对象的基础软件服务数据作为脚本配置数据都具有唯一标识且符合预设的脚本开发标识规则的标识脚本号,该标识脚本号作为该脚本配置数据的脚本号信息的内容可以对该脚本配置数据的当前脚本进行定义。相应地,脚本升级数据也具有相应的标识脚本号,该标识脚本号作为该开脚本升级数据的脚本号信息的内容可以对该脚本升级数据对应的脚本更新配置数据的脚本进行定义,该脚本更新配置数据为该脚本升级数据在执行相应的升级操作之后生成的配置数据,与其对应的专业对象所匹配。
161.对于跨版本关系而言,当所述脚本升级数据与所述服务器中专业对象的脚本配置数据之间的脚本对应关系满足跨大脚本号的情况下,该跨版本关系成立。例如,对于专业对象的基础软件服务的脚本配置数据和更新任务消息的脚本升级数据的脚本号信息满足“script_a.0.0.d.zip”的脚本号设置规则。其中,对于“script_1.0.0.0.zip”而言为一大脚本号,相应的“script_1.0.0.1.zip”、“script_1.0.0.2.zip”和“script_1.0.0.3.zip”等则均为该“script_1.0.0.0.zip”大脚本号下对应的小脚本号,即d为0的脚本是全量脚本包脚本,a相同且d非0的脚本则是该“script_a.0.0.d.zip”的全量脚本脚本下的增量脚本
或理解为子脚本,而相应的“script_2.0.0.0.zip”的另一大脚本号及其对应的“script_2.0.0.1.zip”该大脚本号下的小脚本号相对于该“script_1.0.0.0.zip”的大脚本号及其相应小脚本号都属于跨大脚本号。换言之,若脚本升级数据的脚本号信息满足“script_2.0.0.0.zip”,而代理配置数据的脚本号信息满足“script_2.0.0.1.zip”,则二者之间的跨版本关系不成立;若代理升级数据的脚本号信息满足“script_1.0.0.0.zip”,而代理配置数据的脚本号信息满足“script_2.0.0.1.zip”,则二者之间满足跨大脚本关系,跨版本关系成立。其中,该跨版本关系可以理解为跨大脚本关系。
162.当上述跨版本关系成立时,可以说明上述脚本升级数据相对于脚本配置数据的升级更新为跨大脚本更新,进一步地执行相应的跨大脚本更新升级任务。在执行该跨大脚本的更新升级任务时,可以通过介质服务器650获取待更新的大脚本基础介质包作为脚本基础升级数据至本地专业对象服务器,如此可以完成上述脚本基础升级数据获取,如图6所示操作s607。其中,该脚本基础升级数据作为脚本升级数据的全量升级数据,用于在执行升级操作之后建立脚本升级数据的升级更新环境,使得脚本升级数据的升级操作更为快速高效,同时能够实现该脚本升级数据更为完整的升级操作,确保后续的专业对象能够实现更好的专业对象服务。
163.如图2-图6所示,根据本公开的实施例,在操作s203所述根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级中,包括:
164.根据所述跨版本关系,解压所述脚本基础升级数据和所述脚本升级数据;
165.响应于所述脚本基础升级数据和所述脚本升级数据的解压,更新所述服务器的脚本配置数据。
166.当确认上述跨版本关系成立时,则直接通过agent模块640对确认接收到所有的脚本升级数据和脚本基础升级数据的脚本版本更新包进行解压操作,将相应的升级内容解压至专业对象所指定路径目录,以在本地服务器完成专业对象最新的脚本更新,如图6所示操作s608。
167.完成了上述脚本升级更新后,通过agent模块640可以修改本地专业对象中的脚本配置数据文件中的脚本号,对该专业对象的脚本信息进行更新,完成对该服务器的专业对象的脚本升级操作。
168.因此,借助于跨版本关系,智能化区分脚本升级需求,对上述的专业对象的脚本配置数据进行高效地更新升级,具有高内聚、低耦合的特点,能够适用于大规模数据中心的服务器集群脚本升级管理的精准化、自动化操作,减少升级操作的占用时长,实现对相应的通用代理的匹配升级,降低升级管理事故率,节省人力操作成本,提高统一管理效率。
169.如图2-图6所示,根据本公开的实施例,在操作s203所述根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级中,还包括:
170.根据所述跨版本关系,解压所述脚本升级数据;
171.响应于所述脚本升级数据的解压,更新所述服务器的脚本配置数据。
172.当确认上述跨版本关系不能成立时,则直接通过agent模块640对确认接收到脚本升级数据的脚本版本更新包进行解压操作,将相应的升级内容解压至专业对象所指定路径目录,以在本地服务器完成专业对象最新的脚本更新,如图6所示操作s608。
173.完成了上述脚本升级更新后,通过agent模块640可以修改本地专业对象中的脚本
配置数据文件中的脚本号,对该专业对象的脚本信息进行更新,完成对该服务器的专业对象的脚本升级操作。
174.因此,基于上述跨版本关系的脚本升级,可以对对象脚本数据分别进行全量和增量的升级数据的判定,相对于现有技术中直接进行全量升级操作时,避免因不必要的全量升级执行过程所造成的资源占用问题,能够自由匹配全量和增量升级操作。如此,相对于前述的跨大脚本的更新过程,可以智能化区分脚本需求,直接实现对专业对象的脚本升级,脚本升级操作更为稳定高效,进一步加快脚本升级的操作速度,对上述的服务器专业对象的脚本配置数据进行高效地更新升级,具有高内聚、低耦合的特点,能够适用于大规模数据中心的服务器集群的精准化、自动化脚本升级管理操作,减少脚本升级操作的占用时长,实现对相应的通用代理版本的匹配升级,降低脚本升级管理事故率,节省人力操作成本,提高统一管理效率
175.此外,如图6所示,在操作s609-s611中,在完成解压升级操作之后,通用代理的agent模块640会上送一条脚本更新结果的消息给一级机构mq 630。一级机构mq 630在收到该脚本更新结果的消息后,会进一步将其作为任务执行结果上送给一级机构storm 620进行机构消息的整合。最后,一级机构storm 620会汇总该机构下所有接收到本次脚本更新任务的客户端消息进行整合,向上层业务wide模块610反馈本次脚本版本更新任务的结果及进度。
176.因此,脚本版本升级任务由wide模块610发起,通过脚本库以blob message消息的形式下发到一级机构mq 620,agent模块640通过mq消息消费者监听消息,接收更新任务消息和脚本库介质包,并将脚本库介质包作为脚本升级数据。对比接收的脚本库脚本和现有脚本库脚本,若此次更新为跨大脚本更新时,agent模块640将从介质服务器650获取最新的全量脚本库进行覆盖更新;否则,此次更新不满足跨大脚本更新时,直接解压脚本升级数据的介质包进行此次脚本库的增量更新,上送更新结果。
177.如此,相对于前述的跨大脚本的更新过程,可以智能化区分脚本需求,直接实现对专业对象的脚本升级,脚本升级操作更为稳定高效,进一步加快脚本升级的操作速度,对上述的服务器专业对象的脚本配置数据进行高效地更新升级,具有高内聚、低耦合的特点,能够适用于大规模数据中心的服务器集群的精准化、自动化脚本升级管理操作,减少脚本升级操作的占用时长,实现对相应的通用代理版本的匹配升级,降低脚本升级管理事故率,节省人力操作成本,提高统一管理效率。
178.图7示意性示出了根据本公开实施例的服务器升级方法的守护消息处理流程图。
179.如图2-图7所示,根据本公开的实施例,在操作s202所述根据所述更新任务消息,获取对应服务器的服务器升级数据之前,还包括:
180.依次查询所述服务器的重启执行进程、代理执行进程和计划执行进程的进程状态信息;
181.根据所述进程状态信息,确定所述服务器的当前时刻的代理执行进程的实时占用状态,完成对所述代理执行进程的监护。
182.本公开实施例的上述服务器升级过程中,还需要守护进程自监控循环检查,属于后台模块,对外没有交互,主要负责守护通用代理主进程的正常启动,一旦发现进程不存在,则立即响应启动。依次监测重启执行进程(如restart进程)、代理执行进程(如agent进
程)和计划执行进程(如schedule进程)三个进程的运行状态,该进程的运行状态的监测信息为上述的进程状态信息。若进程状态信息反馈restart进程存在,自监控进程自动退出;若进程状态信息反馈restart进程不存在并且agent进程或schedule进程也不存在,则可以调起丢失的schedule进程,监控agent的主进程自身所占用的cpu、memory等性能消耗情况,作为上述代理执行进程的实时占用状态,并在该实时占用状态的性能占用数据一旦被发现超过性能消耗的上限时立即停止整个agent的代理执行主进程。
183.因此,借助于上述的监护进程的监护管理,可以实现对当前执行的代理执行主进程的系统资源占用的实时监测,并有效保证该代理执行主进程等进程的资源占用率保持在较低水平,防止因代理执行主进程等进程的资源占用过大导致的服务器的专业对象管理过程的服务器操作反应过慢、无响应甚至宕机的情况出现,进一步可以支持自动化版本管理,agent等进程的性能自监控,保证进程的正常运行及合理的资源使用记录,确保服务器异常可自愈,安全可靠,提升管理统一化、便捷化、自动化的运行水平。换言之,可以在保证对代理执行进程等进程的有效自监测的情况下,保证监护进程的资源占用率维持在较低水平。
184.如图2-图7所示,根据本公开的实施例,在所述依次查询所述服务器的重启执行进程、代理执行进程和计划执行进程的进程状态信息中,包括:
185.当查询的所述重启执行进程的当前进程状态为空时,查询所述代理执行进程;
186.当所述代理执行进程的当前进程状态为非空时,查询所述计划执行进程;
187.当所述计划执行进程的当前进程状态为非空时,通过调取所述计划执行进程,获取当前时刻的所述代理执行进程的实时占用状态;
188.其中,所述进程状态信息包括重启执行进程、代理执行进程和计划执行进程的当前进程状态。
189.如图7所示,监护主进程可以进行定时的自监测运行,即如每10s会依次获取通用代理及其对应的restart重启执行进程、agent代理执行进程和schedule计划执行进程的当前时刻的进程状态作为上述的进程状态信息,如操作s701所示。
190.进一步地,监护主进程在确定获取的restart进程的进程状态信息反馈的重启进程存在的情况下,表示通用代理主进程正在进行重启,守护进程则自动退出。相反,若该restart进程的进程状态信息反馈的重启进程不存在的情况下,则表示通用代理主进程目前没有在重启中,进一步对代理执行进程的agent的进程状态信息进行调取判断,如图7所示操作s702-s703。
191.进一步地,在上述restart进程不存在时,监护主进程在确定获取的agent进程的进程状态信息反馈的代理执行进程存在的情况下,表示通用代理主进程处于正常运行状态,则进一步对计划执行进程的schedule进程状态信息进行调取判断。相反,若该agent进程的进程状态信息反馈的重启进程不存在的情况下,则表示通用代理主进程目前处于挂起状态,则对代理执行进程的agent进程进行调取,并返回重复执行上述三个进程状态的获取操作,如图7所示操作s703、s704和s705。
192.当上述通用代理主进程处于正常运行状态,则守护进程在确定所获取的schedule进程的进程状态信息反馈的计划执行进程不存在的情况下,表示当前通用代理的监控进程已挂起,直接进行schedule进程的调起操作。相反,若确定所获取的schedule进程的进程状态信息的计划执行进程存在的情况下,监护进程会调起schedule进程,如图7所示操作
s705-s706。通过调起schedule进程可以直接进行当前时刻的代理执行进程实时占用状态的占用数据的获取。
193.因此,借助于上述监护进程对三个操作进程的逐级监测判断,可以通过该监护进程实现对当前的代理执行主进程当前运行状态和相应系统资源占用情况进行确认,完成监护进程对系统资源占用的实时监测,有效保证该监护进程的资源占用率维持在较低水平。
194.如图2-图7所示,根据本公开的实施例,在所述通过调取所述计划执行进程,获取当前时刻的所述代理执行进程的实时占用状态中,包括:
195.调取所述计划执行进程,确定所述当前时刻的所述代理执行进程的性能限定状态;
196.当所述性能限定状态为开启时,获取所述当前时刻的所述代理执行进程的实时占用状态。
197.监护进程完成了对三个模块进程的判断后,则会根据schedule进程的调起执行,来获取cpu和内存限定状态及存储于指定目录的相应状态指标的限定值,以用于反馈当前时刻的代理执行进程的性能限定状态。通过将cpu和内存限定状态的对应数据值与预设的状态指标的限定值之间的大小对比,来确定该性能限定状态是否为开启状态。对于开启状态的性能限定状态,则需要进一步获取相应的实时资源占用数据,以反应当前时刻的通用代理执行进程的实时占用状态;反之,对于关闭状态的性能限定状态,则直接返回重复执行该监护主进程的进程状态信息监测,如操作s708-s709。
198.其中,在监护进程获取到上述的性能限定状态之后,会获取当前通用代理执行进程对系统资源(如cpu及内存)的实时占用情况,作为其实时占用状态的反馈数据。利用该实时占用状态的反馈数据的当前实际占用数值,与预设的目标占用限定阈值进行比较,判断当前监护进程执行过程所实际占用的资源是否超过预设上限资源。如果未超过限定的目标限定阈值,则说明该监护进程及其相应的agent进程等的资源使用正常,守护进程返回重复执行进行新一轮的自监控循环;反之,若超过限定的目标限定阈值,则说明当前监护进程及其相应的agent进程等的资源占用过高导致资源使用异常,则需要主动停止通用代理执行进程、计划执行进程和监护进程,并进一步在停止上述进程滞后后返回重复执行新一轮的自监控循环,如操作s709-s711。
199.因此,借助于上述的监护进程的监护管理,可以实现在保证对代理执行进程等进程的有效自监测的情况下,保证监护进程的资源占用率维持在较低水平,防止因代理执行主进程等进程的资源占用过大导致的服务器的专业对象管理过程的服务器操作反应过慢、无响应甚至宕机的情况出现,进一步可以支持自动化版本管理,agent等进程的性能自监控,保证进程的正常运行及合理的资源使用记录,确保服务器异常可自愈,安全可靠,提升管理统一化、便捷化、自动化的运行水平。
200.如图2-图7所示,根据本公开的实施例,在所述解析所述业务任务消息,获取对应的任务属性参数之后,还包括:
201.根据所述任务属性参数识别所述业务任务消息为执行任务消息;
202.并发执行所述执行任务消息对应的多个业务执行任务。
203.如图4所示操作s404中,对该通用代理进程所获取的业务任务消息执行解析操作,获取该业务任务消息的类型标识参数作为其对应的任务属性参数,该任务属性参数用于对
该业务任务消息的执行类型进行标识。若该任务属性参数为执行类参数,确认该业务任务消息的任务类型为执行任务类型,该业务任务消息为执行任务消息,如图4所示操作s404-s407。不同的任务类型,则该业务任务消息的处理操作也有所不同,以进一步增强该服务器升级操作过程中对数据消息处理的精准性。
204.如前述所言,如果判断上述业务任务消息是执行类类型消息,则上述业务任务消息为执行任务消息,主要涉及通用代理任务以及其他相关业务任务的批量执行,即启动任务执行线程。其中,任务执行线程可以同时对如src任务、shc任务、bps任务、cmdb任务、ucm任务以及其他类型的业务任务等进行并发执行操作,实现对业务任务的执行,如图4所示操作s407。其中,相应的这些通用代理任务以及相关业务任务为上述的业务执行任务。
205.此外,任务执行完毕后,通用代理会将任务结果上送至一级机构mq中。一级机构mq接收到任务结果按业务模块进一步返回至一级机构storm,再整合机构信息返回到业务层,如图4所示操作s408。
206.因此,通过上述对业务任务消息的任务属性参数的分析,可以实现对所接收的任务消息的类型判断,并实现对更新任务消息和执行任务消息的识别和自动化进程处理。其中,对于执行任务消息的执行过程,主要涉及专业对象服务器集群的对应服务器的各种业务任务并发执行过程。
207.如图2-图7所示,根据本公开的实施例,该方法还包括:
208.通过执行代理信息采集脚本,上传对应所述服务器升级之后的代理注册信息;
209.通过执行对象信息采集脚本,上传对应所述服务器升级之后的对象注册信息。
210.在本公开实施例中,本公开实施例还同时存在通用代理的软件注册功能给集中框架定时发送agent的代理注册信息和专业对象的对象注册信息,以便一级机构和总行统一管理。该功能主要包括代理注册信息和对象注册信息上送两部分,频率可以均设置为1次/小时。每个采集周期,agent代理进程可以执行代理信息采集脚本,采集agent的代理注册信息并上送到一级机构mq,agent代理注册信息经过一级机构storm和总行mq到达总行storm,一级机构storm实时写入一级机构mysql,总行strom收到后同时写入总行redis和总行mysql库。其中,代理信息采集脚本为用于使得通用代理进程实现对代理注册信息采集的执行脚本,代理注册信息则为与专业对象相互匹配执行业务服务功能的通用代理进程的基础注册信息,可以包括相应的代理版本号信息等内容。其中,在完成服务器升级操作之后,可以实现对代理版本号信息等代理注册信息的更新覆盖。
211.进一步地,上送agent信息到一级机构mq之后或者同时,agent进程可以执行对象信息采集脚本,采集对象注册信息并上送到一级机构mq,对象信注册息经过一级机构storm和总行mq到达总行storm,总行strom写入到总行redis,httpserver每隔一个小时从redis读取并同步到总行mysql库。对象信息采集脚本则为用于使得通用代理进程实现对专业对象注册信息采集的执行脚本,对象注册信息则为与专业对象的基础注册信息,可以包括相应的专业对象脚本号信息等内容。其中,在完成服务器升级操作之后,可以实现对对象脚本号信息等对象注册信息的更新覆盖。
212.因此,基于上述本公开实施例的服务器升级方法,相对于现有技术中因专业对象种类繁杂及其对应的通用代理版本类型不一所造成的大都只能限于人工操作设置来实现专业对象管理的情况,提供了一种能够应用于大规模数据中心的通用代理和专业对象升级
管理方案,能够覆盖开放平台操作系统、存储、数据库、中间件等不同版本的不同专业对象,对其视作相同的专业对象进行消息信息处理;而且,支持服务器端版本介质分发更新,便于通用代理的统一管理;此外,能够代理自身实现性能自监控,保证进程的正常运行及合理的资源使用,一旦发现异常触发重启,并对资源情况进行实时记录。显然,能够大大降低了生产运维成本,解决了大规模数据中心下传统不同专业对象代理的管理复杂、步骤繁琐等问题,统一了代理版本统计升级和对象脚本介质更新等管理手段,使得一线运维变的简单直观,能够有效适用于linux、aix、neokylin、windows等各类开放平台环境,具有较好的普适性和推广性。
213.需要说明的是,该服务器的代理版本和对象脚本的升级更新管理方案可以作为能为大规模数据中心所适用的通用代理信息处理的解决方案,应用范围广泛,遍布行内大多数操作系统开放平台应用服务器。其中,具体使用开发语言可以包括java等开发运维语言,使用到的相关工具可以包括eclipse、jdk、activemq client、log4j、jna等开发运维平台。
214.基于上述服务器升级方法,本公开还提供了一种服务器升级装置。以下将结合图8对该装置进行详细描述。
215.图8示意性示出了根据本公开实施例的服务器升级装置的结构框图。
216.如图8所示,该实施例的服务器升级装置800包括消息识别模块810、数据获取模块820和升级执行模块830。
217.消息识别模块810用于识别接收的业务任务消息为更新任务消息。在一实施例中,消息识别模块810可以用于执行前文描述的操作s201,在此不再赘述。
218.数据获取模块820用于根据所述更新任务消息,获取对应服务器的服务器升级数据。在一实施例中,数据获取模块820可以用于执行前文描述的操作s202,在此不再赘述。
219.升级执行模块830用于根据所述服务器升级数据对应的跨版本关系执行所述服务器的升级。在一实施例中,升级执行模块830可以用于执行前文描述的操作s203,在此不再赘述。
220.根据本公开的实施例,消息识别模块810、数据获取模块820和升级执行模块830中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,消息识别模块810、数据获取模块820和升级执行模块830中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,消息识别模块810、数据获取模块820和升级执行模块830中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
221.图9示意性示出了根据本公开实施例的适于实现服务器升级方法的电子设备的方框图。
222.如图9所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如cpu)、指令
集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
223.在ram 903中,存储有电子设备900操作所需的各种程序和数据。处理器901、rom 902以及ram 903通过总线904彼此相连。处理器901通过执行rom 902和/或ram 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom 902和ram 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
224.根据本公开的实施例,电子设备900还可以包括输入/输出(i/o)接口905,输入/输出(i/o)接口905也连接至总线904。电子设备900还可以包括连接至i/o接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
225.本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
226.根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 902和/或ram 903和/或rom 902和ram 903以外的一个或多个存储器。
227.本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。
228.在该计算机程序被处理器901执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
229.在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分909被下载和安装,和/或从可拆卸介质911被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
230.在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,
和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
231.根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c++,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
232.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
233.本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
234.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1