掌桥专利:专业的专利平台
掌桥专利
首页

一种运维方法及系统

文献发布时间:2024-04-18 20:02:18


一种运维方法及系统

技术领域

本说明书涉及运维领域,尤其涉及一种运维方法及系统。

背景技术

随着互联网网络架构的日益复杂以及数据量的指数级增长,传统运维系统面临巨大压力,于是智能运维系统应运而生。智能运维系统在运维任务中应用深度学习、机器学习或者其它大数据分析技术以提升运维系统的智能化水平。但是,相关技术中的智能运维系统的智能化水平有限。

因此,需要提供一种智能化水平更高的运维方法和系统。

背景技术部分的内容仅仅是发明人个人所知晓的信息,并不代表上述信息在本公开申请日之前已经进入公共领域,也不代表其可以成为本公开的现有技术。

发明内容

本说明书提供一种运维方法及系统,能够提升运维系统的智能化水平。

第一方面,本说明书提供一种运维方法,能够与目标用户进行至少一轮对话,所述至少一轮对话中的每轮对话包括:接收所述目标用户的目标问题;基于任务识别模型识别所述目标问题,得到目标运维任务,其中,所述任务识别模型为大语言模型,所述目标运维任务包括调用目标运维模型解决所述目标问题,所述目标运维模型包括运维模型集中的至少一个;执行所述目标运维任务,得到目标运维结果;以及向所述目标用户输出所述目标运维结果。

在一些实施例中,所述目标问题的形式包括文本、语音或者图像中的至少一种。

在一些实施例中,所述运维模型集包括时序异常检测模型、时序预测模型、日志异常检测模型、关联分析模型或者根因分析模型中的至少两个。

在一些实施例中,所述基于任务识别模型识别所述目标问题,得到目标运维任务,包括:基于所述目标问题和预先设置的提示工程模板,得到规范化的目标提示数据;以及将所述目标提示数据输入所述任务识别模型,得到所述目标运维任务。

在一些实施例中,所述目标提示数据提示的操作内容包括至少基于目标提示信息从所述运维模型集中选取所述目标运维模型,所述目标问题中包括所述目标提示信息,所述基于所述目标问题和预先设置的提示工程模板,得到规范化的目标提示数据,包括:从所述目标问题中提取所述目标提示信息;以及至少将所述目标提示信息输入至所述提示工程模板中,得到所述目标提示数据。

在一些实施例中,所述至少基于目标提示信息从所述运维模型集中选取所述目标运维模型,包括:基于所述目标提示信息以及当前轮之前的对话内容从所述运维模型集中选取所述目标运维模型。

在一些实施例中,所述至少将所述目标提示信息输入至所述提示工程模板中,得到所述目标提示数据,包括:将所述目标提示信息以及所述当前轮之前的对话内容输入至所述提示工程模板中,得到所述目标提示数据。

在一些实施例中,所述当前轮之前的对话内容包括以下至少一种:当前轮之前的对话中的目标问题;所述当前轮之前的对话中的目标问题对应的目标运维任务;或者所述当前轮之前的对话中的目标问题对应的目标运维结果。

在一些实施例中,所述目标提示信息包括运维故障信息。

在一些实施例中,所述目标提示信息还包括所述目标用户的用户信息,所述用户信息表征所述目标问题所属的领域和/或系统。

在一些实施例中,所述大语言模型包括生成式语言模型。

在一些实施例中,所述大语言模型包括自编码模型或者自回归模型。

在一些实施例中,所述执行所述目标运维任务,得到目标运维结果,包括:基于所述目标运维任务,确定所述目标运维模型需要的运维数据;采集所述运维数据,并对所述运维数据进行相应的预处理,得到目标数据;以及将所述目标数据输入所述目标运维模型,所述目标运维模型输出所述目标运维结果。

在一些实施例中,在所述至少一轮对话结束后,所述方法还包括:基于所述每轮对话的目标运维结果,生成诊断报告,向所述目标用户输出所述诊断报告。

第二方面,本说明书还提供一种运维系统,包括:至少一个存储介质,存储有至少一个指令集,用于进行运维;以及至少一个处理器,同所述至少一个存储介质通信连接,其中,当所述运维系统运行时,所述至少一个处理器读取所述至少一个指令集,并且根据所述至少一个指令集的指示执行第一方面所述的运维方法。

由以上技术方案可知,本说明书提供的运维方法及系统能够基于目标用户的目标问题,使用大语言模型对目标问题进行识别,并针对识别得到的运维任务进行下游目标运维模型的选择以及运维任务的处理。由此可见,所述运维方法及系统通过大语言模型的使用以及大语言模型与运维模型的配合,将目标问题的识别以及目标运维任务的确定以及执行过程自动化,进而提升整个运维系统的智能化水平。并且,所述运维方法和系统可以基于用户的提问进行运维任务的处理。目标用户提问时只需要进行简单的问题描述即可,降低了描述运维问题的技术难度以及选择运维任务模型的专业化门槛。因此,所述运维方法及系统还能够提升用户体验。

本说明书提供的运维方法及系统的其他功能将在以下说明中部分列出。根据描述,以下数字和示例介绍的内容将对那些本领域的普通技术人员显而易见。本说明书提供的运维方法及系统的创造性方面可以通过实践或使用下面详细示例中所提供的方法、装置和组合得到充分解释。

附图说明

为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本说明书的一些实施例提供的一种运维系统的应用场景示意图;

图2示出了根据本说明书的一些实施例提供的计算设备的硬件结构示意图;

图3示出了根据本说明书的一些实施例提供的一种运维系统的架构图;

图4示出了根据本说明书的一些实施例提供的一种运维方法的流程示意图;

图5示出了根据本说明书的一些实施例提供的一种识别目标问题的流程示意图;

图6示出了根据本说明书的一些实施例提供的运维示例图;以及

图7示出了根据本说明书的一些实施例提供的一种目标用户进行多轮对话的界面示意图。

具体实施方式

以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。

这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。

考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。

本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。

在本说明书中,“X包括A、B或C中的至少一个”所表达的意思是X至少包括A,或X至少包括B,或X至少包括C。也就是说,X可以只包括A、B、C的任意一个,或者同时包括A、B、C的任意组合以及其他可能的内容/元素。所述A、B、C的任意组合可以是A、B、C、AB、AC、BC、或ABC。

在本说明书中,除非明确说明,否则结构之间产生的关联关系可以是直接的关联关系也可以是间接的关联关系。比如,当描述“A与B连接”时,除非明确说明了A与B直接连接,否则应当理解成A可以与B直接连接,也可以与B间接地连接;再比如,当描述“A在B之上”时,除非明确说明了A直接在B的上方(AB相邻且A在B的上方),否则应当理解成A可以直接在B的上方,A也可以间接地在B之上(AB之间隔着其他元素,且A在B的上方)。以此类推。

为了方便描述,首先对说明书中出现的术语进行如下解释:

运维:即运营与维护。本说明书中的运维指互联网运维,即对网络、服务器、服务的生命周期各个阶段的运营与维护。运维的工作内容包括但不限于:系统监测、应急事件管理、大数据管理、自动化运维、生产环境管理、异常检测、因果推断、事件关联分析、以及根因分析等等。

智能运维:智能运维(Artificial Intelligence for IT Operations,简称AIOps)将人工智能、机器学习或其他高级分析技术应用于领域和运营数据,以建立关联并实时提供规范性和预测性答案的软件。AIOps结合了大数据和机器学习,使IT运营过程自动化,包括事件关联、异常检测和因果关系确定等。

事件关联:通过整理大量离散事件数据并把其作为一个整体进行分析,找到需要立即引起注意的重要模式和事故,从而简化威胁检测的方法。事件关联技术是一种重要的故障定位策略。其基本思想是,通过关联多个事件为某一单一概念事件来过滤不必要的及不相关的事件,为网络管理员提供更精简的事件信息视图,以准确、快速地识别故障源。

异常检测:识别导致故障的异常现象。异常是故障的表现形式,例如,响应时间变慢、吞吐量减少或日志错误事件等。以微服务系统为例,可以在应用级或服务级进行异常检测。应用级的检测方式为观察整个应用,如:观察前端显示的性能是否下降;服务级的检测方式为观察特定服务。

根因分析:一种系统性的问题解决技术,旨在确定问题的根本原因,而不仅仅是应对问题的表面症状。它提供了一种深入挖掘问题根源的方法,以便可以采取适当的纠正措施,防止类似问题再次发生。

大语言模型(Large Language Model,简称LLM):使用大量文本数据训练的深度学习模型,可以生成自然语言文本或理解语言文本的含义。大语言模型可以处理多种自然语言任务,如文本分类、问答、对话等,是通向人工智能的一条重要途径。

提示词工程(Prompt Engineering):一种人工智能技术,通过设计和改进大语言模型的提示词来提高大语言模型的表现。提示词工程的目标是创建高度有效和可控的大语言模型,使其能够准确、可靠地执行特定任务。

微服务系统:一种服务化风格的架构,通过将功能分散到各个离散的服务中以实现对解决方案的解耦。微服务架构具有灵活性、可扩展性、可维护性、技术多样性和可移植性等优点,但也存在系统复杂度高、分布式系统服务依赖性高、运维工作量大以及运维成本高等缺点。

系统集成测试:系统集成测试(System Integration Testing,简称SIT)是一种黑盒测试技术,它可以根据特定的需求来评估系统的遵从性。系统集成测试通常在系统的子集上执行,而系统测试在一个完整的系统上执行,并且在用户验收测试之前进行。使用最少的测试工具来执行集成测试,对交互数据进行验证,并对每个数据字段在单个层中的行为进行研究。

相关技术中的智能运维系统的智能化水平有限。比如,一些运维系统在相互独立的运维任务中各自使用智能化技术,而无法在系统层级上实现智能化。再比如,一些运维系统试图使用端到端的人工智能模型处理所有运维任务,但是准确性无法满足生产要求,更达不到智能化水平。本说明书提供的运维方法和系统可以提升运维的智能化水平。具体而言,本说明书提供的运维方法和系统可以通过大语言模型实现对目标用户的目标问题进行自动分析和解答,以识别目标运维任务,从而确定解决目标问题所需的目标运维模型,并根据大语言模型的识别结果调用下游的目标运维模型执行目标运维任务。

本说明书提供的运维方法和系统可应用于任意系统的运维场景。也就是说,本说明书提供的运维方法和系统对于具体的系统架构以及运行环境不作限定,即可应用于任何系统架构下、任何运行环境中的运维场景。比如,本说明书提供的运维方法和系统应用的系统架构可以是分层架构、事件驱动架构、微核架构、微服务架构、云架构,甚至是其他形式的系统架构,等等。比如,本说明书提供的运维方法和系统可以应用于系统运行的全生命周期,即系统运行的任意阶段。比如,系统集成测试阶段的联调阶段和自动化回归场景。再比如,系统应用的各个阶段。

例如,本说明书提供的运维方法和系统可用于微服务系统架构。随着微服务架构与云原生技术的发展和应用,IT(互联网技术,Internet Technology,简称IT)运维面临更多的挑战。一方面,微服务系统中服务与服务之间的交互激增,一旦发生异常,异常就会在系统中传播,传播的链路也因为服务之间复杂的依赖关系而变得复杂,对于单点异常还是级联异常的判断也变得十分困难。另一方面,基于云原生的微服务系统规模庞大,需要面对不同领域的应用场景,向不同的产品线和应用提供支持,其中涉及到的对象、指标、事件众多,使得运维的难度加大。在该场景下,本说明书提供运维方法和系统可以通过简单的用户操作,即目标用户提出目标问题的方式,便可以获得对于该目标问题的解答,避免运维技术人员需要在多个运维模型或者方法之间切换的繁琐操作。进一步地,本说明书提供的运维方法和系统允许运维技术人员基于前轮的解答进行进一步追问,通过多轮对话的方式解决链路冗长以及数据众多带来的运维技术难点。

再例如,本说明书提供的运维方法和系统可用于测试环境以及生产环境中。测试环境,比如:系统集成测试环境、研发联调以及自动化回归场景等,其中会涉及大量服务应用间的调用,依赖关系复杂。并且,通常为了更好地检验系统性能会使用大量的测试用例,这也会带来更大的人工分析成本。在该场景下,本说明书提供的运维方法和系统可以通过接收目标用户的目标问题,比如:包含测试用例ID的问题,进而分析给出该测试用例在系统中发生错误的节点及原因等,大大减少人工操作的工作量。而生产环境中则更加关注异常检测、根因分析以及故障修复的敏捷性,对运维的应急管理能力提出更高的要求。在该场景下,本说明书提供的运维方法和系统可以提供系统级层面上的智能运维能力,一旦运维工作人员监测到异常发生,即可在系统的对话界面通过一轮或多轮对话定位到故障根因,交互方式简单快捷,压缩运维模型的人工选择环节,实现运维问题从发现到解决的高效处理。

本领域技术人员应当明白,上述列举的应用场景只是本说明书提供的运维方法和系统可适用的场景中的一部分。除了上述列举的场景之外,本说明书提供的运维方法和系统还可以用于其它的运维应用场景,本说明书对此不作一一举例说明。

图1示出了根据本说明书的一些实施例提供的一种运维系统001的应用场景示意图。运维系统001可以应用于对服务系统002的运维。进一步地,目标用户004可以基于运维系统001对服务系统002进行运维。

如前所述,服务系统002可以是任意架构的系统。为了方便描述,我们这里将以服务系统002为微服务系统为例进行展示。本领域技术人员应当明白,服务系统002为其他形式也在本说明书的保护范围内。服务系统002可以包括多个服务,服务可以在计算设备200上的不同环境中进行独立部署和扩展。例如,图1所示的服务A部署在一台计算设备200上,而服务B混合部署在多台计算设备200上。服务系统002中的交互服务可以有数百个,服务与服务之间通过网络进行交互。服务系统002可以包括至少一台计算设备200,所述计算设备200可以为服务器或者客户端。在一些实施例中,服务系统002可以是电子商务系统、即时聊天系统、支付系统、地图导航系统、游戏系统、智能家居系统或类似系统,或其任意组合。在一些实施例中,所述电子商务系统可以包括用户信息管理服务、搜索服务、推荐服务、支付服务、订单管理服务或物流查询服务等。

目标用户004可以是需要或者正在进行运维工作的任意用户,目标用户004可以对服务系统002进行运维。在一些实施例中,目标用户004可以对服务系统002进行主动的异常监测。在一些实施例中,目标用户004可以通过日志服务平台对服务系统002的日志、指标、追踪等数据进行观测与分析。在一些实施例中,目标用户004可以接收服务系统002中用户上报的错误信息。在一些实施例中,目标用户004可以基于服务系统002中的热点事件进行热点分析或趋势预测等。目标用户004可以接收服务系统002中与运维有关的问题并应用运维系统001解决所述问题。

运维系统001可以包括至少一台计算设备200,所述计算设备200可以为服务器或者客户端。运维系统001可以通过所述客户端响应目标用户004的交互操作。运维系统001可以通过所述客户端接收目标用户004的目标问题。所述目标问题可以是与运维工作相关的任意问题。

运维系统001可以基于任务识别模型识别所述目标问题并得到目标运维任务。所述任务识别模型为大语言模型。所述目标运维任务可以是针对历史事件、当前事件或未来事件的运维任务。在一些实施例中,所述针对历史事件的运维任务可以包括瓶颈分析、热点分析、指标聚类、指标关联关系分析、指标因果关系分析、全链路分析、故障传播关系构建等。在一些实施例中,所述针对当前事件的运维任务可以包括异常检测、异常定位、异常报警聚合、快速止损、故障根因分析等。在一些实施例中,所述针对未来事件的运维任务可以包括故障预测、容量预测、趋势预测、热点分析等。

运维系统001可以通过调用目标运维模型以执行所述目标运维任务,得到目标运维结果。运维系统001还可以向目标用户004输出所述目标运维结果。

综上所述,本说明书提供的运维系统001通过大语言模型的使用,将运维任务的识别过程自动化,并通过大语言模型与运维模型之间的配合使用,将运维任务的执行过程自动化,大大提升系统的运维智能化水平。

需要说明的是,运维系统001中的至少一个计算设备200可以包括本地计算设备,也可以包括云端计算设备。所述大语言模型可以部署在本地计算设备或者部署在云端计算设备上,可以部署在一台计算设备或者部署在多台计算设备上。运维模型可以部署在本地计算设备或者部署在云端计算设备上,可以部署在一台计算设备或者部署在多台计算设备上。本说明书提供的运维方法可以只在本地执行,也可以部分在本地执行、部分在云端执行,也可以全部在云端执行。

运维系统001应用于对服务系统002进行运维的过程中,需要服务系统002提供数据支持。所述数据可以应用于辅助大语言模型进行目标问题识别,或者应用于辅助目标运维模型进行目标运维任务处理。在一些实施例中,所述数据可以是日志数据、指标数据、链路数据、事件数据或者类似数据,或者其任意组合。

图2示出了根据本说明书的一些实施例提供的一种计算设备200的硬件结构示意图。如图2所示,计算设备200包括至少一个存储介质230和至少一个处理器220。在一些实施例中,计算设备200还可以包括内部通信总线210。在一些实施例中,计算设备200还可以包括通信端口250。在一些实施例中,计算设备200还可以包括I/O组件260。

内部通信总线210可以连接不同的系统组件,包括存储介质230和处理器220。I/O组件260支持计算设备200和其他组件之间的输入/输出。

存储介质230可以包括数据存储装置。数据存储装置可以是非暂时性存储介质,也可以是暂时性存储介质。比如,数据存储装置可以包括磁盘232、只读存储介质(ROM)234或随机存取存储介质(RAM)236中的一种或多种。存储介质230还包括存储在数据存储装置中的至少一个指令集。指令集是计算机程序代码,计算机程序代码可以包括执行本说明书提供运维方法的程序、例程、对象、组件、数据结构、过程、模块等等。

通信端口250用于计算设备200同外界的数据通讯。比如,计算设备200可以通过通信端口250连接网络130。至少一个处理器220同至少一个存储介质230通过内部通信总线210通信连接。至少一个处理器220用以执行上述至少一个指令集。运维系统001运行时,至少一个处理器220读取至少一个指令集,并且根据至少一个指令集的指示执行本说明书提供的运维方法。

处理器220可以执行运维方法包含的所有步骤。处理器220可以是一个或多个处理器的形式。处理器220可以发出执行指令。处理器220可以包括一个或多个硬件处理器,例如微控制器,微处理器,精简指令集计算机(RISC),专用集成电路(ASIC),特定于应用的指令集处理器(ASIP),中央处理单元(CPU),图形处理单元(GPU),物理处理单元(PPU),微控制器单元,数字信号处理器(DSP),现场可编程门阵列(FPGA),高级RISC机器(ARM),可编程逻辑器件(PLD),能够执行一个或多个功能的任何电路或处理器等,或其任何组合。

仅仅为了说明问题,在本说明书中计算设备200中仅描述了一个处理器220。然而,应当注意,本说明书中计算设备200还可以包括多个处理器,因此,本说明书中披露的操作和/或方法步骤可以如本说明书所述的由一个处理器执行,也可以由多个处理器联合执行。例如,如果在本说明书中计算设备200的处理器220执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同处理器220联合或分开执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同执行步骤A和B)。

图3示出了一种根据本说明书的一些实施例提供的一种运维系统001的架构图。运维系统001可以包括大语言模型层011、运维模型层012以及运维工具层013。运维系统001可以接收目标用户004的目标问题,并输出针对所述目标问题的目标运维结果。

大语言模型层011用于从所述目标问题中识别出目标运维任务,并将所述目标运维任务传递给运维模型层012。所述大语言模型层011包括预设的一个或多个大语言模型。所述大语言模型可以包括自编码模型或者自回归模型。在一些实施例中,自编码模型可以为基于Transformer(一种使用注意力机制的语言模型)技术的系列模型、基于BERT(Bidirectional Encoder Representation from Transformers,使用多个Transformer的双向编码表征模型)技术的系列模型或者其它类似模型,或者其任意组合。在一些实施例中,所述自编码模型可以是BERT、RoBERTa(Robustly Optimized BERT PretrainingApproach,鲁棒优化的BERT预训练方法)、SpanBERT(Improving Pre-training byRepresenting and Predicting Spans,通过表征跨度和预测跨度提升预训练的方法)或者其它类似模型,或者其任意组合。在一些实施例中,自回归模型可以是基于GPT(GenerativePre-Trained Transformer,生成式预训练Transformer模型)技术的系列模型、基于ChatGLM(一种基于双向注意力机制的通用语言模型)技术的系列模型、基于LLaMa(一种使用更多tokens和更小参数规模的通用语言模型)技术的系列模型或者其它类似模型,或者其任意组合。在一些实施例中,所述基于GPT技术的大语言模型可以是ChatGPT3.5、ChatGPT4.0等。所述大语言模型可以包括生成式语言模型。生成式语言模型能够根据输入的语句自动生成与之相关的文本,所述基于Transformer、BERT或者GPT技术的大语言模型都是生成式语言模型。本说明提供的运维系统001中的大语言模型的参数不需要微调,部署即可使用,计算开销小,落地难度小。

运维模型层012根据所述大语言模型层011的识别出的目标运维任务调用相应的目标运维模型,执行所述目标运维任务,并将执行得到的目标运维结果返回给大语言模型层011。所述运维模型层012包括预设的运维模型集,所述运维模型集可以包括智能运维领域的发现和诊断模型。在一些实施例中,所述运维模型集可以包括时序异常检测模型、时序预测模型、日志异常检测模型、关联分析模型或者根因分析模型中的至少两个。时序是按时间顺序测量得到的一系列数据点。时序可以表示系统内各种指标随时间的变化情况,关注时序的变化可以为系统的运维提供指导。所述时序异常检测模型可以用于检测关注对象是否发生异常,比如,所述关注对象可以为某服务器的吞吐量。所述时序预测模型可以用于根据过往和/或当前的时序信息预测未来可能的时序情况,从而做好预警和隐患排查。日志是记录系统中发生的各种事件的文件。所述日志异常检测模型可以用于检测日志中是否存在异常,从而根据日志中的异常追溯发生故障的原因。所述关联分析模型可以用于寻找事件之间、指标之间的关联关系,所述关联关系包括但不限于因果关系、发生规律、关联模式。比如,在运维系统中使用告警关联分析,可以将同一个问题所引发的多个相关联的告警合并生成一个关联的场景进行处理,从而加速排障,提高运维效率。所述根因分析模型可以用于挖掘发生异常的根本原因,从而不断改进和优化运维工作,以减少问题和故障的发生。

运维工具层013服务于大语言模型层011和/或运维模型层012。大语言模型层011和/或运维模型层012可以根据需要选择不同的运维工具进行辅助。在一些实施例中,所述运维工具可以是专家经验规则库、领域/环境知识文档、变更查询、数据库查询、日志查询、错误码查询和微服务各层查询接口。在一些实施例中,所述微服务各层查询接口可以是IaaS(Infrastructure as a Service,基础设施即服务,用于查询基础设施级别的服务)、PaaS(Platform as a Service,平台即服务,用于查询平台级别的服务)、SaaS(Softwareas a Service,软件即服务,用于查询软件级别的服务)等。

本说明书提供的运维系统001中的层与层之间、同一层内部的各模型之间的耦合度都比较低,因此,各个模型的更新、替换、增加、删除都很容易,增加了系统的灵活性、可扩展性,降低了系统迭代可能带来的影响。

图4示出了根据本说明书的一些实施例提供的一种运维方法P100的流程示意图。如前所述,运维系统001的至少一台计算设备200可以执行运维方法P100。具体地,存储介质230可以存储有至少一组指令集用于运维。处理器220可以与存储介质230通信连接。处理器220可以读取存储在其本地存储介质和/或数据库中的指令集,然后根据指令集的规定,执行运维方法P100。

本说明书提供的运维方法P100能够与目标用户004进行至少一轮对话,如图4所示,所述至少一轮对话中的每一轮对话可以包括:

S110:接收目标用户004的目标问题。

在本说明书中,目标用户004可以是需要或者正在进行运维工作的任意用户。目标用户004可以获取服务系统002中与运维有关的问题并应用运维系统001解决所述问题。目标用户004将所述问题以运维系统001可以识别的形式进行表示,输入至所述运维系统001中。目标用户004可以通过所述运维系统001的计算设备200与运维系统001进行交互。

所述目标问题可以是与服务系统002在运行或测试阶段中发生的运维问题有关的任何的问题。目标问题的形式不受运维问题的约束。目标用户004可以使用任何形式进行提问。比如,所述目标问题的形式可以包括文本、语音或者图像中的至少一种。在一些实施例中,所述目标问题的形式可以为文本。目标用户004可以使用文字对目标问题进行描述,并将所述文本形式的目标问题输入至任务识别模型。此时,目标用户004可以使用自然对话的语言形式去描述目标问题,无需将目标问题按照运维模型的要求转化为固定的运维格式或形式。因此,所述方法P100可以大大降低运维人员的工作难度和工作强度。在一些实施例中,所述目标问题的形式可以为语音。目标用户004可以通过说话的方式对问题进行描述,生成语音形式的目标问题。运维系统001中可以包括进行语音解析的功能模块,可以将语音形式的目标问题进行文本转换之后,输入后续的任务识别模块。同样地,目标用户004可以使用自然对话的语言形式去描述目标问题,无需将目标问题按照运维模型的要求转化为固定的运维格式或形式。因此,所述方法P100可以大大降低运维人员的工作难度和工作强度。在一些实施例中,所述目标问题的形式可以为图像。运维系统001中可以包括进行图像处理的功能模块,可以将图像形式的目标问题进行文本检测、文本识别和/或语义理解等,将处理得到的文本输入至后续的任务识别模型。在一些实施例中,也可以直接将语音和/或图像形式的目标问题输入至任务识别模型。

为了方便描述,本说明书中以文本形式的目标问题为例进行展示。

如图4所示,运维方法P100还可以包括:

S130:基于任务识别模型识别所述目标问题,得到目标运维任务。

所述任务识别模型可以基于所述目标问题进行运维任务的自动识别。其中,所述任务识别模型可以为前述的大语言模型。所述运维系统001的计算设备200中可以预设一个或多个大语言模型。在一些实施例中,大语言模型的输入可以为目标问题和/或基于目标问题的格式化文本,大语言模型的输出可以为目标运维任务。

在一些实施例中,所述大语言模型可以是生成式语言模型。生成式语言模型能够根据输入的语句自动生成与之相关的文本,即能够根据输入的运维问题相关文本自动生成与之相关的目标运维任务。在一些实施例中,所述大语言模型可以是自编码模型。自编码模型可以为基于Transformer技术的系列模型、基于BERT技术的系列模型或者其它类似模型,或者其任意组合。所述自编码模型可以是BERT、RoBERTa、SpanBERT等。在一些实施例中,所述大语言模型可以是自回归模型。自回归模型可以是基于GPT技术的系列模型、基于ChatGLM技术的系列模型、基于LLaMa技术的系列模型或者其它类似模型,或者其任意组合。在一些实施例中,所述基于GPT技术的大语言模型可以是ChatGPT3.5、ChatGPT4.0等。在一些实施例中,所述大语言模型可以是自编码技术与自回归技术相结合的模型。

所述大语言模型可以为通用大语言模型,即具备对于不同领域问题的回答能力。所述大语言模型可以不经过运维领域数据的微调,部署即可使用,能够节约训练过程的算力资源成本,降低落地难度。

所述大语言模型可以对目标问题进行识别,并从中识别出目标运维任务。如前所述,目标问题可以是与运维相关的问题。目标运维任务可以是为解决目标问题需调用的目标运维模型。比如,所述目标运维任务可以包括调用目标运维模型解决所述目标问题。所述目标运维模型可以包括运维模型集中的至少一个。所述大语言模型可以对目标问题进行识别,并基于识别结果从运维模型集中挑选出解决目标问题所需的目标运维模型。

如前所述,运维系统001中可以包括运维模型层012。运维模型层012中可以预设有运维模型集。所述运维模型集中可以包括多个运维模型。所述运维模型为运维领域的发现和诊断模型,用于处理不同类型的具体运维问题。不同的运维模型可以用于解决不同的运维问题。在一些实施例中,不同的运维模型对于运维问题的输入形式的要求也是不同的。因此,不同的运维问题往往需要采用相对应的运维模型进行解决。在一些实施例中,所述运维模型可以为深度学习模型、统计学模型、机器学习模型等。在一些实施例中,所述运维模型可以为基于监督的模型,也可以为基于无监督的模型。在一些实施例中,所述运维模型可以为基于日志的检测模型、基于分布式追踪的检测模型、基于数据监测的检测模型等。如前所述,在一些实施例中,所述运维模型集可以包括时序异常检测模型、时序预测模型、日志异常检测模型、关联分析模型或者根因分析模型中的至少两个。

所述大语言模型可以对目标问题进行识别,并基于识别结果从运维模型集中挑选出解决目标问题所需的目标运维模型,还可以基于目标问题得到目标运维模型所需的问题的输入格式和要求。因此,大语言模型允许目标用户004可以使用自然对话的语言形式去描述目标问题,无需目标用户004根据运维问题选择对应的目标运维模型,也无需目标用户004将目标问题转化为目标运维模型所述的输入格式和形式,大大降低运维人员的工作难度和工作强度。

图5示出了根据本说明书的一些实施例提供的一种识别目标问题的流程示意图。

如图5所示,步骤S130可以包括:

S132:基于所述目标问题和预先设置的提示工程模板,得到规范化的目标提示数据。

所述目标问题中可以包括目标提示信息。所述目标提示信息可以用于表示所述目标问题的一个或者多个维度的特征。在一些实施例中,所述目标提示信息可以包括运维故障信息。所述运维故障信息可以是运维环境下故障发生的环境描述、链路ID、设备地址、用例ID、时序ID或其它运维故障信息,或者其任意组合。比如,所述运维故障信息可以为“设备地址为xxxx-xxxx-xxxx的物理机CPU占用率超出阈值”、“链路ID:xxxxxxxx的链路发生错误”、“xxxx服务唤起异常”等等。在一些实施例中,所述目标提示信息还可以包括所述目标用户004的用户信息。所述用户信息可以是所述目标用户004的用户ID。所述用户ID可以是目标用户004在运维领域中所属的领域和/或系统。所述用户信息可以表征所述目标问题所属的领域和/或系统。当目标用户004向运维系统001输入目标问题时,目标问题中可以携带有目标用户004的用户信息。

所述提示工程模板可以用于生成规范化的目标提示数据。所述运维系统001的计算设备200中预先设置有一个或多个所述提示工程模板。提示工程模板的设计关乎生成何种范式的所述目标提示数据。所述提示工程模板的设计策略可以是角色赋予,即明确指出大语言模型需要扮演的角色。所述提示工程模板的设计策略也可以是案例展示,即事先给出一些问答的案例示范,让大语言模型自行学习,提升泛化能力。所述提示工程模板的设计策略也可以是思维链提示,即给出问题解决的分步骤提示,让大语言模型按照步骤解决问题。所述提示工程模板的设计可以使用一种策略或者多种策略的组合。

为了方便描述,所述提示工程模板中待填充的部分用“【】”表示,“【】”内部的内容指示此处需要填充的信息类型。比如,所述提示工程模板可以为“假设你现在是运维专家,领域【领域ID】的用户【用户ID】提问:【目标问题】,请你在运维模型集A、B、C...N中选择至少一个执行目标运维任务”。“假设你现在是运维专家”使用了角色赋予的提示工程模板设计策略。如前文所述,领域ID、用户ID为所述目标提示信息中的用户信息。

如前文所述,本说明书提供的运维方法P100可以进行至少一轮对话。对于多轮对话的情况,从第二轮对话开始的对话轮次相比于首轮对话多了一些可用的上下文信息。此时,所述提示工程模板可以较前述的模板增加上下文信息。比如,所述提示工程模板可以为“【上下文】,假设你现在是运维专家,领域【领域ID】的用户【用户ID】提问:【目标问题】,请你在运维模型集A、B、C...N中选择至少一个执行目标运维任务”。根据具体情况,提供适当的上下文信息,可以帮助大语言模型更好地理解问题。上下文信息可以是相关背景、之前提及的内容或其他相关细节。在首轮对话中,上下文信息可以为空。

所述目标提示数据用于提示任务识别模型需要完成的目标,以规范任务识别模型的输出。所述目标提示数据可以是将所述目标提示信息带入至所述目标提示工程模板中得到的与当前目标问题相关的运维问题。所述目标提示数据提示的操作内容包括至少基于目标提示信息从所述运维模型集中选取所述目标运维模型。在一些实施例中,所述目标提示数据提示的操作内容包括基于所述目标提示信息从所述运维模型集中选取所述目标运维模型。比如,所述目标提示数据可以为“假设你现在是运维专家,领域【D1】的用户【U1】提问:【链路trace1为什么发生错误?】请你在运维模型集A、B、C...N中选择一个执行目标运维任务”。其中,“领域ID——D1”、“用户ID——U1”、“运维故障信息——链路trace1发生错误”等都为当前轮的目标问题中所包含的目标提示信息。基于所述目标提示信息,目标提示数据提示的操作内容为:“请你在运维模型集A、B、C...N中选择至少一个执行目标运维任务”。

所述基于所述目标问题和预先设置的提示工程模板,得到规范化的目标提示数据,可以包括:从所述目标问题中提取所述目标提示信息;以及至少将所述目标提示信息输入至所述提示工程模板中,得到所述目标提示数据。如前所述,目标提示信息为当前轮对话中目标问题中包含的信息。从所述目标问题中提取所述目标提示信息可以包括提取显式的所述运维故障信息,也可以包括所述用户信息。所述用户信息可以是显式的,也可以是隐式的。对于隐式的所述用户信息可以通过对所述目标问题进行信源解析得到。在一些实施例中,将所述目标提示信息输入至所述提示工程模板中,得到所述目标提示数据。

如前文所述,本说明书提供的运维方法P100可以进行至少一轮对话。对于多轮对话的情况,从第二轮对话开始的对话轮次相比于首轮对话多了一些可用的上下文信息。

在一些实施例中,所述至少将所述目标提示信息输入至所述提示工程模板中,得到所述目标提示数据,可以包括:将所述目标提示信息以及所述当前轮之前的对话内容输入至所述提示工程模板中,得到所述目标提示数据。在首轮对话中,上下文信息可以为空。

所述目标提示数据提示的操作内容可以包括基于所述目标提示信息以及当前轮之前的对话内容从所述运维模型集中选取所述目标运维模型。比如,所述目标提示数据可以为“【当前轮之前的对话内容】,假设你现在是运维专家,领域【D1】的用户【U1】提问:【节点N1是否还存在其它错误?】请你在运维模型集A、B、C...N中选择一个执行目标运维任务”。如图4所示,所述当前轮之前的对话内容可以包括以下至少一种:当前轮之前的对话中的目标问题;所述当前轮之前的对话中的目标问题对应的目标运维任务;或者所述当前轮之前的对话中的目标问题对应的目标运维结果。

如图5所示,步骤S130还可以包括:

S134:将所述目标提示数据输入所述任务识别模型,得到所述目标运维任务。

如前所述,目标提示数据可以对任务识别模型的输出进行规范,即在所述目标提示数据中给出关于输出何种内容的提示。任务识别模型可以基于目标提示数据给出的提示,输出与提示内容相匹配的结果,从而得到目标运维任务。比如,将目标提示数据:“假设你现在是运维专家,领域【D1】的用户【U1】提问:【链路trace1为什么发生错误?】请你在运维模型集A、B、C...N中选择至少一个作为目标运维模型执行目标运维任务”输入大语言模型;大语言模型基于输入内容进行识别得到目标运维任务,目标运维任务可以是:“使用根因分析模型A进行判别”。所述目标运维任务是大语言模型根据目标提示数据,从运维模型集中选择出根因分析模型A来进行问题判别。

所述目标提示数据的使用可以在不更新模型参数的情况下,辅助任务识别模型解决运维领域的问题。通过输入合理的目标提示数据,引导任务识别模型进行更有效的结果输出。

需要说明的是,如前所述,不同的运维模型对于输入数据的要求是不一样的。任务识别模型不仅可以得到目标运维任务,还可以将目标问题转化为目标运维模型要求的输入形式,以方便后续目标运维任务执行时,调用目标运维模型解决目标问题。比如,目标问题可以是“链路trace1为什么发生错误?”。任务识别模型在识别出目标运维模型为根因分析模型时,可以将目标问题转化为根因分析模型对应的输入形式,比如,根因分析模型A的输入数据要求形式为ID序列。任务识别模型可以查询目标问题中所涉及的链路trace1的ID序列,并将链路trace1的ID序列作为根因分析模型A的输入数据。任务识别模型可以调用运维工具层013以查询所需的数据。

如图4所示,运维方法P100还可以包括:

S150:执行所述目标运维任务,得到目标运维结果。

所述目标运维结果为目标运维模型的输出内容,包括但不限于诊断结果、自愈方案等。所述诊断结果可以为目标运维模型对于运维故障的根本原因、错误节点、异常链路的判别结果。所述自愈方案为针对所述诊断结果给出的系统修复建议。

步骤S150可以包括:基于所述目标运维任务,确定所述目标运维模型需要的运维数据;采集所述运维数据,并对所述运维数据进行相应的预处理,得到目标数据;以及将所述目标数据输入所述目标运维模型,所述目标运维模型输出所述目标运维结果。

所述运维数据可以存储在服务系统002的一台或多台计算设备200中。所述服务系统002的计算设备200中可以有一个或多个数据库用于存储所述运维数据。运维系统001可以与所述服务系统002通信连接,以访问所述运维数据。在一些实施例中,所述运维数据包括但不限于Logging(日志)、Metrics(度量)、Distributed Tracing(分布式追踪)、Events(事件)数据等。

数据预处理可以提高数据质量,清除所述运维数据中的噪音或者冗余的部分,从而提升后续目标运维模型的表现。在一些实施例中,数据预处理方式包括但不限于噪音数据清洗、冗余数据清洗等。所述运维数据经过预处理之后成为干净可用的目标数据提供给目标运维模型。运维系统001可以将目标数据输入至目标运维模型中,目标运维模型调用对应的运维工具,并根据运维工具返回的结果输出目标运维结果。

在一些实施例中,所述目标运维模型运行过程中可以调用运维工具辅助进行判断。在一些实施例中,所述运维工具可以是专家经验规则库、领域/环境知识文档、变更查询、数据库查询、日志查询、错误码查询和微服务各层查询接口。在一些实施例中,所述微服务各层查询接口可以是IaaS、PaaS、SaaS等。

需要说明的是,所述运维工具也可以应用于步骤S130中所述任务识别模型的运行过程中。所述运维工具还可以应用于步骤S150中的运维数据采集处理过程中。所述运维工具可以提供丰富的运维领域资源和便利的数据查询服务,在所述运维系统001中提供了灵活的底层工具支持。

所述运维模型集中的运维模型可以为通用的运维模型,即具备解决不同领域的运维问题的能力。所述运维模型部署即可使用,能够节约训练过程的算力资源成本,降低落地难度。

本说明书提供的运维方法P100通过将运维领域问题进行拆解,使用大语言模型完成任务识别工作,根据大语言模型的输出调用目标运维模型,使用目标运维模型执行特定的目标运维任务,目标运维模型又可以调用多样化的运维工具辅助进行判别。本说明书提供的运维方法P100中的各个功能模块之间通过调用关系完成,降低了运维系统001各模块之间的耦合度,使得不论是大语言模型层011、运维模型层012还是运维工具层013只需要完成各自内部的维护工作,模型的替换和更新变得更加容易。因此,本说明书提供的运维系统001具备较强的灵活性、可维护性、可扩展性。

如图4所示,运维方法P100还可以包括:

S170:向所述目标用户004输出所述目标运维结果。

在每一轮对话中,所述运维系统001都可以向目标用户004输出所述目标运维结果。所述目标运维结果可以输出至运维系统001中响应目标用户004交互操作的计算设备200中。所述目标用户004收到所述目标运维结果之后,可以选择结束对话,也可以选择继续进行下一轮对话。

在如前所述的至少一轮对话结束后,运维方法P100还可以包括:

基于所述每轮对话的目标运维结果,生成诊断报告,向所述目标用户004输出所述诊断报告。所述诊断报告可以包括运维故障信息、目标用户004的用户信息、每轮对话的目标运维结果等。所述诊断报告也可以是对多轮对话内容得到的诊断内容的梳理和判别,并对问题给出的自愈方案。运维系统001可以将所述诊断报告输出给所述目标用户004,以供运维系统001或者运维工作人员进行判别和修复处理。所述运维工作人员可以为所述目标用户004,也可以为其他工作人员。

本说明书提供的运维方法P100可以允许用户通过多轮对话进行追问,该方式不但能够发挥本说明书提供的运维方法P100在系统级层面上的智能化优势,而且也非常符合用户的使用逻辑。目标用户004只需使用自然化的语言对运维问题进行描述,运维系统001便能够自行识别出目标用户004的目标问题中所包含的运维问题以及解决运维问题所需的目标运维模型,从而调用目标运维模型对目标问题进行解答。目标用户004还可以对运维问题进行追问,运维系统001能够根据上下文信息对追问的问题进行解答,大大提升了运维系统001的自动化和智能化水平,同时降低了目标用户004的使用难度和工作强度,提升了用户的使用体验。下面结合多轮对话的应用示例图进行具体说明。

图6示出了根据本说明书的一些实施例提供的运维示例图。如图6所示,目标用户U1可以提出目标问题Q1:链路trace1为什么发生错误?此时,所述提示工程模板可以为“假设你现在是运维专家,领域【领域ID】的用户【用户ID】提问:【目标问题】,请你在运维模型集A、B、C...N中选择一个执行目标运维任务”。此时,所述目标提示数据可以为“假设你现在是运维专家,领域【D1】的用户【U1】提问:【链路trace1为什么发生错误?】请你在运维模型集A、B、C...N中选择一个执行目标运维任务”。运维系统001可以将目标提示数据输入大语言模型;大语言模型基于输入内容进行识别得到目标运维任务。比如,目标运维任务可以是:“使用根因分析模型A进行判别”。之后,运维系统001便可以根据大语言模型输出的结果,调用根因分析模型A解决目标问题。比如,运维系统001可以确定根因分析模型A需要的运维数据data1,并从服务系统002中获取运维数据data1;运维系统001还可以对运维数据data1进行预处理,得到目标数据D1;运维系统001还可以将目标数据D1输入到根因分析模型A中,并调用运维工具T1,得到目标运维结果Rt1。比如。目标运维结果Rt1可以是:链路trace1中的应用节点N1导致错误E1;导致错误E1的根因为R1,修复指导为G1。运维系统001还可以将目标运维结果Rt1返回给目标用户U1。

之后,目标用户U1可以根据运维系统001返回的目标运维结果Rt1决定是否继续进行提问。目标用户U1可以选择不提问,也可以选择继续提问。比如,目标用户U1可以继续输入目标问题Q2:节点N1是否还存在其他错误?

此时,所述提示工程模板可以为“【上下文】,假设你现在是运维专家,领域【领域ID】的用户【用户ID】提问:【目标问题】,请你在运维模型集A、B、C...N中选择至少一个执行目标运维任务”。所述目标提示数据可以为“【链路trace1中的应用节点N1导致错误E1;导致错误E1的根因为R1,修复指导为G1】,假设你现在是运维专家,领域【D1】的用户【U1】提问:【节点N1是否还存在其它错误?】请你在运维模型集A、B、C...N中选择至少一个执行目标运维任务”。运维系统001可以将目标提示数据输入大语言模型;大语言模型基于输入内容进行识别得到目标运维任务。比如,目标运维任务可以是:“使用时序异常检测模型B进行判别”。之后,运维系统001便可以根据大语言模型输出的结果,调用时序异常检测模型B解决目标问题。比如,运维系统001可以确定时序异常检测模型B需要的运维数据data2,并从服务系统002中获取运维数据data2;运维系统001还可以对运维数据data2进行预处理,得到目标数据D2;运维系统001还可以将目标数据D2输入到时序异常检测模型B中,并调用运维工具T2,得到目标运维结果Rt2。比如。目标运维结果Rt2可以是:链路trace1中的应用节点N1还存在时序异常错误E2;导致错误E2的根因为R2,修复指导为G2。运维系统001还可以将目标运维结果Rt2返回给目标用户U1。

之后,目标用户U1可以根据运维系统001返回的目标运维结果Rt2决定是否继续进行提问。以图6为例,假如目标用户U1不再进行提问,运维系统001可以基于目标运维结果Rt1和目标运维结果Rt2向目标用户U1输出诊断报告。诊断报告可以是对前述目标问题Q1和Q2以及目标运维结果Rt1和目标运维结果Rt2的梳理和归纳总结。

图7示出了根据本说明书的一些实施例提供的一种目标用户004进行多轮对话的界面示意图。在每一轮对话中,目标用户004可以在运维系统001提供的交互界面进行目标问题的输入,输入内容可以为文本、图像或者语音。文本输入内容可以通过在对话界面直接进行文字输入或者导入相关文本文档。运维系统001可以预设一个或多个提示工程模板。在每一轮对话中,目标用户004可以使用默认的提示工程模板,或者可以选择其它预设的提示工程模板,也可以自定义提示工程模板。运维系统001可以预设一个或多个大型语言模型,在每一轮对话中,目标用户004可以使用默认的大型语言模型,或者可以选择其它预设的大型语言模型。在完成前一轮对话之后,目标用户004可以基于运维系统001的回复进行下一轮提问或者选择结束对话。运维系统001可以基于多轮对话的内容生成诊断报告,目标用户004可以选择导出所述诊断报告。

综上所述,本说明书提供的运维方法P100及运维系统001能够基于目标用户004的目标问题,使用大型语言模型对目标问题进行识别,并针对识别得到的运维任务进行下游目标运维模型的选择以及运维任务的处理。由此可见,该运维方法P100及运维系统001通过大型语言模型的使用以及大语言模型与运维模型配合,将目标问题的识别以及目标运维任务的确定过程自动化,进而提升整个运维系统001的智能化水平。进一步的,该运维方法P100允许目标用户004进行多轮对话,目标用户004可以基于前轮对话的结果进行进一步提问。一方面,交互的内容简单,目标用户004提问时只需要进行简单的问题描述即可,降低了描述运维问题的技术难度以及选择运维任务模型的专业化门槛;另一方面,交互的方式简单,目标用户004只需通过对话即可完成提出问题并得到答案,整个对话过程可以在同一交互界面进行,并且可以自主选择何时结束对话。由此可见,本说明书提供的运维方法P100及系统001还能够提升目标用户004的交互体验。

本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行运维的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的运维方法的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在计算设备200上运行时,所述程序代码用于使计算设备200执行本说明书描述的运维方法的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)包括程序代码,并可以在计算设备200上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在计算设备200上执行、部分地在计算设备200上执行、作为一个独立的软件包执行、部分在计算设备200上部分在远程计算设备上执行、或者完全在远程计算设备上执行。

上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。

综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。

此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。

应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。

本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,除了与其相关的任何历史起诉文件、可能与本文件不一致或相冲突的任何相同的、或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的历史起诉文件,均可以通过引用结合于此,并用于现在或以后与本文件相关联的所有目的。此外,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。

最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后的实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。

技术分类

06120116581719