实时流数据的存储方法及装置与流程

文档序号:15736935发布日期:2018-10-23 21:38阅读:308来源:国知局

本发明涉及信息处理技术领域,尤其涉及一种实时流数据的存储方法及装置。



背景技术:

随着信息处理逐渐向大数据处理方向发展,一种适用于大数据查询的新的分布式数据查询引擎Impala已经进入人们的视野。Impala可以提供结构化查询语言结构SQL的定义,并且在实时获取到的数据流经过解析后,能够将实时数据存储在Impala中。

目前,现有的在实时系统传来数据流时,每传来一条数据,就会将数据存储进Impala中,并生成这条数据的parquet文件,依次地,每当传来一条数据进行存储后就会产生一个parquet文件,由实时系统传来的一条条数据所产生大量的parquet文件,会导致查询系统在进行查询操作时,访问所有的parquet文件,影响查询性能,从而降低查询的效率。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种实时流数据的存储方法及装置,主要目的是解决由实时系统传来的一条条数据所产生大量的parquet文件,会导致查询系统在进行查询操作时,访问所有的parquet文件,影响查询性能的问题。

借由上述技术方案,本发明提供的一种实时流数据的存储方法,包括:

接收实时流数据;

对所述实时流数据进行解析,得到解析结果;

根据所述解析结果,确定所述实时流数据的数据条数;

判断所述实时流数据的数据条数是否达到预设数据条数;

如果是,则将所述实时流数据的解析结果写入分布式数据查询引擎。

进一步地,所述判断所述实时流数据的数据条数未达到预设数据条数之后,所述方法还包括:

判断首次接收到所述实时流数据的时间到当前时间所经过的时间是否达到预设时间间隔,或者,判断自上次数据写入所述分布式数据查询引擎的时间到当前时间所经过的时间是否达到预设时间间隔;

如果是,则将所述实时流数据的解析结果写入分布式数据查询引擎。

进一步地,所述方法还包括:

采用第一线程执行所述判断所述实时流数据的数据条数是否达到预设数据条数,以及所述判断首次接收到所述实时流数据的时间点到当前时间所经过的时间是否达到预设时间间隔,或者,判断自上次数据写入所述分布式数据查询引擎的时间到当前时间所经过的时间是否达到预设时间间隔的步骤;

采用与所述第一线程独立的第二线程执行将所述实时流数据的解析结果写入分布式数据查询引擎的步骤。

进一步地,在判断所述实时流数据的数据条数是否达到预设数据条数之前,所述方法还包括:

在与所述第一线程、所述第二线程分别独立的第三线程中配置所述预设数据条数,以及在与所述第一线程、所述第二线程、所述第三线程分别独立的第四线程中配置所述预设时间间隔。

进一步地,在对所述实时流数据进行解析,得到解析结果后,所述方法还包括:

将所述解析结果存储进预设缓存中;

根据所述解析结果,确定所述实时流数据的数据条数包括:

根据所述预设缓存中存储的解析结果,确定所述实时流数据的数据条数。

借由上述技术方案,本发明提供的一种实时流数据的存储装置,包括:

接收单元,用于接收实时流数据;

解析单元,用于对所述实时流数据进行解析,得到解析结果;

确定单元,用于根据所述解析结果,确定所述实时流数据的数据条数;

第一判断单元,用于判断所述实时流数据的数据条数是否达到预设数据条数;

写入单元,用于如果达到预设数据条数,则将所述实时流数据的解析结果写入分布式数据查询引擎。

进一步地,所述装置还包括:第二判断单元,

所述第二判断单元,用于判断首次接收到所述实时流数据的时间到当前时间所经过的时间是否达到预设时间间隔,或者,判断自上次数据写入所述分布式数据查询引擎的时间到当前时间所经过的时间是否达到预设时间间隔;

所述写入单元,还用于如果达到预设时间间隔,则将所述实时流数据的解析结果写入分布式数据查询引擎。

进一步地,所述装置还包括:

所述第一判断单元,具体用于采用第一线程执行所述判断所述实时流数据的数据条数是否达到预设数据条数;

所述第二判断单元,具体用于采用第一线程执行所述判断首次接收到所述实时流数据的时间点到当前时间所经过的时间是否达到预设时间间隔,或者,判断自上次数据写入所述分布式数据查询引擎的时间到当前时间所经过的时间是否达到预设时间间隔的步骤;

所述写入单元,具体用于采用与所述第一线程独立的第二线程执行将所述实时流数据的解析结果写入分布式数据查询引擎的步骤。

进一步地,所述装置还包括:

配置单元,用于在与所述第一线程、所述第二线程分别独立的第三线程中配置所述预设数据条数,及在与所述第一线程、所述第二线程、所述第三线程分别独立的第四线程中配置所述预设时间间隔。

进一步地,所述装置还包括:存储单元,

存储单元,用于将所述解析结果存储进预设缓存中;

所述确定单元,具体用于根据所述预设缓存中存储的解析结果,确定所述实时流数据的数据条数。

借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:

本发明实施例提供的一种实时流数据的存储方法及装置,首先接收实时流数据;对所述实时流数据进行解析,得到解析结果;根据所述解析结果,确定所述实时流数据的数据条数;判断所述实时流数据的数据条数是否达到预设数据条数;如果是,则将所述实时流数据的解析结果写入分布式数据查询引擎。与现有通过将实时系统传来的一条条数据直接存储在Impala中,产生大量的parquet文件相比,本发明实施例通过将接收到的实时流数据进行解析,判断解析后实时流数据数据条数是否达到预设数据条数,若达到,则将接收到的所有实时流数据解析结果写入分布式数据查询引擎,使得多个实时流数据在分布式数据查询引擎中以一个parquet文件形式进行存储,减少了parquet文件的数量,提高了分布式数据查询引擎进行查询操作时,对parquet文件访问的速度,从而提高查询的效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了发明实施例提供的一种实时流数据的存储方法的流程图;

图2示出了发明实施例提供的另一种实时流数据的存储方法的流程图

图3示出了发明实施例提供的一种实时流数据的存储装置的方框图;

图4示出了发明实施例提供的另一种实时流数据的存储装置的方框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供一种实时流数据的存储方法,如图1所示,所述方法包括:

101、接收实时流数据。

其中,所述实时流数据为实时系统实时采集的数据,对于分布式数据查询引擎Impala来说,可以接收到实时流系统实时传输的数据,以便进行数据的查询、存储等操作。由于实时系统对数据的实时性要求比较高,对于接收到的实时流数据需要及时存储在查询引擎中的,以便满足对数据的实时性要求,确保查询结果的准确性,但是,直接将实时接收的每条数据存储在查询引擎中会产生大量中间文件,造成了查询效率较低,因此才会提出一种既可以确保数据实时性,又可以提高查询效率的方法。

102、对所述实时流数据进行解析,得到解析结果。

由于接收到的实时流数据的数据格式或类型并不一定是统一的,需要将实时流数据进行统一,例如,实时流数据可能为二进制、字符串等,可以通过对接收到的实时流数据进行解析,从而确保解析后的实时流数据能够保持数据格式或类型的统一,本发明实施例不对解析前后的实时流数据的数据格式进行具体限定。

103、根据所述解析结果,确定所述实时流数据的数据条数。

其中,所述数据条数为实时流系统进行数据计数的基本单位,根据实时流数据的解析结果,容易知道已经接收的实时流数据的数据条数,以便后续判断数据条数是否达到预设数据条数。

104、判断所述实时流数据的数据条数是否达到预设数据条数。

其中,所述预设数据条数可以根据对数据实时性要求高低以及数据存储、查询速度的要求等方面进行综合设定,对数据实时性要求越高的场合,预设数据条数的值越小,而对数据存储、查询效率越高的场合,则要求数据存储条数越少,往往需要设定的预设数据条数越大,在实际中需要根据各方面的要求进行综合计算得出。

105、如果达到预设数据条数,则将所述实时流数据的解析结果写入分布式数据查询引擎。

其中,所述写入分布式数据查询引擎为将解析后的实时流数据以一个时间点写入分布式数据查询引擎Impala中,以便在分布式数据查询引擎Impala中生成一个parquet文件。

需要说明的是,Impala会根据实时传来的数据进行存储,如数据以一条一条的形式进行存储,Impala的分区下就会生成每条对应的parquet文件,所以,Impala是以时间点形式进行存储生成parquet文件的,因此,在将所述实时流数据的解析结果写入Impala时,就会产生一个parquet文件,从而即确保数据的实时性,也不影响数据在查询系统中的存储。

对于本发明实施例,步骤104之后如果达不到预设数据条数,则返回步骤101,待数据条数达到预设数据条数之后再执行写入操作。

本发明实施例提供的一种实时流数据的存储方法,与现有通过将实时系统传来的一条条数据直接存储在Impala中,产生大量的parquet文件相比,本发明实施例通过将接收到的实时流数据进行解析,判断解析后实时流数据数据条数是否达到预设数据条数,若达到,则将接收到的所有实时流数据解析结果写入分布式数据查询引擎,使得多个实时流数据在分布式数据查询引擎中以一个parquet文件形式进行存储,减少了parquet文件的数量,提高了分布式数据查询引擎进行查询操作时,对parquet文件访问的速度,从而提高查询的效率。

本发明实施例还提供了另一种实时流数据的存储方法,如图2所示,所述方法包括:

201、接收实时流数据。

本步骤与图1所示的步骤101方法相同,在此不再赘述。

202、对所述实时流数据进行解析,得到解析结果。

本步骤与图1所示的步骤102方法相同,在此不再赘述。

203、将所述解析结果存储进预设缓存中。

其中,所述预设缓存为将所有解析后的实时流数据进行存储的一个缓存空间,可以为本地缓存或云端缓存等,本发明实施例不做具体限定。通过将所述解析结果存储进预设缓存中,使得将解析后的实时流数据在进行判断条数之前可以进行缓存存储,避免数据的丢失,以便直接从预设缓存中确定实时流数据的条数。

需要说明的是,预设缓存的缓存大小可以根据接收实时流数据的能力或者接收实时流数据的疏密程度进行设定,本发明实施例不做具体限定,预设缓存中的实时流数据在写入分布式数据查询引擎之后,将预设缓存中的数据进行删除,以便在下一次接收实时流数据后将解析结果存储在预设缓存中。

204、根据所述预设缓存中存储的解析结果,确定所述实时流数据的数据条数。

通过根据所述预设缓存中存储的解析结果,确定所述实时流数据的数据条数,以便根据数据条数判断是否需要写入分布式数据查询引擎,避免接收到的实时流数据在确定数据条数之前出现丢失的情况。

205、判断所述实时流数据的数据条数是否达到预设数据条数。

本步骤与图1所示的步骤104方法相同,在此不再赘述。

对于本发明实施例,步骤205具体可以为采用第一线程执行所述判断所述实时流数据的数据条数是否达到预设数据条数的步骤。

其中,所述第一线程为由系统相对于正在运行的、或暂停运行的其他线程单独配置的线程,可以负责执行本发明实施例中涉及接收、解析、存储、确定以及判断的步骤,尤其是判断所述实时流数据的数据条数是否达到预设数据条数的步骤。利用相对独立的第一线程来执行判断数据条数的步骤,使得就算第一线程执行到哪个步骤都不影响系统中其他程序的运行,既可以达到对实时流数据进行存储的目的。

206a、如果达到预设数据条数,则将所述实时流数据的解析结果写入分布式数据查询引擎。

本步骤与图1所示的步骤105方法相同,在此不再赘述。

在本发明图1所示的实施例以及本实施例中,由于不同时刻所接收的实时流数据的疏密程度不同,为了防止在数据稀疏的情况下,太长时间没有写入Impala数据库,从而导致数据的实时性或者数据查询结果的准确性受到影响,可以在接收到的实时流数据未达到预设数据条数的情况下,增加时间间隔判断的步骤,从而在数据传输稀疏时,也能够按照预设时间间隔写入Impala数据库。如图2所示,与步骤206a并列的步骤206b、如果未达到预设数据条数,判断首次接收到所述实时流数据的时间到当前时间所经过的时间是否达到预设时间间隔,或者,判断自上次数据写入所述分布式数据查询引擎的时间到当前时间所经过的时间是否达到预设时间间隔。

其中,所述首次接收的时间即为接收第一条实时流数据的时间,由于判断数据条数是否到达预设数据条数或判断当前时间是否到达预设时间间隔的否定结果均是回到接收实时流数据的步骤,所以在执行写入分布式数据查询引擎的步骤之前可能需要经过多个循环,所以所述上次为相对于本次需要写入分布式数据查询引擎的步骤对应的上一次,中间可以包括多次只判断数据条数是否到达预设数据条数或判断当前时间是否到达预设时间间隔,而没有将数据写入分布式数据查询引擎的步骤,例如,当前时间为第3次判断实时流数据的数据条数的时间,上次数据写入Impala中即为第2次数据写入Impala的时间。

需要说明的是,由于数据条数过少时,可能达到预设数据条数的时间较长,而较长时间数据写入不到Impala中,会影响Impala的数据查询效果,因此,可以根据数据的疏密程度或Impala内部配置设定预设时间间隔,以便在数据较少时,也可以根据预设时间间隔将数据写入Impala中,可以为1小时、10分钟等,本发明实施例不做具体限定。

对于本发明实施例,步骤206b具体可以为采用第一线程执行所述判断首次接收到所述实时流数据的时间点到当前时间所经过的时间是否达到预设时间间隔,或者,判断自上次数据写入所述分布式数据查询引擎的时间到当前时间所经过的时间是否达到预设时间间隔的步骤。

其中,所述第一线程为与步骤205中的线程是相同的线程,在此不再赘述。

对于本发明实施例,步骤206b之后的步骤207b、如果达到预设时间间隔,则将所述实时流数据的解析结果写入分布式数据查询引擎。

通过到达预设时间间隔,将所述实时流数据的解析结果写入分布式数据查询引擎中,实现为写入分布式数据查询引擎中增加判断条件,避免时间过长还没有将数据写入分布式数据查询引擎,影响数据查询的效果。

对于本发明实施例,步骤206b之后还包括:若没有达到预设时间间隔,则返回步骤201。

对于本发明实施例,步骤206a与步骤207b中的具体可以采用与所述第一线程独立的第二线程执行将所述实时流数据的解析结果写入分布式数据查询引擎的步骤。

其中,所述第二线程为系统相对于正在运行的、或暂停运行的其他线程单独配置的线程,且也与第一线程相对独立,所述第二线程专门用于执行将所述实时流数据的解析结果写入分布式数据查询引擎的步骤。即每当需要将实时流数据的解析结果写入分布式数据查询引擎时,均要利用第二线程进行执行,以便执行的本发明实施例中的写入步骤可以单独进行,不影响其他步骤的执行。

进一步地,本发明实施例还可以包括:在与所述第一线程、所述第二线程分别独立的第三线程中配置所述预设数据条数,以及在与所述第一线程、所述第二线程、所述第三线程分别独立的第四线程中配置所述预设时间间隔。

其中,所述第三线程、所述第四线程均与第一线程、第二线程相独立,且第三线程与第四线程也相互独立,与系统中正在执行或暂停执行的程序也是相互独立。通过采用第三线程配置预设数据条数,采用第四线程配置预设时间间隔,以便预设数据条数及预设时间间隔的数值设置可以在系统程序外部进行设置,实现热切换,既可以随意更改数值,又不需要重新启动程序。

对于本发明实施例,具体的应用场景可以如下所示,但不限于此,包括:第一次接收实时流数据,将实时流数据解析为字符串形式,然后将解析后的字符串存储在预设缓存中,确定出预设缓存中数据的条数为3万,预设数据条数为5万,没有达到预设数据条数,继续接收实时流数据,判断第二次确定数据条数4万的时间是1小时,利用第一线程判断1小时到达预设时间间隔半小时,则将条数为4万的解析后的实时流数据采用第二线程写入分布式数据查询引擎。

本发明实施例提供的另一种实时流数据的存储方法,本发明实施例通过将采用第一线程判断解析存储在预设缓存中的实时流数据的数据条数,若没有到达预设数据条数,则判断第一次接收实时流数据的时间至当前的时间是否到达预设时间间隔,若到达,则利用第二线程将解析后的数据写入分布式数据查询引擎Impala,并利用第三、第四线程更改预设数据条数与预设时间间隔,使得Impala生成一个对应的parquet文件,避免数据存储在预设缓存中时,长时间没有达到预设阈值而影响输出查询的效果,减少了parquet文件的数量,可以实现不同步骤之间的热切换,避免更改预设数据条数与预设时间间隔时重新启动系统,提高了查询系统进行查询操作时,对parquet文件访问的速度,从而提高查询的效率。

进一步地,作为图1所示方法的具体实现,本发明实施例提供一种实时流数据的存储装置,如图3所示,所述装置可以包括:接收单元31、解析单元32、确定单元33、第一判断单元34、写入单元35。

接收单元31,用于接收实时流数据;所述接收单元31为一种实时流数据的存储装置执行接收实时流数据的功能模块。

解析单元32,用于对所述实时流数据进行解析,得到解析结果;所述解析单元32为一种实时流数据的存储装置执行对所述实时流数据进行解析,得到解析结果的功能模块。

确定单元33,用于根据所述解析结果,确定所述实时流数据的数据条数;所述确定单元33为一种实时流数据的存储装置执行根据所述解析结果,确定所述实时流数据的数据条数的功能模块。

第一判断单元34,用于判断所述实时流数据的数据条数是否达到预设数据条数;所述第一判断单元34为一种实时流数据的存储装置执行判断所述实时流数据的数据条数是否达到预设数据条数的功能模块。

写入单元35,用于如果达到预设数据条数,则将所述实时流数据的解析结果写入分布式数据查询引擎。所述写入单元35为一种实时流数据的存储装置执行如果达到预设数据条数,则将所述实时流数据的解析结果写入分布式数据查询引擎的功能模块。

该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

本发明实施例提供的一种实时流数据的存储装置,与现有通过将实时系统传来的一条条数据直接存储在Impala中,产生大量的parquet文件相比,本发明实施例通过将接收到的实时流数据进行解析,判断解析后实时流数据数据条数是否达到预设数据条数,若达到,则将接收到的所有实时流数据解析结果写入分布式数据查询引擎,使得多个实时流数据在分布式数据查询引擎中以一个parquet文件形式进行存储,减少了parquet文件的数量,提高了分布式数据查询引擎进行查询操作时,对parquet文件访问的速度,从而提高查询的效率。

进一步地,作为图2所示方法的具体实现,本发明实施例提供另一种实时流数据的存储装置,如图4所示,所述装置可以包括:接收单元41、解析单元42、确定单元43、第一判断单元44、写入单元45、第二判断单元46、配置单元47、存储单元48。

接收单元41,用于接收实时流数据;

解析单元42,用于对所述实时流数据进行解析,得到解析结果;

确定单元43,用于根据所述解析结果,确定所述实时流数据的数据条数;

第一判断单元44,用于判断所述实时流数据的数据条数是否达到预设数据条数;

写入单元45,用于如果达到预设数据条数,则将所述实时流数据的解析结果写入分布式数据查询引擎。

进一步地,为了进一步地提高实时流数据写入分布式数据查询引擎中的效率,所述装置还包括:第二判断单元46,

所述第二判断单元46,用于判断首次接收到所述实时流数据的时间到当前时间所经过的时间是否达到预设时间间隔,或者,判断自上次数据写入所述分布式数据查询引擎的时间到当前时间所经过的时间是否达到预设时间间隔;

所述写入单元45,还用于如果达到预设时间间隔,则将所述实时流数据的解析结果写入分布式数据查询引擎。

所述第一判断单元44,具体用于采用第一线程执行所述判断所述实时流数据的数据条数是否达到预设数据条数;

所述第二判断单元46,具体用于采用第一线程执行所述判断首次接收到所述实时流数据的时间点到当前时间所经过的时间是否达到预设时间间隔,或者,判断自上次数据写入所述分布式数据查询引擎的时间到当前时间所经过的时间是否达到预设时间间隔的步骤;

所述写入单元45,具体用于采用与所述第一线程独立的第二线程执行将所述实时流数据的解析结果写入分布式数据查询引擎的步骤。

进一步地,为了以不同的线程中配置预设数据条数及预设时间间隔,实现热切换,所述装置还包括:

配置单元47,用于在与所述第一线程、所述第二线程分别独立的第三线程中配置所述预设数据条数,及在与所述第一线程、所述第二线程、所述第三线程分别独立的第四线程中配置所述预设时间间隔。

进一步地,所述装置还包括:存储单元48,

所述存储单元48,用于将所述解析结果存储进预设缓存中;

所述确定单元43,具体用于根据所述预设缓存中存储的解析结果,确定所述实时流数据的数据条数。

该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。

本发明实施例提供的另一种实时流数据的存储装置,本发明实施例通过将采用第一线程判断解析存储在预设缓存中的实时流数据的数据条数,若没有到达预设数据条数,则判断第一次接收实时流数据的时间至当前的时间是否到达预设时间间隔,若到达,则利用第二线程将解析后的数据写入分布式数据查询引擎Impala,并利用第三、第四线程更改预设数据条数与预设时间间隔,使得Impala生成一个对应的parquet文件,避免数据存储在预设缓存中时,长时间没有达到预设阈值而影响输出查询的效果,减少了parquet文件的数量,可以实现不同步骤之间的热切换,避免更改预设数据条数与预设时间间隔时重新启动系统,提高了查询系统进行查询操作时,对parquet文件访问的速度,从而提高查询的效率。

所述实时流数据的存储装置包括处理器和存储器,上述接收单元、解析单元、确定单元、第一判断单元和写入单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决由实时系统传来的一条条数据所产生大量的parquet文件,会导致查询系统在进行查询操作时,访问所有的parquet文件,影响查询性能的问题。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:接收实时流数据;对所述实时流数据进行解析,得到解析结果;根据所述解析结果,确定所述实时流数据的数据条数;判断所述实时流数据的数据条数是否达到预设数据条数;如果是,则将所述实时流数据的解析结果写入分布式数据查询引擎。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1