具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本领域的技术人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
根据本发明的实施例,提供了一种用于联机分析处理中关联关系的数据处理装置,该用于联机分析处理中关联关系的数据处理装置用于将数据仓库中的雪花型关联关系中的较长的关联模型分支在分析数据库中转换成较短的关联模型分支。
图1是根据本发明实施例的用于联机分析处理中关联关系的数据处理装置的示意图。
如图1所示,该装置包括:第一获取单元10、第二获取单元20、第一转换单元30和第一构建单元40。
第一获取单元10用于获取数据仓库中的第一关联模型。
数据仓库中可以用于存储雪花型关联关系和/或星型关联模型的事实表和维度表。其中,在本发明实施例中,第一关联模型可以包括事实表、维度表和事实表与维度表的第一关联关系。第一关联模型为雪花型关联关系,它可以包括多个第一关联模型分支。每个第一关联模型分支可以包括一个事实表和一个或者多个维度表。当一个第一关联模型分支包括一个事实表和一个维度表时,该事实表可以通过一步关联指向维度表;当一个第一关联模型分支包括一个事实表和多个维度表,并且上述多个维度表分别为第一维度表、第二维度表、……、第N维度表时,该事实表可以通过一步关联指向第一维度表,第一维度表可以通过一步关联指向第二维度表,……,第N-1维度表可以通过一步关联指向第N维度表,即该事实表可以分别通过一步、二步、……、N步关联指向第一维度表、第二维度表、……、第N维度表。每个第一关联模型可以包括多个第一关联模型分支,所有属于同一个第一关联模型的第一关联模型分支均具有相同的事实表,并且至少有一个第一关联模型分支为多维度分支。每个多维度分支包括一个事实表和多个维度表。而只有一个事实表和一个维度表的第一关联模型分支为单维度分支。
例如,如图2所示,该雪花型关联关系包括事实表1、维度表2、维度表3、维度表4、维度表5、维度表6、维度表7,事实表1与各维度表之间的连表关系如图2所示。其中,该雪花型关联关系的包括3个第一关联模型分支,该3个第一关联模型分支分别为第一关联模型分支a(事实表1→维度表2)、第一关联模型分支b(事实表1→维度表3→维度表4)、第一关联模型分支c(事实表1→维度表5→维度表6→维度表7)。
在本发明实施例中,获取数据仓库中事实表与维度表的第一关联模型可以包括获取多个第一关联模型分支,即可以获取一个第一关联模型的全部或者部分第一关联模型分支。
优选地,由于数据仓库中除了存储有雪花型关联关系之外,还可能存储有星型关联模型,因此在获取数据仓库中事实表与维度表的第一关联模型之前,该数据处理方法还可以包括:首先,判断数据仓库中是否存在星型关联模型的事实表与维度表,然后,如果判断出数据仓库中存在星型关联模型的事实表与维度表,则不需要对该星型关联模型进行任何处理,而直接在分析数据库中进行联机分析处理(On-Line Analytical Processing,简称Olap),如果判断出数据仓库中不存在星型关联模型的事实表与维度表,则先执行图1所示的各功能单元和功能模块,将雪花型关联关系进行转化为第二关联模型。在将雪花型关联关系进行转化为第二关联模型之后,再在分析数据库中对第二关联模型进行联机分析处理。其中,星型关联模型中每个关联模型分支都只有一个事实表和一个维度表。
第二获取单元20用于从第一关联模型中获取多维度分支。
从第一关联模型中获取多维度分支可以是获取一个或者多个多维度分支。以图2所示的第一关联模型为例,从该第一关联模型中获取多维度分支可以包括:(1)只获取第一关联模型分支b(事实表1→维度表3→维度表4);(2)只获取第一关联模型分支c(事实表1→维度表5→维度表6→维度表7);(3)同时获取第一关联模型分支b(事实表1→维度表3→维度表4)和第一关联模型分支c(事实表1→维度表5→维度表6→维度表7)。
第一转换单元30用于在分析数据库中将第一关联模型中的多维度分支转换成第二关联模型分支。
需要说明的是,第二关联模型分支可以包括多维度分支和单维度分支。其中,第二关联模型分支中维度表的数目小于转换之前的第一关联模型中的该多维度分支中维度表的数目。例如:
(一)基于上述(1),可以将第一关联模型分支b转换为第二关联模型分支a(事实表1→维度表3)和第二关联模型分支b(事实表1→维度表4),其中,第二关联模型分支a和第二关联模型分支b中维度表的个数均为1,小于第一关联模型分支b中的维度表的个数2。
(二)情况1:基于上述(2),可以将第一关联模型分支c转换为第二关联模型分支c(事实表1→维度表5→维度表6)和第二关联模型分支d(事实表1→维度表7),其中,第二关联模型分支c和第二关联模型分支d中维度表的个数分别为2和1,均小于第一关联模型分支c中的维度表的个数3。情况2:基于上述(2),还可以将其转换为第二关联模型分支e(事实表1→维度表5)、第二关联模型分支f(事实表1→维度表6)和第二关联模型分支g(事实表1→维度表7),其中,第二关联模型分支e、第二关联模型分支f和第二关联模型分支g中维度表的个数均为1,小于第一关联模型分支c中的维度表的个数3。情况3:基于上述(2),还可以将其转换为第二关联模型分支h(事实表1→维度表5→维度表7)和第二关联模型分支f(事实表1→维度表6),其中,第二关联模型分支h和第二关联模型分支f中维度表的个数分别为2和1,均小于第一关联模型分支c中的维度表的个数3。
(三)基于上述(3),可以将第一关联模型分支b(一)中的各第二关联模型分支,以及将第一关联模型分支c转换为(二)中情况1的各第二关联模型分支;或者基于上述(3),还可以将第一关联模型分支b转换为(一)中的各第二关联模型分支,以及将第一关联模型分支c转换为(二)中情况2的各第二关联模型分支;或者基于上述(3),还可以将第一关联模型分支b转换为(一)中的各第二关联模型分支,以及将第一关联模型分支c转换为(二)中情况3的各第二关联模型分支。
需要说明的是,上述(三)中将第一关联模型分支b转换为(一)中的各第二关联模型分支,以及将第一关联模型分支c转换为(二)中情况2的各第二关联模型分支的转换最为彻底,该种转换之后得到的第二关联模型为星型关联模型,除此之外,其他转换得到的第二关联模型均为雪花型关联关系。
第一构建单元40用于根据第一关联模型分支和第二关联模型分支,在分析数据库中构建第二关联模型。
需要说明的是,在此,所根据的第一关联模型分支可以是所有单维度表的第一关联模型分支。依据上述图2所示的示例,基于(一)、(二)和(三)可以分别创建如图3a-图3g所示的第二关联模型,其中,图3f所示的第二关联模型为星型关联模型,图3a-图3e和图3g所示的第二关联模型为雪花型关联关系,然而,图3a-图3e和图3g所示的雪花型关联关系与图2所示的雪花型关联关系相比,至少有一个关联模型分支发生了转换,并且发生转换的关联模型分支在转换之后变成了多个维度表的数目均小于转换之前的该关联模型分支中维度表的数目的关联模型分支。需要说明的是图3a-图3g中均包含事实表1和维度表2-维度表7,图3a-图3g中的箭头表示连接表之间的指向。
通过本发明实施例,由于每个关联模型分支中的维度表的数目越少,在分析数据库中查询所消耗的时间也越少,而关联模型分支中的维度表的数目越多,在数据仓库中占用的存储空间也越大,因此通过采用将多维度分支转换为维度表的数目更少的第二关联模型分支,可以减少查询所消耗的时间,并且以维度表的数目较多的第一关联模型分支对应的关联关系在数据仓库中存储数据可以占用较小的存储空间,达到了不仅占用存储空间少,而且查询耗时短的效果。
在本发明实施例中,在从第一关联模型中获取多维度分支之前,该数据处理装置还可以包括:第一判断单元。第一判断单元用于判断第一关联模型中的第一关联模型分支是否为多维度分支,其中,如果判断出第一关联模型中的第一关联模型分支为多维度分支,则第二获取单元20可以包括:获取模块和第一确定模块。获取模块用于获取第一关联模型分支。第一确定模块用于将第一关联模型分支作为多维度分支。具体地,可以通过判断第一关联模型分支中具有的维度表的数目判断第一关联模型分支是否为多维度分支。当第一关联模型分支中维度表的数目大于等于2时,则其为多维度分支;当第一关联模型分支中维度表的数目小于2时,则其为单维度分支。
通过采用判断第一关联模型中的第一关联模型分支是否为多维度分支,可以只对多维度分支进行转换处理,而对单维度分支不做任何处理,从而简化了对第一关联模型的转换过程,提高了转换效率。
图4是根据本发明实施例的可选地用于联机分析处理中关联关系的数据处理装置的示意图。
如图4所示,该实施例可以作为图1所示实施例的优选实施方式,该实施例的用于联机分析处理中关联关系的数据处理装置除了包括第一实施例的第一获取单元10、第二获取单元20、第一转换单元30和第一构建单元40之外,还包括第二判断单元50、第二转换单元60和第二构建单元70。
第一获取单元10、第二获取单元20、第一转换单元30和第一构建单元40的作用与图1所示实施例中的相同,在此不再赘述。
第二判断单元50用于判断第二关联模型中是否存在具有多个维度表的关联模型分支。
具体地,可以逐个检测第二关联模型中的所有第二关联模型分支,并判断每个第二关联模型分支中的维度表的数目是否小于2。如果判断出第二关联模型分支中的维度表的数目不小于2,则执行下述功能单元和功能模块。
第二转换单元60用于在判断出第二关联模型中存在具有多个维度表的关联模型分支时,将具有多个维度表的关联模型分支转换为多个具有一个维度表的关联模型分支。
具体地,如果判断出第二关联模型中存在具有多个维度表的关联模型分支,则将每个具有多个维度表的关联模型分支转换为多个仅仅具有一个维度表的关联模型分支。这样,所有的关联模型分支均为单维度表关联模型分支。
第二构建单元70用于根据多个具有一个维度表的关联模型分支创建星型关联模型。
通过本发明实施例,可以将雪花型关联关系转换成星型关联模型,由于星型关联模型中的每个关联模型分支均只有一个维度表,因此,基于星型关联模型进行数据查询的速度较快。
可选地,在本发明的上述任一实施例中,该数据处理装置还可以包括:视图创建单元和指向单元。该视图创建单元用于在获取数据仓库中事实表与维度表的第一关联模型之后,在数据仓库中创建第二关联模型的视图,其中,视图用于表示事实表与维度表之间的连表关系。指向单元用于将事实表指向视图。具体地,视图创建单元可以通过以下语句创建该视图:
CREATE VIEW SessionView AS
SELECT S.*,C.CityName,P.ProvinceName,DimCountry.CountrName
FROM FactSession S INNER JOIN DimCity C ON S.CityKey=C.CityKey
INNER JOIN DimProvince P ON C.provinceKey=P.ProvinceKey
INNER JOIN DimCountry ON DimCountry.CountryKey=P.CountryKey。
需要说明的是,该视图可以为虚拟视图,不需要对其进行物理存储,只是在Olap时,通过动态连表抽取相应的待分析数据。而通过视图抽取数据并进行动态计算,消耗的只是计算时的CPU,与需要逻辑读取以及维度处理的数据写入方式相比,该CPU耗时基本可以忽略不计,而创建视图只需要消耗较低的成本,因此可以通过花费较低的成本换取星型模型的转换。
其中,在数据仓库中创建第二关联模型的视图之后,第一转换单元30可以包括:查找模块、第二确定模块和转换模块。查找模块用于查找第一关联模型中的多维度分支的事实表。第二确定模块用于根据事实表得到其对应的视图。转换模块用于基于该视图在分析数据库中将第一关联模型中的多维度分支转换成第二关联模型分支。优选地,可以将所有的多维度分支全部转换成单维度分支。
根据本发明的实施例,提供了一种用于联机分析处理中关联关系的数据处理方法,该用于联机分析处理中关联关系的数据处理方法用于将数据仓库中的雪花型关联关系中的较长的关联模型分支在分析数据库中转换成较短的关联模型分支。该用于联机分析处理中关联关系的数据处理方法可以运行在计算机处理设备上。需要说明的是,本发明实施例所提供的用于联机分析处理中关联关系的数据处理方法可以通过本发明实施例的用于联机分析处理中关联关系的数据处理装置来执行,本发明实施例的用于联机分析处理中关联关系的数据处理装置也可以用于执行本发明实施例的用于联机分析处理中关联关系的数据处理方法。
图5是根据本发明实施例的用于联机分析处理中关联关系的数据处理方法的流程图。
如图5所示,该方法包括如下的步骤S502至步骤S508:
步骤S502,获取数据仓库中的第一关联模型。
数据仓库中可以用于存储雪花型关联关系和/或星型关联模型的事实表和维度表。其中,在本发明实施例中,第一关联模型为雪花型关联关系,它可以包括多个第一关联模型分支。每个第一关联模型分支可以包括一个事实表和一个或者多个维度表。当一个第一关联模型分支包括一个事实表和一个维度表时,该事实表可以通过一步关联指向维度表;当一个第一关联模型分支包括一个事实表和多个维度表,并且上述多个维度表分别为第一维度表、第二维度表、……、第N维度表时,该事实表可以通过一步关联指向第一维度表,第一维度表可以通过一步关联指向第二维度表,……,第N-1维度表可以通过一步关联指向第N维度表,即该事实表可以分别通过一步、二步、……、N步关联指向第一维度表、第二维度表、……、第N维度表。每个第一关联模型可以包括多个第一关联模型分支,所有属于同一个第一关联模型的第一关联模型分支均具有相同的事实表,并且至少有一个第一关联模型分支为多维度分支。每个多维度分支包括一个事实表和多个维度表。而只有一个事实表和一个维度表的第一关联模型分支为单维度分支。
例如,如图2所示,该雪花型关联关系包括事实表1、维度表2、维度表3、维度表4、维度表5、维度表6、维度表7,事实表1与各维度表之间的连表关系如图2所示。其中,该雪花型关联关系的包括3个第一关联模型分支,该3个第一关联模型分支分别为第一关联模型分支a(事实表1→维度表2)、第一关联模型分支b(事实表1→维度表3→维度表4)、第一关联模型分支c(事实表1→维度表5→维度表6→维度表7)。
在本发明实施例中,获取数据仓库中事实表与维度表的第一关联模型可以包括获取多个第一关联模型分支,即可以获取一个第一关联模型的全部或者部分第一关联模型分支。
优选地,由于数据仓库中除了存储有雪花型关联关系之外,还可能存储有星型关联模型,因此在获取数据仓库中事实表与维度表的第一关联模型之前,该数据处理方法还可以包括:首先,判断数据仓库中是否存在星型关联模型的事实表与维度表,然后,如果判断出数据仓库中存在星型关联模型的事实表与维度表,则不需要对该星型关联模型进行任何处理,而直接在分析数据库中进行联机分析处理(On-Line Analytical Processing,简称Olap),如果判断出数据仓库中不存在星型关联模型的事实表与维度表,则先执行图5所示的各步骤,将雪花型关联关系进行转化为第二关联模型。在将雪花型关联关系进行转化为第二关联模型之后,再在分析数据库中对第二关联模型进行联机分析处理。其中,星型关联模型中每个关联模型分支都只有一个事实表和一个维度表。
步骤S504,从第一关联模型中获取多维度分支。
从第一关联模型中获取多维度分支可以是获取一个或者多个多维度分支。以图2所示的第一关联模型为例,从该第一关联模型中获取多维度分支可以包括:(1)只获取第一关联模型分支b(事实表1→维度表3→维度表4);(2)只获取第一关联模型分支c(事实表1→维度表5→维度表6→维度表7);(3)同时获取第一关联模型分支b(事实表1→维度表3→维度表4)和第一关联模型分支c(事实表1→维度表5→维度表6→维度表7)。
步骤S506,在分析数据库中将第一关联模型中的多维度分支转换成第二关联模型分支。
需要说明的是,第二关联模型分支可以包括多维度分支和单维度分支。其中,第二关联模型分支中维度表的数目小于转换之前的第一关联模型中的该多维度分支中维度表的数目。例如:
(一)基于上述(1),可以将第一关联模型分支b转换为第二关联模型分支a(事实表1→维度表3)和第二关联模型分支b(事实表1→维度表4),其中,第二关联模型分支a和第二关联模型分支b中维度表的个数均为1,小于第一关联模型分支b中的维度表的个数2。
(二)情况1:基于上述(2),可以将第一关联模型分支c转换为第二关联模型分支c(事实表1→维度表5→维度表6)和第二关联模型分支d(事实表1→维度表7),其中,第二关联模型分支c和第二关联模型分支d中维度表的个数分别为2和1,均小于第一关联模型分支c中的维度表的个数3。情况2:基于上述(2),还可以将其转换为第二关联模型分支e(事实表1→维度表5)、第二关联模型分支f(事实表1→维度表6)和第二关联模型分支g(事实表1→维度表7),其中,第二关联模型分支e、第二关联模型分支f和第二关联模型分支g中维度表的个数均为1,小于第一关联模型分支c中的维度表的个数3。情况3:基于上述(2),还可以将其转换为第二关联模型分支h(事实表1→维度表5→维度表7)和第二关联模型分支f(事实表1→维度表6),其中,第二关联模型分支h和第二关联模型分支f中维度表的个数分别为2和1,均小于第一关联模型分支c中的维度表的个数3。
(三)基于上述(3),可以将第一关联模型分支b(一)中的各第二关联模型分支,以及将第一关联模型分支c转换为(二)中情况1的各第二关联模型分支;或者基于上述(3),还可以将第一关联模型分支b转换为(一)中的各第二关联模型分支,以及将第一关联模型分支c转换为(二)中情况2的各第二关联模型分支;或者基于上述(3),还可以将第一关联模型分支b转换为(一)中的各第二关联模型分支,以及将第一关联模型分支c转换为(二)中情况3的各第二关联模型分支。
需要说明的是,上述(三)中将第一关联模型分支b转换为(一)中的各第二关联模型分支,以及将第一关联模型分支c转换为(二)中情况2的各第二关联模型分支的转换最为彻底,该种转换之后得到的第二关联模型为星型关联模型,除此之外,其他转换得到的第二关联模型均为雪花型关联关系。
步骤S508,根据第一关联模型分支和第二关联模型分支,在分析数据库中构建第二关联模型。
需要说明的是,在此,所根据的第一关联模型分支可以是所有单维度表的第一关联模型分支。依据上述图2所示的示例,基于(一)、(二)和(三)可以分别创建如图3a-图3g所示的第二关联模型,其中,图3f所示的第二关联模型为星型关联模型,图3a-图3e和图3g所示的第二关联模型为雪花型关联关系,然而,图3a-图3e和图3g所示的雪花型关联关系与图2所示的雪花型关联关系相比,至少有一个关联模型分支发生了转换,并且发生转换的关联模型分支在转换之后变成了多个维度表的数目均小于转换之前的该关联模型分支中维度表的数目的关联模型分支。需要说明的是图3a-图3g中均包含事实表1和维度表2-维度表7,图3a-图3g中的箭头表示连接表之间的指向。
通过本发明实施例,由于每个关联模型分支中的维度表数目越少,在分析数据库中查询所消耗的时间也越少,而关联模型分支中的维度表数目越多,在数据仓库中占用的存储空间也越大,因此通过采用将多维度分支转换为维度表数目更少的第二关联模型分支,可以减少查询所消耗的时间,并且以维度表数目较多的第一关联模型分支对应的关联关系在数据仓库中存储数据可以占用较小的存储空间,达到了不仅占用存储空间少,而且查询耗时短的效果。
在本发明实施例中,在从第一关联模型中获取多维度分支之前,该数据处理方法还可以包括:判断第一关联模型中的第一关联模型分支是否为多维度分支,其中,如果判断出第一关联模型中的第一关联模型分支为多维度分支,则从第一关联模型中获取多维度分支可以包括:获取第一关联模型分支,并将第一关联模型分支作为多维度分支。具体地,可以通过判断第一关联模型分支中具有的维度表的数目判断第一关联模型分支是否为多维度分支。当第一关联模型分支中维度表的数目大于等于2时,则其为多维度分支;当第一关联模型分支中维度表的数目小于2时,则其为单维度分支。
通过采用判断第一关联模型中的第一关联模型分支是否为多维度分支,可以只对多维度分支进行转换处理,而对单维度分支不做任何处理,从而简化了对第一关联模型的转换过程,提高了转换效率。
图6是根据本发明实施例的可选地用于联机分析处理中关联关系的数据处理方法的流程图。
如图6所示,该用于联机分析处理中关联关系的数据处理方法包括如下的步骤S502至步骤S514,该实施例可以作为图5所示实施例的优选实施方式。
步骤S602至步骤S608,分别同图5所示实施例的步骤S502至步骤S508,在此不再赘述。
步骤S610,判断第二关联模型中是否存在具有多个维度表的关联模型分支。
具体地,可以逐个检测第二关联模型中的所有第二关联模型分支,并判断每个第二关联模型分支中的维度表的数目是否小于2。如果判断出第二关联模型分支中的维度表的数目不小于2,则执行下述步骤。
步骤S612,如果判断出第二关联模型中存在具有多个维度的关联关模型分支,则将具有多个维度表的关联模型分支转换为多个具有一个维度表的关联模型分支。
具体地,如果判断出第二关联模型中存在具有多个维度表的关联模型分支,则将每个具有多个维度表的关联模型分支转换为多个仅仅具有一个维度表的关联模型分支。这样,所有的关联模型分支均为单维度表关联模型分支。
步骤S614,根据多个具有一个维度表的关联模型分支创建星型关联模型。
通过本发明实施例,可以将雪花型关联关系转换成星型关联模型,由于星型关联模型中的每个关联模型分支均只有一个维度表,因此,基于星型关联模型进行数据查询的速度较快。
可选地,在本发明的上述任一实施例中,在获取数据仓库中事实表与维度表的第一关联模型之后,该数据处理方法还可以包括:在数据仓库中创建第二关联模型的视图,其中,视图用于表示事实表与维度表之间的连表关系;将事实表指向视图。具体地,可以通过以下语句创建该视图:
CREATE VIEW SessionView AS
SELECT S.*,C.CityName,P.ProvinceName,DimCountry.CountrName
FROM FactSession S INNER JOIN DimCity C ON S.CityKey=C.CityKey
INNER JOIN DimProvince P ON C.provinceKey=P.ProvinceKey
INNER JOIN DimCountry ON DimCountry.CountryKey=P.CountryKey。
需要说明的是,该视图可以为虚拟视图,不需要对其进行物理存储,只是在Olap时,通过动态连表抽取相应的待分析数据。而通过视图抽取数据并进行动态计算,消耗的只是计算时的CPU,与需要逻辑读取以及维度处理的数据写入方式相比,该CPU耗时基本可以忽略不计,而创建视图只需要消耗较低的成本,因此可以通过花费较低的成本换取星型模型的转换。
其中,在数据仓库中创建第二关联模型的视图之后,在分析数据库中将第一关联模型中的多维度分支转换成第二关联模型分支可以包括:查找第一关联模型中的多维度分支的事实表;根据事实表得到其对应的视图;基于该视图在分析数据库中将第一关联模型中的多维度分支转换成第二关联模型分支,优选地,可以将所有的多维度分支全部转换成单维度分支。
由此可见,通过视图中的连表关系,可以直接选取任意雪花型关联关系中的维度表,从而得到一个星型关联模型结构的视图,再应用此星型关联模型结构的视图做后续处理,最后用做Olap里相关联的事实表和维度表。这样,便实现了雪花型关联关系到星型关联模型的转换。
优选地,在数据仓库中创建视图之后,该数据处理方法还可以包括:根据连表关系创建连表关系的索引。这样,可以通过索引中所示的连表关系创建相应的第二关联模型,从而提高了建模(即创建第二关联模型)效率。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。