一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种野指针的确定方法和装置与流程

2022-08-09 08:32:10 来源:中国专利 TAG:


1.本技术属于计算机技术领域,尤其涉及一种野指针的确定方法和装置。


背景技术:

2.在ios系统中,常规的崩溃(crash)数量是很少的,一般情况下发生崩溃主要是因为不能稳定复现或缺乏有效信息,根据统计发现目前剩余的无法定位和解决的崩溃有60%以上都是由于野指针引起的。野指针是指向一个已删除的对象或者受限内存区域的指针,较为常见的是这个指针指向的内存,在别处被回收了,但是这个指针不知道,因此依然还指向这块内存。
3.在平时的开发、测试、灰度测试期间,都会遇到各种各样的崩溃,有些崩溃可以被及时发现,但是有些崩溃是很隐蔽的,在测试期间不容易发现,只有到线上生产环境中才容易暴露出来,但是到线上生产环境才发现就已经晚了,因此,需要在开发等前期阶段尽早定位崩溃,尽早对崩溃进行处理。
4.针对如何及时有效地发现野指针导致的崩溃,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术目的在于提供一种野指针的确定方法和装置,可以实现对野指针及时高效的识别,以减少系统崩溃发生的可能性。
6.本技术提供一种野指针的确定方法和装置是这样实现的:
7.一种野指针的确定方法,所述方法包括:
8.控制监测子类监测目标对象所指向的内存空间是否被回收,其中,所述监测子类是为所述目标对象生成的,与所述目标对象指向同一内存空间的子类;
9.在确定所述目标对象所指向的内存空间被回收的情况下,确定指向所述目标对象的指针为野指针;
10.控制所述监测子类向指向所述目标对象的指针发送回收消息,以通知所述指针所述目标对象的内存空间已被回收。
11.在一个实施方式中,在控制监测子类监测目标对象所指向的内存空间是否被回收之前,还包括:;
12.确定所述目标对象是否为即时销毁类对象;
13.在确定所述目标对象为即时销毁类对象的情况下,为所述目标对象生成所述监测子类,其中,所述监测子类与所述目标对象指向同一内存空间。
14.在一个实施方式中,控制所述监测子类向指向所述目标对象的指针发送回收消息,以通知所述指针所述目标对象的内存空间已被回收之后,还包括:
15.以指向所述目标对象的指针作为目标指针;
16.控制所述目标指针指向一块非回收的内存空间,或者,控制所述目标指针指向特定对象的内存空间。
17.在一个实施方式中,控制所述监测子类向指向所述目标对象的指针发送回收消息,包括:
18.控制所述监测子类调用底层c语言,通过c语言代码发送所述回收消息。
19.在一个实施方式中,所述监测子类和所述目标对象都继承自nsobject类。
20.在一个实施方式中,应用在ios系统中。
21.一种野指针的确定装置,包括:
22.第一控制模块,用于控制监测子类监测目标对象所指向的内存空间是否被回收,其中,所述监测子类是为所述目标对象生成的,与所述目标对象指向同一内存空间的子类;
23.第一确定模块,用于在确定所述目标对象所指向的内存空间被回收的情况下,确定指向所述目标对象的指针为野指针;
24.第二控制模块,用于控制所述监测子类向指向所述目标对象的指针发送回收消息,以通知所述指针所述目标对象的内存空间已被回收。
25.在一个实施方式中,上述装置还包括:
26.第二确定模块,用于在控制监测子类监测目标对象所指向的内存空间是否被回收之前,确定所述目标对象是否为即时销毁类对象;
27.生成模块,用于在确定所述目标对象为即时销毁类对象的情况下,为所述目标对象生成所述监测子类,其中,所述监测子类与所述目标对象指向同一内存空间。
28.一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述方法的步骤。
29.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述方法的步骤。
30.本技术提供的野指针的确定方法和装置,通过为目标对象生成一一对应的监测子类,进而通过监测子类实现对目标对象所指向的内存空间是否回收进行监测,从而可以及时确定出目标对象对应的指针是否为野指针。通过上述方案可以解决现有的野指针无法被有效识别,从而导致的系统容易崩溃的问题,达到了高效及时识别野指针,从而避免系统崩溃的技术效果。
附图说明
31.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
32.图1是本技术提供的野指针的确定方法一种实施例的方法流程图;
33.图2是本技术提供的野指针、对象、子类之间的关系示意图;
34.图3是本技术提供的一种野指针的确定方法的电子设备的硬件结构框图;
35.图4是本技术提供的野指针的确定装置一种实施例的结构框图。
具体实施方式
36.为了使本技术领域的人员更好地理解本技术中的技术方案,下面将结合本技术实
施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
37.针对现有的无法及时高效发现野指针导致系统容易出现崩溃的问题,在本例中,考虑到可以为目标对象生成监测子类,监测子类与目标对象指向相同的内存空间,这样,通过监测子类可以嗅探到目标对象所指向的内存空间是否已被回收。
38.图1是本技术提供的野指针的确定方法一种实施例的方法流程图。虽然本技术提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本技术实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
39.具体的,如图1所示,上述的野指针的确定方法可以包括如下步骤:
40.步骤101:控制监测子类监测目标对象所指向的内存空间是否被回收,其中,所述监测子类是为所述目标对象生成的,与所述目标对象指向同一内存空间的子类;
41.即,为每个需要监测的目标对象写一个继承自nsobject类的代理类,通过该新写的代理类去跟踪该对象销毁的整个过程,并且该代理类指向该对象的内存空间,以便最终确认该对象的内存空间是否已经被回收,从而来定位野指针。
42.步骤102:在确定所述目标对象所指向的内存空间被回收的情况下,确定指向所述目标对象的指针为野指针;
43.例如:假设存在一个指针a,该指针指向的是对象b,对象b的内存空间16进制地址为0x11;因为对象b是需要随时销毁的类,因此,指针a就存在是野指针的可能,因此,需要定位该指针,因为指针a是崩溃可能发生的位置。为此,可以为对象b写一个子类c;其中,子类c继承自nsobject类,因为在ios代码里任意一个对象都是nsobject的子类,因此对象b也是nsobject的子类;可以令子类c指向对象b的内存空间0x11,即,子类c与对象b指向了同一块存储空间,子类c作为对象b的一个嗅探器,因为子类c和对象b指向了同一块内存空间,因此,一旦该内容空间存在任何的改变、释放,那么子类c是可以知晓的,因此,可以通过子类c来嗅探对象b是否存在或者是否已回收。
44.步骤103:控制所述监测子类向指向所述目标对象的指针发送回收消息,以通知所述指针所述目标对象的内存空间已被回收。
45.即,通过为目标对象生成一一对应的监测子类,进而通过监测子类实现对目标对象所指向的内存空间是否回收进行监测,从而可以及时确定出目标对象对应的指针是否为野指针。通过上述方案可以解决现有的野指针无法被有效识别,从而导致的系统容易崩溃的问题,达到了高效及时识别野指针,从而避免系统崩溃的技术效果。
46.具体的,在在控制监测子类监测目标对象所指向的内存空间是否被回收之前,可以确定目标对象是否为即时销毁类对象;在确定所述目标对象为即时销毁类对象的情况下,为所述目标对象生成所述监测子类,其中,所述监测子类与所述目标对象指向同一内存
空间。这主要是考虑到对于即时销毁类对象是随时都可能销毁的,而对于单例对象因为是全生命周期的,因此,不会被销毁,为此,为了减少对监测子类的设置,可以仅对即时销毁类的对象设置监测子类。
47.在控制所述监测子类向指向所述目标对象的指针发送回收消息,以通知所述指针所述目标对象的内存空间已被回收之后,可以以指向所述目标对象的指针作为目标指针;控制所述目标指针指向一块非回收的内存空间,或者,控制所述目标指针指向特定对象的内存空间。
48.即,例如:通过子类c可以嗅探对象b的内存空间0x11被回收了,那么子类c就可以捕获这个内存空间0x11的回收消息,然后可以通过forwardmessage等方法,将该回收消息发送指针a,这样指针a就知道了对象b的内存空间0x11被回收了,从而指针a就可以指向一块新的非回收的内存空间或者别的指定对象的内存空间,从而可以避免指针a在不知情的情况下,指向已经被回收的对象b的内存空间,从而造成崩溃。
49.具体的,控制所述监测子类向指向所述目标对象的指针发送回收消息,可以是控制所述监测子类调用底层c语言,通过c语言代码发送所述回收消息。
50.上述监测子类和所述目标对象可以都继承自nsobject类。
51.考虑到ios系统中容易出现因为野指针的崩溃问题,因此,可以将上述的野指针确定方法应用在ios系统中。
52.下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本技术,并不构成对本技术的不当限定。
53.针对在应用开发的过程中经常会出现野指针崩溃的问题,而对于崩溃堆栈而言是没有太多有效信息的,且在ios工程实践过程中很难依靠xcode提供的malloc scribble、zombie等工具复现监控的野指针崩溃问题。对于malloc scribble而言,填充已释放对象的内存风险较高,经过尝试xcode9的malloc scribble启动后已经不会填充对象的内存地址。zombie相比malloc scribble而言,不需要考虑会不会崩溃的问题,只要野指针指向僵尸对象,那么再次访问野指针就一定会崩溃。
54.因此,如果可以及时发现野指针,并对其进行处理,那么可以有效避免可能由野指针带来的崩溃情况的发生。
55.为了可以及时发现野指针,在本例中考虑到可以为每个需要监测的目标对象写一个继承自nsobject类的代理类,通过该新写的代理类去跟踪该对象销毁的整个过程,并且该代理类指向该对象的内存空间,以便最终确认该对象的内存空间是否已经被回收,从而来定位野指针。
56.具体的,可以包括如下步骤:
57.s1:假设如图2所示,存在一个指针a,该指针指向的是对象b,对象b的内存空间16进制地址为0x11;
58.s2:因为对象b是需要随时销毁的类,因此,指针a就存在是野指针的可能,因此,需要定位该指针,因为指针a是崩溃可能发生的位置。为此,可以为对象b写一个子类c;
59.其中,子类c继承自nsobject类,因为在ios代码里任意一个对象都是nsobject的子类,因此对象b也是nsobject的子类;
60.s3:令子类c指向对象b的内存空间0x11即,子类c与对象b指向了同一块存储空间,
子类c作为对象b的一个嗅探器,因为子类c和对象b指向了同一块内存空间,因此,一旦该内容空间存在任何的改变、释放,那么子类c是可以知晓的,因此,可以通过子类c来嗅探对象b是否存在或者是否已回收;
61.s4:如果识别到对象b在别处被回收了,那么指针a就指向了已删除的对象b的内存区域,但是这时指针a并不知道对象b的内存区间0x11被回收了,因为内存空间的回收系统是不会告知指针a的,这样指针a就变成野指针了;
62.s5:通过子类c可以嗅探对象b的内存空间0x11被回收了,那么子类c就可以捕获这个内存空间0x11的回收消息,然后可以通过forwardmessage等方法,将该回收消息发送指针a,这样指针a就知道了对象b的内存空间0x11被回收了,从而指针a就可以指向一块新的非回收的内存空间或者别的指定对象的内存空间,从而可以避免指针a在不知情的情况下,指向已经被回收的对象b的内存空间,从而造成崩溃。
63.具体的,在子类a将回收消息发送指针a的时候,可以是通过java调用底层的c语言向指针a发送回收消息。
64.上述的野指针的确定方法在debug阶段、灰度阶段、上线阶段都可以使用,尤其是用在debug阶段可以有效提升性能,即,可以达到在保证有效覆盖率的前提下尽可能发现崩溃的目的。
65.本技术上述实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在电子设备上为例,图3是本技术提供的一种野指针的确定方法的电子设备的硬件结构框图。如图3所示,电子设备10可以包括一个或多个(图中仅示出一个)处理器02(处理器02可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器04、以及用于通信功能的传输模块06。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备10还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
66.存储器04可用于存储应用软件的软件程序以及模块,如本技术实施例中的野指针的确定方法对应的程序指令/模块,处理器02通过运行存储在存储器04内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的野指针的确定方法。存储器04可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器04可进一步包括相对于处理器02远程设置的存储器,这些远程存储器可以通过网络连接至电子设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
67.传输模块06用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备10的通信供应商提供的无线网络。在一个实例中,传输模块06包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块06可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
68.在软件层面,上述野指针的确定装置可以如图4所示,可以包括:
69.第一控制模块401,用于控制监测子类监测目标对象所指向的内存空间是否被回收,其中,所述监测子类是为所述目标对象生成的,与所述目标对象指向同一内存空间的子类;
70.第一确定模块402,用于在确定所述目标对象所指向的内存空间被回收的情况下,确定指向所述目标对象的指针为野指针;
71.第二控制模块403,用于控制所述监测子类向指向所述目标对象的指针发送回收消息,以通知所述指针所述目标对象的内存空间已被回收。
72.在一个实施方式中,上述野指针的确定装置还可以包括:第二确定模块,用于在控制监测子类监测目标对象所指向的内存空间是否被回收之前,确定所述目标对象是否为即时销毁类对象;生成模块,用于在确定所述目标对象为即时销毁类对象的情况下,为所述目标对象生成所述监测子类,其中,所述监测子类与所述目标对象指向同一内存空间。
73.在一个实施方式中,控制所述监测子类向指向所述目标对象的指针发送回收消息,以通知所述指针所述目标对象的内存空间已被回收之后,还可以以指向所述目标对象的指针作为目标指针;控制所述目标指针指向一块非回收的内存空间,或者,控制所述目标指针指向特定对象的内存空间。
74.在一个实施方式中,控制所述监测子类向指向所述目标对象的指针发送回收消息,可以包括:控制所述监测子类调用底层c语言,通过c语言代码发送所述回收消息。
75.在一个实施方式中,所述监测子类和所述目标对象都继承自nsobject类。
76.在一个实施方式中,上述装置可以应用在ios系统中。
77.本技术的实施例还提供能够实现上述实施例中的野指针的确定方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存储器(memory)、通信接口(communications interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的野指针的确定方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
78.步骤1:控制监测子类监测目标对象所指向的内存空间是否被回收,其中,所述监测子类是为所述目标对象生成的,与所述目标对象指向同一内存空间的子类;
79.步骤2:在确定所述目标对象所指向的内存空间被回收的情况下,确定指向所述目标对象的指针为野指针;
80.步骤3:控制所述监测子类向指向所述目标对象的指针发送回收消息,以通知所述指针所述目标对象的内存空间已被回收。
81.从上述描述可知,本技术实施例通过为目标对象生成一一对应的监测子类,进而通过监测子类实现对目标对象所指向的内存空间是否回收进行监测,从而可以及时确定出目标对象对应的指针是否为野指针。通过上述方案可以解决现有的野指针无法被有效识别,从而导致的系统容易崩溃的问题,达到了高效及时识别野指针,从而避免系统崩溃的技术效果。
82.本技术的实施例还提供能够实现上述实施例中的野指针的确定方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的野指针的确定方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
83.步骤1:控制监测子类监测目标对象所指向的内存空间是否被回收,其中,所述监测子类是为所述目标对象生成的,与所述目标对象指向同一内存空间的子类;
84.步骤2:在确定所述目标对象所指向的内存空间被回收的情况下,确定指向所述目标对象的指针为野指针;
85.步骤3:控制所述监测子类向指向所述目标对象的指针发送回收消息,以通知所述指针所述目标对象的内存空间已被回收。
86.从上述描述可知,本技术实施例通过为目标对象生成一一对应的监测子类,进而通过监测子类实现对目标对象所指向的内存空间是否回收进行监测,从而可以及时确定出目标对象对应的指针是否为野指针。通过上述方案可以解决现有的野指针无法被有效识别,从而导致的系统容易崩溃的问题,达到了高效及时识别野指针,从而避免系统崩溃的技术效果。
87.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件 程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
88.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
89.虽然本技术提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
90.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
91.虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
92.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实
现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
93.本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
94.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
95.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
96.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
97.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
98.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
99.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
100.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产
品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
101.本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
102.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
103.以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献