监控方法、监控装置、机器可读存储介质及处理器与流程

文档序号:32418706发布日期:2022-12-02 22:38阅读:31来源:国知局
监控方法、监控装置、机器可读存储介质及处理器与流程

1.本技术涉及计算机技术领域,具体涉及一种监控方法、监控装置、机器可读存储介质及处理器。


背景技术:

2.用户通常在本地环境拉取依赖包,进行程序的调试。在成功后,会推送代码至代码托管平台。再通过持续集成流水线,拉取指定代码托管平台的代码工程。但由于用户所使用的依赖库会出现变动,二次依赖的库也可能出现变化,用户本地环境和流水线依赖包版本不一致,导致用户虽在本地成功部署,但是当在流水线执行时会报各种错误。例如,经常遇到用户新建流水线时勾选使用“容器内maven仓库”,工程在本地正常编译并且使用的私服和持续集成中的私服保持一致,localrepository指定路径正确,但是在企业研发平台的持续集成流水线中编译失败。这个就是由于企业虽然依赖包缓存在一个公共目录下以提升编译速度,但是部分项目对有些jar包进行了二次开发或者发布的包坐标跟私服中原有依赖包坐标一致,从而导致依赖包冲突。再例如,以企业内研发平台现有流水线常报出的问题为例,各使用方有各自的私服packagea版本为2.1.0,私服会进行二次依赖packageb版本为4.3.0。当私服packagea更新为2.2.0或二次依赖packageb的版本进行调整为4.4.0,各使用方人员并不知晓或并未更新,导致执行流水线时由于依赖包版本不一致而无法执行成功。
3.但是,现有技术中的相关技术方案都着重于对代码工程本身的版本变动进行同步和监控,没有涉及依赖包版本的变化。


技术实现要素:

4.本技术实施例的目的是提供一种监控方法、监控装置、机器可读存储介质及处理器。
5.为了实现上述目的,本技术实施例的第一方面提供一种用于监控依赖包的监控方法,所述监控方法包括:获取流水线作业对应的代码工程,其中,所述代码工程包括代码、pom文件和本地锁定文件,所述本地锁定文件包括所述代码工程中包括的所述代码在本地进行编译时使用的依赖包的标识信息和本地版本信息;根据所获取的代码工程中包括的所述pom文件,获取所述流水线作业对应的所述依赖包;基于所获取的依赖包,编译所获取的代码工程中包括的所述代码并生成流水线锁定文件,其中,所述流水线锁定文件包括所获取的依赖包的所述标识信息和流水线版本信息;以及在所述流水线作业编译报错的情况下,基于所获取的代码工程中包括的所述本地锁定文件和所生成的流水线锁定文件,判断所述标识信息相同的所述依赖包的所述本地版本信息与所述流水线版本信息是否一致,以监控所述依赖包的版本变化。
6.可选地,所述监控方法还包括:对所述本地版本信息和所述流水线版本信息不一致的所述依赖包进行提示反馈。
7.可选地,所述本地锁定文件还包括所述代码工程中包括的所述代码在本地进行编
译时使用的依赖包的本地依赖关系,所述流水线锁定文件还包括所获取的依赖包的流水线依赖关系,所述监控方法还包括:在所述流水线作业编译报错的情况下,基于所获取的代码工程中包括的所述本地锁定文件和所生成的流水线锁定文件,判断所述标识信息相同的所述依赖包的所述本地依赖关系与所述流水线依赖关系是否一致,以监控所述依赖包的依赖关系变化。
8.可选地,所述获取流水线作业对应的代码工程包括:接收对流水线作业对应的代码工程的设定;以及从代码仓拉取所设定的代码工程。
9.相应地,本技术实施例的第二方面提供一种用于监控依赖包的监控装置,所述监控装置包括:代码工程获取模块,用于获取流水线作业对应的代码工程,其中,所述代码工程包括代码、pom文件和本地锁定文件,所述本地锁定文件包括所述代码工程中包括的所述代码在本地进行编译时使用的依赖包的标识信息和本地版本信息;依赖包获取模块,用于根据所获取的代码工程中包括的所述pom文件,获取所述流水线作业对应的所述依赖包;流水线锁定文件生成模块,用于基于所获取的依赖包,编译所获取的代码工程中包括的所述代码并生成流水线锁定文件,其中,所述流水线锁定文件包括所获取的依赖包的所述标识信息和流水线版本信息;以及判断模块,用于在所述流水线作业编译报错的情况下,基于所获取的代码工程中包括的所述本地锁定文件和所生成的流水线锁定文件,判断所述标识信息相同的所述依赖包的所述本地版本信息与所述流水线版本信息是否一致,以监控所述依赖包的版本变化。
10.可选地,所述监控装置还包括:提示反馈模块,用于对所述本地版本信息和所述流水线版本信息不一致的所述依赖包进行提示反馈。
11.可选地,所述本地锁定文件还包括所述代码工程中包括的所述代码在本地进行编译时使用的依赖包的本地依赖关系,所述流水线锁定文件还包括所获取的依赖包的流水线依赖关系,所述判断模块还用于:在所述流水线作业编译报错的情况下,基于所获取的代码工程中包括的所述本地锁定文件和所生成的流水线锁定文件,判断所述标识信息相同的所述依赖包的所述本地依赖关系与所述流水线依赖关系是否一致,以监控所述依赖包的依赖关系变化。
12.可选地,所述代码工程获取模块获取流水线作业对应的代码工程包括:接收对流水线作业对应的代码工程的设定;以及从代码仓拉取所设定的代码工程。
13.此外,本技术实施例的第三方面提供一种处理器,被配置成执行上述的监控方法。
14.另外,本技术实施例的第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的监控方法。
15.此外,本技术实施例的第五方面提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的监控方法。
16.通过上述技术方案,获取本地锁定文件,生成流水线锁定文件,在流水线作业编译报错的情况下,基于本地锁定文件和流水线锁定文件判断依赖包的本地版本信息和流水线版本信息是否一致,也就是判断在本地作业时和流水线作业时依赖包的版本是否发生变化,如此,实现了监控依赖包的版本变化。
17.本技术实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
18.附图是用来提供对本技术实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本技术实施例,但并不构成对本技术实施例的限制。在附图中:
19.图1示意性示出了根据本技术实施例的用于监控依赖包的监控方法的流程示意图;
20.图2示意性示出了根据本技术实施例的用于监控依赖包的监控方法的逻辑示意图;
21.图3示意性示出了根据本技术实施例的用于监控依赖包的监控装置的结构框图;以及
22.图4示意性示出了根据本技术实施例的计算机设备的内部结构图。
23.附图标记说明
24.400
ꢀꢀꢀꢀ
监控装置
ꢀꢀꢀꢀꢀꢀꢀ
401
ꢀꢀꢀꢀꢀ
代码工程获取模块
25.402
ꢀꢀꢀꢀ
依赖包获取模块 403
ꢀꢀꢀꢀꢀ
流水线锁定文件生成模块
26.404
ꢀꢀꢀꢀ
判断模块
具体实施方式
27.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本技术实施例,并不用于限制本技术实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
28.需要说明,若本技术实施例中有涉及方向性指示(诸如上、下、左、右、前、后
……
),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
29.另外,若本技术实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
30.本技术实施例的第一方面提供一种用于监控依赖包的监控方法。
31.图1示意性示出了根据本技术实施例的用于监控依赖包的监控方法的流程示意图。如图1所示,监控方法包括以下内容。
32.在步骤s10中,获取流水线作业对应的代码工程,其中,代码工程包括代码、pom文件和本地锁定文件,本地锁定文件包括代码工程中包括的代码在本地进行编译时使用的依赖包的标识信息和本地版本信息。锁定文件包括依赖包的标识信息和版本信息,其中,锁定文件中包括的依赖包的数量根据实际情况而定,锁定文件针对的是所涉及的所有依赖包,也就是锁定文件包括所涉及的每一依赖包的标识信息和版本信息。本地锁定文件针对的是
在本地进行编译代码时使用的依赖包。标识信息可以根据具体情况而定,只要能区分依赖包即可,例如,标识信息可以是名称、和/或坐标信息、和/或源地址等等。获取代码工程可以是从存储代码工程的存储模块中获取,具体地,可以是根据设定的需要使用的代码工程进行获取。
33.在步骤s11中,根据所获取的代码工程中包括的pom文件,获取流水线作业对应的依赖包。
34.在步骤s12中,基于所获取的依赖包,编译所获取的代码工程中包括的代码并生成流水线锁定文件,其中,流水线锁定文件包括所获取的依赖包的标识信息和流水线版本信息。流水线锁定文件针对的是在流水线作业进行编译代码时使用的依赖包。具体地,可以根据以下内容生成流水线锁定文件。在针对流水线作业编译代码的过程中记录使用的依赖包的标识信息和版本信息,然后根据记录的依赖包的标识信息和版本信息生成一个文件(例如文件可以是mvn-lock.json),此文件即为流水线锁定文件。此外,生成本地锁定文件也可以参照此进行理解。
35.在步骤s13中,在流水线作业编译报错的情况下,基于所获取的代码工程中包括的本地锁定文件和所生成的流水线锁定文件,判断标识信息相同的依赖包的本地版本信息与流水线版本信息是否一致,以监控依赖包的版本变化。例如,可以将本地锁定文件和流水线锁定文件进行比对,具体地,以标识信息为基础,将相同的标识信息在两个锁定文件中分别对应的本地版本信息和流水线版本信息进行比对,以判断标识信息相同的依赖包的本地版本信息和流水线版本信息是否相同,从而实现监控依赖包的版本变化。
36.通过上述技术方案,获取本地锁定文件,生成流水线锁定文件,在流水线作业编译报错的情况下,基于本地锁定文件和流水线锁定文件判断依赖包的本地版本信息和流水线版本信息是否一致,也就是判断在本地作业时和流水线作业时依赖包的版本是否发生变化,如此,实现了监控依赖包的版本变化。
37.可选地,在本技术实施例中,监控方法还可以包括以下内容。对本地版本信息和流水线版本信息不一致的依赖包进行提示反馈。通过提示反馈,可以使得用户了解哪些依赖包的本地版本信息和流水线版本信息是不一致的,采取措施来解决问题,以使得流水线作业能顺利进行。具体地,可以是通过显示依赖包的标识信息、本地版本信息和流水线版本信息来进行提示反馈。
38.可选地,在本技术实施例中,还可以监控依赖包的依赖关系。其中,针对任一依赖包,依赖关系表明了该依赖于哪一或哪几个依赖包。例如,在编译报错的情况下,对比依赖包在本地对应的依赖关系和在流水线对应的依赖关系,以监控依赖包的依赖关系是否发生变化。具体地,锁定文件中还包括依赖包的依赖关系,基于锁定文件监控依赖包的依赖关系变化。例如,本地锁定文件还包括代码工程中包括的代码在本地进行编译时使用的依赖包的本地依赖关系,流水线锁定文件还包括所获取的依赖包的流水线依赖关系,监控方法还包括:在流水线作业编译报错的情况下,基于所获取的代码工程中包括的本地锁定文件和所生成的流水线锁定文件,判断标识信息相同的依赖包的本地依赖关系与流水线依赖关系是否一致,以监控依赖包的依赖关系变化。其中,本地依赖关系针对的是在本地进行编译代码时使用的依赖包,流水线依赖关系针对的是在流水线作业进行编译代码时使用的依赖包。可选地,监控依赖包的依赖关系变化,可以参照以下内容。将本地锁定文件和流水线锁
定文件进行比对,具体地,以标识信息为基础,将相同的标识信息在两个锁定文件中分别对应的本地依赖关系和流水线依赖关系进行比对,以判断标识信息相同的依赖包的本地依赖关系和流水线依赖关系是否相同,从而实现监控依赖包的依赖关系变化。另外,在提示反馈是,还可以对本地依赖关系和流水线依赖关系进行显示。
39.可选地,在本技术实施例中,获取流水线作业对应的代码工程可以包括以下内容。接收对流水线作业对应的代码工程的设定。具体地,用户在交互界面上选择流水作业对应的代码工程,通过交互界面接收到用户选择的代码工程,从而接收到对代码工程的设定。例如,在交互界面选择代码工程的名称等能对代码工程进行区分的代码工程信息,接收到的选择的代码工程信息,从而接收到对代码工程的设定。从代码仓拉取所设定的代码工程,以获取到设定的代码工程。例如,在通过交互界面选择代码工程信息的情况下,接收到设定的代码工程信息,从代码仓拉取与接收到的代码工程信息对应的代码工程,从而拉取到设定的代码工程。
40.图2示意性示出了根据本技术实施例的用于监控依赖包的监控方法的逻辑示意图。下面结合图2对本技术实施例提供的监控方法进行示例性介绍。其中,在该实施例中,具有以下术语解释。持续集成(continuous integration,ci):根据预设条件,可以自动触发相应流程;私服:专有的、不进行共享的服务器,可用于存放各机构专用的依赖包;依赖包:库文件,包含静态库及动态库,用于程序包的安装;锁定文件:依赖包的特性文件,包含依赖包的名称、源地址、依赖关系和版本信息。其中,在该实施例中,所有依赖包的依赖关系体现为依赖树,也就是,锁定文件包括依赖包的名称、源地址和版本信息及依赖树。此外,本技术实施例提供的技术方案的主要内容包括:(1)在用户本地运行项目时,将本地所使用的依赖包的依赖关系、版本信息的内容记录至本地锁定文件,在上传代码至代码仓时将本地锁定文件同步上传;(2)在向代码仓push代码时提示用户执行本地程序,生成并推送对应的本地锁定文件;(3)在配置流水线,选择依赖包时,同步生成流水线锁定文件,用于记录已配置依赖包之间的依赖关系及版本信息;(4)在流水线中拉取代码工程时,同时拉取本地锁定文件,并本地锁定文件与流水线锁定文件进行比对,出现依赖包的依赖关系和/或版本信息不一致时对用户进行提示;(5)在本地作业和流水线作业时分别可以选择环境,针对所选择的环境确定对应的依赖包的依赖关系及版本信息。
41.在该实施例中,提供的是基于持续集成针对流水线依赖包进行比对的机制。具体地,如图2所示,用户将代码和代码对应的pom文件推送到代码仓以进行存储,同时将代码和代码对应的pom文件传到本地。
42.在本地接收到代码和代码对应的pom文件后进行以下内容。针对代码进行本地编译项目和本地调试项目。依据pom文件获取本地作业对应的依赖包到本地工作目录中。在本地工作目录中,基于获取的依赖包编译代码。在编译代码时,按照代码编译顺序记录依赖包的名称、本地依赖关系、本地版本信息及源地址。基于记录的本地依赖关系生成本地依赖树。可选地,可以是通过命令、插件等多种方式对本地依赖关系进行遍历从而生成本地依赖树,依赖树展示了被编译的代码涉及的所有依赖包的依赖关系。例如,可以通过mvn dependency:tree生成依赖树。将本地依赖树和依赖包的名称、本地版本信息及源地址存储到mvn-lock.json,以生成本地mvn-lock.json。推送生成的本地mvn-lock.json到代码仓。需要说明的是本地mvn-lock.json与代码和代码对应的pom文件是一一对应存储的。当本地
mvn-lock.json被推送到代码仓时,其与被编译而得到其所包括的依赖包的名称、本地依赖关系、本地版本信息及源地址的代码相对应。可选地,在本技术实施例中,针对每一依赖包,可以将名称、本地版本信息及源地址生成对应的md5值或sha1,存储md5值或者sha1及依赖树到mvn-lock.json,并且md5值或者sha1与其对应的依赖包在本地依赖树中的位置顺序相对应,以生成本地mvn-lock.json。同时,在流水线mvn-lock.json中名称、本地版本信息及源地址生成也是以md5值或sha1进行存储。需要说明的是,在名称、版本信息及源地址以md5值或sha1进行存储的情况下,比对本地mvn-lock.json和流水线mvn-lock.json按照本地依赖树和流水线依赖树中依赖包的位置顺序比对本地的md5值或sha1和流水线的md5值或sha1即可,位置顺序相同的依赖包即为在本地作业中和流水线作业中具有相同的名称和源地址的依赖包。此外,比对md5值或sha1是将名称、源地址和版本信息放在一起去对比的,当出现本地的md5值或sha1与流水线的md5值或sha1不一致的情况时,需要将本地的md5值或sha1与流水线的md5值或sha1分别解密成对应的名称、源地址和版本信息,然后具体确定是名称、源地址和版本信息中哪一者或者哪几者不一致。通过比对md5值或sha1可以使得比对更加简化。
43.流水线作业包括以下内容。用户在创建和编辑流水线的时候,会从代码仓拉取代码工程,用户会设定流水线作业对应的代码工程,根据设定的代码工程从代码仓中拉取代码工程,从而拉取到设定的代码工程。其中,在该实施例中,代码工程包括代码、pom文件和本地mvn-lock.json。执行maven命令根据pom文件流水线作业对应的依赖包到流水线工作目录中。在流水线工作目录中,基于获取的依赖包编译代码。在编译代码时,按照代码编译顺序记录依赖包的名称、流水线依赖关系、流水线版本信息及源地址。基于记录的流水线依赖关系生成流水线依赖树。可选地,可以是通过命令、插件等多种方式对流水线依赖关系进行遍历从而生成流水线依赖树,依赖树展示了被编译的代码涉及的所有依赖包的依赖关系。例如,可以通过mvn dependency:tree生成依赖树。将流水线依赖树和依赖包的名称、流水线版本信息及源地址存储到mvn-lock.json,以生成流水线mvn-lock.json。判断代码编译是否成功。例如,判断是否有报错提示。在编译成功的情况下,流水线作业成功。在代码编译未成功的情况下,比对本地mvn-lock.json与流水线mvn-lock.json,判断具有相同名称和源地址的依赖包的本地依赖关系和流水线依赖关系是否一致及本地版本信息和流水线版本信息是否一致。返回比对结果给用户,给用户提供反馈,显示给用户依赖关系和/或版本信息出现不一致的依赖包的名称、源地址及本地依赖关系与本地版本信息和/或流水线依赖关系与流水线版本信息。
44.此外,在本地作业和流水线作业时,还可以配置本地环境信息、流水线环境信息及其他信息,以为本地作业和流水线作业提供运行基础。
45.本技术实施例提供的技术方案拟解决现有技术中本地作业与流水线作业依赖包版本不一致导致无法成功部署的问题。在本技术实施例中,提出依赖包比对机制,公开了一种依赖包变更比对方法,涉及自动程序设计技术,通过生成依赖树并记录关联依赖包的所有版本信息完成依赖包版本是否一致的比对。具体地,基于持续集成工具对本地作业进行信息收集;分析各依赖包在本地作业和流水线作业中分别对应的依赖关系及版本信息,比对本地作业部署的依赖包与持续集成流水线上部署的依赖包不一致的信息。在用户执行持续集成流水线之后向用户推送比对信息及建议。本技术实施例提供的技术方案可以快速定
位由于本地的依赖包及流水线的依赖包不一致造成的问题的原因,也就是确定出是哪个或哪几个依赖包的本地版本信息与流水线版本信息不一致和/或本地依赖关系和/或流水线依赖关系不一致,提升问题排查的针对性和效率;通过给用户提示反馈,使得用户及时采取措施,能够提升用户的持续集成流水线执行成功率。
46.另外,在本技术实施例中,在不生成锁定文件进行比对的情况下,可以可以由用户手动键入自己所依赖的仓库以及下载时间,进行历史版本比对。
47.相应地,本技术实施例的第二方面提供一种用于监控依赖包的监控装置。
48.图3示意性示出了根据本技术实施例的用于监控依赖包的监控装置的结构框图。如图3所示,监控装置300包括代码工程获取模块301、依赖包获取模块302、流水线锁定文件生成模块303和判断模块304。其中,代码工程获取模块301用于获取流水线作业对应的代码工程,其中,代码工程包括代码、pom文件和本地锁定文件,本地锁定文件包括代码工程中包括的代码在本地进行编译时使用的依赖包的标识信息和本地版本信息;依赖包获取模块302用于根据所获取的代码工程中包括的pom文件,获取流水线作业对应的依赖包;流水线锁定文件生成模块303用于基于所获取的依赖包,编译所获取的代码工程中包括的代码并生成流水线锁定文件,其中,流水线锁定文件包括所获取的依赖包的标识信息和流水线版本信息;判断模块304用于在流水线作业编译报错的情况下,基于所获取的代码工程中包括的本地锁定文件和所生成的流水线锁定文件,判断标识信息相同的依赖包的本地版本信息与流水线版本信息是否一致,以监控依赖包的版本变化。
49.可选地,在本技术实施例中,监控装置还包括:提示反馈模块,用于对本地版本信息和流水线版本信息不一致的依赖包进行提示反馈。
50.可选地,在本技术实施例中,本地锁定文件还包括代码工程中包括的代码在本地进行编译时使用的依赖包的本地依赖关系,流水线锁定文件还包括所获取的依赖包的流水线依赖关系,判断模块还用于:在流水线作业编译报错的情况下,基于所获取的代码工程中包括的本地锁定文件和所生成的流水线锁定文件,判断标识信息相同的依赖包的本地依赖关系与流水线依赖关系是否一致,以监控依赖包的依赖关系变化。
51.可选地,在本技术实施例中,代码工程获取模块获取流水线作业对应的代码工程包括:接收对流水线作业对应的代码工程的设定;以及从代码仓拉取所设定的代码工程。
52.本技术实施例提供的用于监控依赖包的监控装置的具体工作原理及益处与本技术实施例提供的用于监控依赖包的监控方法的具体工作原理及益处相似,这里将不再赘述。
53.所述监控装置包括处理器和存储器,上述代码工程获取模块、依赖包获取模块、流水线锁定文件生成模块和判断模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序模块中实现相应的功能。
54.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现上述实施例中所述的监控方法。
55.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
56.此外,本技术实施例的第三方面提供一种处理器,被配置成执行上述的监控方法。
57.另外,本技术实施例的第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的监控方法。
58.此外,本技术实施例的第五方面提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的监控方法。
59.另外,本技术实施例的第六方面提供一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器a01、网络接口a02、存储器(图中未示出)和数据库(图中未示出)。其中,该计算机设备的处理器a01用于提供计算和控制能力。该计算机设备的存储器包括内存储器a03和非易失性存储介质a04。该非易失性存储介质a04存储有操作系统b01、计算机程序b02和数据库(图中未示出)。该内存储器a03为非易失性存储介质a04中的操作系统b01和计算机程序b02的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口a02用于与外部的终端通过网络连接通信。该计算机程序b02被处理器a01执行时以实现一种监控方法。
60.本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
61.在一个实施例中,本技术提供的监控装置可以实现为一种计算机程序的形式,计算机程序可在如图4所示的计算机设备上运行。计算机设备的存储器中可存储组成该监控装置的各个程序模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本技术各个实施例的监控方法中的步骤。
62.此外,本技术实施例的第七方面提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述实施例中所述的监控方法。
63.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
64.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
65.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
66.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
67.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
68.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
69.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
70.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
71.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1