服务监控方法、装置、计算机系统和介质与流程

文档序号:26790916发布日期:2021-09-28 23:21阅读:44来源:国知局
服务监控方法、装置、计算机系统和介质与流程

1.本公开涉及计算机技术领域,更具体地,涉及一种服务监控方法、装置、计算机系统和介质。


背景技术:

2.随着互联网行业的快速发展,微服务架构的应用越来越广泛。微服务架构是拆分出多个可以独立开发、设计、运行和维护的服务,每个服务可以独立部署并且相互隔离,服务之间可以通过应用程序编程接口(application programming interface,简称api)调用。微服务架构可以通过依赖服务之间的调用,为用户提供服务,满足用户的需求。
3.为了保证微服务架构的正常运行和维护,在相关技术中,通常通过单点监控的方法监控各个服务的性能。
4.然而,在实现本发明构思的过程中,发明人发现现有技术中至少存在如下问题:单点监控的方法只能对一个服务的性能进行监控,当某个服务出现性能较差的问题时,仍然需要依靠人工对该服务的依赖服务逐个排查,耗时长且效率低。


技术实现要素:

5.有鉴于此,本公开提供了一种服务监控方法、装置、计算机系统和介质。
6.本公开的一个方面提供了一种服务监控方法,所述服务被配置为处理请求以及在处理请求的过程中调用至少一个依赖服务,所述方法包括:监控所述服务,响应于所述服务接收到所述请求,获得监控数据,所述监控数据包括所述服务开始处理所述请求的时间数据、所述服务处理完成所述请求的时间数据、所述服务开始调用依赖服务的时间数据以及所述依赖服务返回结果的时间数据,以及处理所述监控数据,以得到所述服务关于所述请求的服务执行时间和依赖服务调用时间。
7.根据本公开的实施例,所述方法还包括:基于所述服务关于所述请求的服务执行时间和依赖服务调用时间,生成可视化界面,所述可视化界面中包括图表内容。
8.根据本公开的实施例,所述方法还包括:获取所述监控数据的相关信息,所述相关信息包括所述请求的标识信息和执行所述服务的服务器信息中的至少一个,以及将所述监控数据和所述相关信息关联存储。
9.根据本公开的实施例,所述将所述监控数据和所述相关信息关联存储,包括:将所述请求的标识信息作为键,将所述监控数据和所述服务器信息作为值,关联存储所述监控数据和所述相关信息。
10.根据本公开的实施例,所述将所述监控数据和所述相关信息关联存储,包括:将所述监控数据和所述相关信息关联存储至第一存储器;响应于满足第一条件,将所述监控数据和所述相关信息转移至第二存储器,其中,所述第二存储器的读写速度小于所述第一存储器,所述第一条件包括以下中的至少一个:所述监控数据和所述相关信息在所述第一存储器中的累计存储时间达到第一阈值;所述第一存储器的剩余存储空间小于第二阈值。
11.根据本公开的实施例,所述监控所述服务,包括:通过设置程序注解在所述服务的指定位置处设置监控点,其中,所述指定位置包括所述服务的入口位置、所述服务的出口位置、调用所述依赖服务的入口位置和所述依赖服务的出口位置。
12.根据本公开的实施例,所述方法还包括:基于所述服务执行时间确定所述服务是否出现异常,在所述服务出现异常的情况下,基于所述依赖服务调用时间排查所述依赖服务的性能。
13.本公开的另一个方面提供了一种服务监控装置,所述服务被配置为处理请求以及在处理请求的过程中调用至少一个依赖服务,该装置包括监控模块、获得模块和处理模块。其中,监控模块用于监控所述服务。获得模块用于响应于所述服务接收到所述请求,获得监控数据,所述监控数据包括所述服务开始处理所述请求的时间数据、所述服务处理完成所述请求的时间数据、所述服务开始调用依赖服务的时间数据以及所述依赖服务返回结果的时间数据。处理模块用于处理所述监控数据,以得到所述服务关于所述请求的服务执行时间和依赖服务调用时间。
14.根据本公开的实施例,所述装置还包括:生成模块,用于基于所述服务关于所述请求的服务执行时间和依赖服务调用时间,生成可视化界面,所述可视化界面中包括图表内容。
15.根据本公开的实施例,所述装置还包括获取模块和存储模块。其中,获取模块用于获取所述监控数据的相关信息,所述相关信息包括所述请求的标识信息和执行所述服务的服务器信息中的至少一个。存储模块用于将所述监控数据和所述相关信息关联存储。
16.根据本公开的实施例,所述将所述监控数据和所述相关信息关联存储,包括:将所述请求的标识信息作为键,将所述监控数据和所述服务器信息作为值,关联存储所述监控数据和所述相关信息。
17.根据本公开的实施例,所述将所述监控数据和所述相关信息关联存储,包括:将所述监控数据和所述相关信息关联存储至第一存储器,响应于满足第一条件,将所述监控数据和所述相关信息转移至第二存储器,其中,所述第二存储器的读写速度小于所述第一存储器,所述第一条件包括以下中的至少一个:所述监控数据和所述相关信息在所述第一存储器中的累计存储时间达到第一阈值;所述第一存储器的剩余存储空间小于第二阈值。
18.根据本公开的实施例,所述监控所述服务,包括:通过设置程序注解在所述服务的指定位置处设置监控点,其中,所述指定位置包括所述服务的入口位置、所述服务的出口位置、调用所述依赖服务的入口位置和所述依赖服务的出口位置。
19.根据本公开的实施例,所述装置还包括确定模块和排查模块。其中,确定模块用于基于所述服务执行时间确定所述服务是否出现异常。排查模块用于在所述服务出现异常的情况下,基于所述依赖服务调用时间排查所述依赖服务的性能。
20.本公开的另一方面提供了一种计算机系统,包括:一个或多个处理器,存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的方法。
21.本公开的另一方面提供了一种计算机可读介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
22.本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指
令,所述指令在被执行时用于实现如上所述的方法。
附图说明
23.通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
24.图1示意性示出了根据本公开实施例的服务监控方法和装置的应用场景;
25.图2示意性示出了根据本公开实施例的服务监控方法的流程图;
26.图3示意性示出了根据本公开实施例的监控示意图;
27.图4示意性示出了根据本公开实施例的可视化界面的示意图;
28.图5示意性示出了根据本公开实施例的服务监控装置的框图;以及
29.图6示意性示出了根据本公开实施例的计算机系统的方框图。
具体实施方式
30.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
31.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
32.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
33.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“a或b”应当被理解为包括“a”或“b”、或“a和b”的可能性。
34.本公开的实施例提供了一种服务监控方法,该服务被配置为处理请求以及在处理请求的过程中调用至少一个依赖服务。该方法包括:监控服务,响应于服务接收到请求,获得监控数据,监控数据包括服务开始处理请求的时间数据、服务处理完成请求的时间数据、服务开始调用依赖服务的时间数据以及依赖服务返回结果的时间数据。并且,处理获得的监控数据,以得到该服务关于该请求的服务执行时间和依赖服务调用时间。
35.图1示意性示出了根据本公开实施例的服务监控方法和装置的应用场景100。
36.如图1所示,根据该实施例的应用场景100可以包括微服务架构110和服务器120。
37.微服务架构110中可以包括多个服务,各服务之间可以通过应用程序编程接口(application programming interface,简称api)调用。例如,服务a可以用于响应用户请求,为用户提供相应的服务。并且,服务a在处理该请求的过程中可以调用服务b和服务c。
38.服务器120可以是提供各种服务的服务器。例如,服务器120可以对服务a进行监控,接收针对服务a的监控数据,并对监控数据进行分析处理。
39.需要说明的是,本公开实施例所提供的服务监控方法一般可以由服务器120执行。相应地,本公开实施例所提供的服务监控装置一般可以设置于服务器120中。本公开实施例所提供的服务监控方法也可以由不同于服务器120且能够与微服务架构110和/或服务器120通信的服务器或服务器集群执行。相应地,本公开实施例所提供的服务监控装置也可以设置于不同于服务器120且能够与微服务架构110和/或服务器120通信的服务器或服务器集群中。
40.应该理解,图1中的微服务架构、微服务架构中的服务和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的微服务架构、微服务架构中的服务和服务器。
41.图2示意性示出了根据本公开实施例的服务监控方法的流程图。
42.根据本公开实施例,服务可以被配置为处理请求以及在处理请求的过程中调用至少一个依赖服务。例如,服务a可以被配置为响应用户请求,生成网页界面。服务a在处理该请求的过程中,可以调用依赖服务b和依赖服务c执行相应的处理内容。
43.如图2所示,该方法包括操作s201~s203。
44.在操作s201,监控服务。
45.根据本公开实施例,可以对微服务架构中的服务进行监控,确定服务的性能,从而可以实现对微服务架构的运维。例如,可以对微服务架构中的每个服务都进行监控,或者对微服务架构中的特定服务进行监控等等。
46.在本公开实施例中,监控服务可以包括:通过设置程序注解在服务的指定位置处设置监控点,其中,指定位置包括服务的入口位置、服务的出口位置、调用依赖服务的入口位置和依赖服务的出口位置。
47.根据本公开实施例,程序注解可以包括名称和备注,用以标识该监控点的相关信息。
48.例如,服务a在处理相关请求时调用依赖服务b。则对服务a进行监控可以包括在服务a的入口位置和出口位置设置监控点,以及在依赖服务b的入口位置(例如,服务a中开始调用依赖服务b的位置)和出口位置(例如,服务a中接收依赖服务b返回结果的位置)也设置监控点。
49.例如,本公开实施例可以在服务a的入口位置和出口位置分别增加程序注解@monitor(name=“服务a”,“提供xxx服务”),在依赖服务b的入口位置和出口位置分别增加程序注解@monitor(name=“服务b”,“提供xxx服务”)。可以理解,本公开实施例的程序注解均添加到服务a对应的程序中。
50.在操作s202,响应于服务接收到请求,获得监控数据。监控数据包括服务开始处理该请求的时间数据、服务处理完成该请求的时间数据、服务开始调用依赖服务的时间数据以及依赖服务返回结果的时间数据。
51.根据本公开实施例,服务接收到请求后,可以开始执行该服务对应的程序以处理
该请求。各监控点可以获得程序执行到相应位置时的时间数据。
52.例如,图3示意性示出了根据本公开实施例的监控示意图。
53.如图3所示,响应于服务a接收到请求,服务a对应的程序开始处理该请求。则位于服务a入口位置的监控点可以获得服务a开始处理该请求的时间数据,位于依赖服务b入口位置的监控点可以获得服务a开始调用依赖服务b的时间数据,位于依赖服务b出口位置的监控点可以获得依赖服务b返回结果的时间数据,位于服务a出口位置的监控点可以获得服务a处理完成该请求的时间数据。
54.根据本公开实施例,监控引擎例如可以借助代理技术生成代理,从而实现各监控点的监控功能。
55.在操作s203,处理监控数据,以得到服务关于该请求的服务执行时间和依赖服务调用时间。
56.根据本公开实施例,可以基于服务开始处理该请求的时间数据和服务处理完成该请求的时间数据之间的时间差确定关于该请求的服务执行时间。可以基于服务开始调用依赖服务的时间数据和依赖服务返回结果的时间数据之间的时间差确定依赖服务的调用时间。
57.例如,服务a开始处理请求的时间为10000000000,服务a处理完成该请求的时间为10000000060,服务a开始调用服务b的时间为10000000020,服务b返回结果的时间为10000000030,服务a开始调用服务c的时间为10000000040,服务c返回结果的时间为10000000055。则针对此次请求,服务a的执行时间为60(纳秒),服务b的调用时间为10(纳秒),服务c的调用时间为15(纳秒)。
58.在本公开实施例中,还可以基于服务执行时间确定服务是否出现异常,在服务出现异常的情况下,基于依赖服务调用时间排查依赖服务的性能。
59.例如,服务a处理相关请求的平均时间为60纳秒,若服务a某次或某几次或某段时间内处理相关请求的执行时间过长(例如,超出平均时间的50%),则可以认为服务a出现异常,此时,可以根据服务a所依赖的各依赖服务的调用时间确定各依赖服务的性能
60.例如,服务a在处理请求的过程中需要调用依赖服务b和服务c。针对某次请求,服务a的执行时间为100纳秒(例如,正常范围为50~70纳秒),服务b的调用时间为50纳秒(例如,正常范围为5~15纳秒),服务c的调用时间为15纳秒(例如,正常范围为10~20纳秒)。首先可以通过服务a的执行时间确定服务a出现异常,再通过服务b的调用时间确定是由于服务b的性能出现问题导致的服务a异常,则可以对服务b进行运维。
61.本公开实施例通过监控服务的指定位置,获得服务开始处理请求的时间数据、服务处理完成请求的时间数据、服务开始调用依赖服务的时间数据以及依赖服务返回结果的时间数据,进而可以获得服务处理该请求的执行时间和其所依赖的服务的调用时间,从而可以基于执行时间和调用时间确定该服务和其所依赖的服务的性能问题。避免了人工依次排查的问题,从而可以通过服务处理一次请求所对应的监控数据,排查出存在性能问题的服务。
62.在本公开实施例中,还可以获取监控数据的相关信息,相关信息包括该请求的标识信息和执行该服务的服务器信息中的至少一个,以及将监控数据和相关信息关联存储。例如,将请求的标识信息作为键,将监控数据和服务器信息作为值,关联存储监控数据和相
关信息。
63.根据本公开实施例,请求的标识信息可以包括处理该请求的服务的服务名称以及该请求对应的时间戳。例如,标识信息可以为service-a-1574854329588,其中,service-a表示处理该请求的服务a的服务名称,时间戳表示为1574854329588(纳秒)。执行该服务的服务器信息例如可以是服务器ip地址等。
64.例如,服务a在处理相关请求时需要调用依赖服务b和服务c。服务a的名称为service-a,服务b的名称为service-b,服务c的名称为service-c。监控数据包括:服务a开始处理请求的时间为10000000000,服务a处理完成该请求的时间为10000000060,服务a开始调用服务b的时间为10000000020,服务b返回结果的时间为10000000030,服务a开始调用服务c的时间为10000000040,服务c返回结果的时间为10000000055。服务a对于该请求生成的标识信息为service-a-1574854329588。执行服务a的服务器ip地址为10.22.33.44。
65.本公开实施例可以将请求的标识信息(service-a-1574854329588)作为键进行存储,与该键对应的相关列可以包括:
66.1)列service-a-0-start(表示服务a开始处理请求的时间),该列对应的值可以为10000000000;
67.2)列service-a-1-service-b-start(表示服务a开始调用服务b的时间),该列对应的值可以为10000000020;
68.3)列service-a-1-service-b-end(表示服务b返回结果的时间),该列对应的值可以为10000000030;
69.4)列service-a-2-service-c-start(表示服务a开始调用服务c的时间),该列对应的值可以为10000000040;
70.5)列service-a-2-service-c-end(表示服务c返回结果的时间),该列对应的值可以为10000000055;
71.6)列service-a-0-end(表示服务a处理完成该请求的时间),该列对应的值可以为10000000060;
72.7)列period-0-service-a(表示服务a的执行时间),该列对应的值可以为60;
73.8)列period-1-service-b(表示服务b的调用时间),该列对应的值可以为10;
74.9)列period-2-service-c(表示服务c的调用时间),该列对应的值可以为15;
75.10)列total(表示服务处理该请求的总耗时),该列对应的值可以为60;以及
76.11)列ip(执行服务a的服务器ip地址),该列对应的值可以为10.22.33.44。
77.在本公开实施例中,可以先将上述监控数据和相关信息关联存储至第一存储器,然后响应于满足第一条件,再将监控数据和相关信息转移至第二存储器,其中,第二存储器的读写速度小于第一存储器。第一条件包括以下中的至少一个:监控数据和相关信息在第一存储器中的累计存储时间达到第一阈值,或者第一存储器的剩余存储空间小于第二阈值。
78.例如,可以先将监控数据和相关信息临时存储在请求上下文信息对应的存储器中,或者将监控数据和相关信息临时存储在缓存中。然后响应于满足第一条件,再将监控数据和相关信息转移至持久化存储的硬盘或者磁盘中。可以理解,本公开实施例通过异步将监控数据和相关信息从第一存储器中转移到第二存储器,可以减少网络传输次数,不影响
主程序的性能,从而可以提高监控性能。
79.根据本公开实施例,还可以基于服务关于请求的服务执行时间和依赖服务调用时间,生成可视化界面,可视化界面中包括图表内容。
80.可视化界面可以包括图表内容,图表内容例如可以包括折线图或者柱状图等。折线图或者柱状图可以用来表示服务执行时间和依赖服务调用时间等信息,以便用户可以直观地判断各服务的性能情况。
81.例如,图4示意性示出了根据本公开实施例的可视化界面的示意图。在该实施例中,服务a可以对相关请求进行处理,并在处理过程中调用依赖服务b、服务c和服务d。
82.如图4所示,该图表的横轴可以表示请求发生的时间,纵轴可以表示服务的执行时间和依赖服务的调用时间。例如,折线410可以表示服务a针对各时间点的请求的执行时间,柱状区域的420部分可以表示服务b的调用时间,柱状区域的430部分可以表示服务c的调用时间,柱状区域的440部分可以表示服务d的调用时间。本公开实施例还可以显示针对某个时间点的请求的详细信息450。
83.本公开实施例通过监控服务的指定位置,获得服务开始处理请求的时间数据、服务处理完成请求的时间数据、服务开始调用依赖服务的时间数据以及依赖服务返回结果的时间数据,进而可以获得服务处理该请求的执行时间和其所依赖的服务的调用时间,从而可以基于执行时间和调用时间确定该服务和其所依赖的服务的性能问题。避免了人工依次排查导致的效率低下的问题,从而可以通过服务处理一次请求所对应的监控数据,排查出存在性能问题的服务,提高排查效率。
84.本公开实施例还可以基于服务关于请求的服务执行时间和依赖服务调用时间,生成可视化界面,以便用户可以直观地判断各服务的性能情况,有效提高性能排查效率和用户体验感。
85.图5示意性示出了根据本公开实施例的服务监控装置500的框图。
86.如图5所示,该装置500包括监控模块510、获得模块520以及处理模块530。其中,服务被配置为处理请求以及在处理请求的过程中调用至少一个依赖服务。
87.监控模块510用于监控服务。
88.获得模块520用于响应于服务接收到请求,获得监控数据,监控数据包括服务开始处理请求的时间数据、服务处理完成请求的时间数据、服务开始调用依赖服务的时间数据以及依赖服务返回结果的时间数据。
89.处理模块530用于处理监控数据,以得到服务关于请求的服务执行时间和依赖服务调用时间。
90.根据本公开实施例,装置500还包括:生成模块,用于基于服务关于请求的服务执行时间和依赖服务调用时间,生成可视化界面,可视化界面中包括图表内容。
91.根据本公开实施例,装置500还包括获取模块和存储模块。其中,获取模块用于获取监控数据的相关信息,相关信息包括请求的标识信息和执行服务的服务器信息中的至少一个。存储模块用于将监控数据和相关信息关联存储。
92.根据本公开实施例,将监控数据和相关信息关联存储,包括:将请求的标识信息作为键,将监控数据和服务器信息作为值,关联存储监控数据和相关信息。
93.根据本公开实施例,将监控数据和相关信息关联存储,包括:将监控数据和相关信
息关联存储至第一存储器,响应于满足第一条件,将监控数据和相关信息转移至第二存储器。其中,第二存储器的读写速度小于第一存储器。第一条件包括以下中的至少一个:监控数据和相关信息在第一存储器中的累计存储时间达到第一阈值;第一存储器的剩余存储空间小于第二阈值。
94.根据本公开实施例,监控服务,包括:通过设置程序注解在服务的指定位置处设置监控点,其中,指定位置包括服务的入口位置、服务的出口位置、调用依赖服务的入口位置和依赖服务的出口位置。
95.根据本公开实施例,装置500还包括确定模块和排查模块。其中,确定模块用于基于服务执行时间确定服务是否出现异常。排查模块用于在服务出现异常的情况下,基于依赖服务调用时间排查依赖服务的性能。
96.根据本公开实施例,装置500例如可以执行上文参考图2描述的方法,在此不再赘述。
97.根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
98.例如,监控模块510、获得模块520以及处理模块530可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,监控模块510、获得模块520以及处理模块530中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,监控模块510、获得模块520以及处理模块530中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
99.图6示意性示出了根据本公开实施例的计算机系统的方框图。图6示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
100.如图6所示,根据本公开实施例的计算机系统600包括处理器601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行参考图2描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
101.在ram 603中,存储有系统600操作所需的各种程序和数据。处理器601、rom 602以
及ram 603通过总线604彼此相连。处理器601通过执行rom 602和/或ram 603中的程序来执行以上参考图2描述的方法。需要注意,程序也可以存储在除rom 602和ram 603以外的一个或多个存储器中。处理器601也可以通过执行存储在一个或多个存储器中的程序来执行以上参考图2描述的方法。
102.根据本公开的实施例,系统600还可以包括输入/输出(i/o)接口605,输入/输出(i/o)接口605也连接至总线604。系统600还可以包括连接至i/o接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
103.根据本公开的实施例,上文参考流程图描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
104.需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。根据本公开的实施例,计算机可读介质可以包括上文描述的rom 602和/或ram 603和/或rom 602和ram 603以外的一个或多个存储器。
105.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所
标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
106.作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行如上所述的方法。
107.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1