一种数据匹配方法、装置及设备转让专利

申请号 : CN201710580254.9

文献号 : CN107491484B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黎旭荣

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本说明书的实施例公开了一种数据匹配方法、装置及设备,对于一个具体的业务内容,为了获取符合业务需求的信息,根据业务需要设定多个条件,以对大量数据进行筛选。然后,根据每个条件本身的匹配可能性来排序,在筛选的过程中,按照排好的顺序计算条件是不是匹配,以获得匹配结果。

权利要求 :

1.一种数据匹配方法,包括:

获取待匹配数据;

确定设定条件与待匹配数据的匹配概率,其中,所述设定条件包括子条件以及子条件之间的逻辑关系;

根据所述匹配概率,对所述设定条件排序;

按照排序结果进行设定条件和待匹配数据的匹配;

其中,确定设定条件与待匹配数据的匹配概率,包括:确定设定条件所对应的逻辑表达式;

根据所述待匹配数据确定所述逻辑表达式的取值概率;

根据所述取值概率确定所述匹配概率。

2.如权利要求1所述的数据匹配方法,根据所述待匹配数据确定所述逻辑表达式的取值概率,包括:获取部分待匹配数据;

根据所述部分待匹配数据确定所述逻辑表达式的取值比例;

根据所述取值比例确定所述取值概率。

3.如权利要求1所述的数据匹配方法,根据所述匹配概率,对所述设定条件排序,包括:根据设定条件之间的逻辑关系和所述匹配概率,对所述设定条件排序。

4.如权利要求3所述的数据匹配方法,根据设定条件之间的逻辑关系和所述匹配概率,对所述设定条件排序,包括:当设定条件之间的逻辑关系为和时,根据设定条件与待匹配数据的匹配概率,从大至小对所述设定条件排序,或,当设定条件之间的逻辑关系为或时,根据设定条件与待匹配数据的匹配概率,从小至大对所述设定条件排序。

5.一种数据匹配装置,包括:

获取模块,获取待匹配数据;

确定模块,确定设定条件与待匹配数据的匹配概率,其中,所述设定条件包括子条件以及子条件之间的逻辑关系;

排序模块,根据所述匹配概率,对所述设定条件排序;

匹配模块,按照排序结果进行设定条件和待匹配数据的匹配;

其中,所述确定模块,确定设定条件所对应的逻辑表达式,根据所述待匹配数据确定所述逻辑表达式的取值概率,根据所述取值概率确定所述匹配概率。

6.如权利要求5所述的数据匹配装置,所述确定模块,获取部分待匹配数据,根据所述部分待匹配数据确定所述逻辑表达式的取值比例,根据所述取值比例确定所述取值概率。

7.如权利要求5所述的数据匹配装置,所述排序模块,根据设定条件之间的逻辑关系和所述匹配概率,对所述设定条件排序。

8.如权利要求7所述的数据匹配装置,所述排序模块,当设定条件之间的逻辑关系为和时,根据设定条件与待匹配数据的匹配概率,从大至小对所述设定条件排序,或,当设定条件之间的逻辑关系为或时,根据设定条件与待匹配数据的匹配概率,从小至大对所述设定条件排序。

9.一种数据匹配设备,所述设备包括:存储器,存储数据匹配程序;

处理器,调用存储器中存储的数据匹配程序,并执行:获取待匹配数据;

确定设定条件与待匹配数据的匹配概率,其中,所述设定条件包括子条件以及子条件之间的逻辑关系;

根据所述匹配概率,对所述设定条件排序;

按照排序结果进行设定条件和待匹配数据的匹配;

其中,确定设定条件与待匹配数据的匹配概率,包括:确定设定条件所对应的逻辑表达式;

根据所述待匹配数据确定所述逻辑表达式的取值概率;

根据所述取值概率确定所述匹配概率。

说明书 :

一种数据匹配方法、装置及设备

技术领域

[0001] 本说明书涉及计算机技术领域,尤其涉及一种数据匹配方法、装置及设备。

背景技术

[0002] 随着技术的发展,越来越多的业务处理中需要用到数据匹配。
[0003] 具体而言,在现有技术中,通常是根据业务的需要设定条件,进而从大量数据中匹配出符合设定条件的数据,以便有针对性的开展业务。
[0004] 例如,假设要对18岁至24岁的用户推送消息,那么就需要根据条件年龄在18至24岁,在人群信息数据中挑选出满足该条件的用户ID。
[0005] 基于现有技术,我们需要更有效的数据匹配方法。

发明内容

[0006] 本说明书的实施例提供一种数据匹配方法、装置及设备,用于解决如下问题:以提供一种更高效的数据筛选方式。
[0007] 基于此,本说明书实施例提供一种数据匹配方法,所述方法包括:
[0008] 获取待匹配数据;
[0009] 确定设定条件与待匹配数据的匹配概率,其中,所述设定条件包括子条件以及子条件之间的逻辑关系;
[0010] 根据所述匹配概率,对所述设定条件排序;
[0011] 按照排序结果进行设定条件和待匹配数据的匹配。
[0012] 本说明书实施例还提供一种数据匹配装置,所述装置包括:
[0013] 获取模块,获取待匹配数据;
[0014] 确定模块,确定设定条件与待匹配数据的匹配概率,其中,所述设定条件包括子条件以及子条件之间的逻辑关系;
[0015] 排序模块,根据所述匹配概率,对所述设定条件排序;
[0016] 匹配模块,按照排序结果进行设定条件和待匹配数据的匹配。
[0017] 对应的,本说明书实施例还提供一种数据匹配设备,所述设备包括:
[0018] 存储器,存储数据匹配程序;
[0019] 处理器,调用存储器中存储的数据匹配程序,并执行:
[0020] 获取待匹配数据;
[0021] 确定设定条件与待匹配数据的匹配概率,其中,所述设定条件包括子条件以及子条件之间的逻辑关系;
[0022] 根据所述匹配概率,对所述设定条件排序;
[0023] 按照排序结果进行设定条件和待匹配数据的匹配。
[0024] 基于同样的思路,本说明书的实施例还提供了对应的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
[0025] 获取待匹配数据;
[0026] 确定设定条件与待匹配数据的匹配概率,其中,所述设定条件包括子条件以及子条件之间的逻辑关系;
[0027] 根据所述匹配概率,对所述设定条件排序;
[0028] 按照排序结果进行设定条件和待匹配数据的匹配。
[0029] 本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
[0030] 对于一个具体的业务内容,为了获取符合的信息,根据业务需要设定多个条件,以对大量数据进行筛选。然后,根据每个条件本身的匹配可能性来排序,在筛选的过程中,按照排好的顺序计算条件是不是匹配,以获得匹配结果。
[0031] 本说明书的实施例中根据待匹配数据和设定条件之间的匹配概率,对设定条件进行排序,优先匹配具有较大概率能直接判定匹配结果的设定条件,避免了无效匹配,提高了匹配效率。

附图说明

[0032] 图1为本说明书实施例提供的架构示意图;
[0033] 图2为本说明书实施例提供的方法流程示意图;
[0034] 图3为本说明书实施例提供的方法流程示意图;
[0035] 图4为本说明书实施例提供的逻辑表达式的直观树形图;
[0036] 图5为本说明书实施例提供的方法流程示意图;
[0037] 图6为本说明书实施例提供的一个实施例的直观树形图;
[0038] 图7为本说明书实施例提供的装置结构示意图。

具体实施方式

[0039] 为使本说明书中实施例的目的、技术方案和优点更加清楚,下面将结合说明书中具体实施例及相应的附图对本说明书实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0040] 基于前述内容,本说明书中提到的待匹配数据,可以是各种大数据,例如各种交易数据、人群信息数据、资源数据等等,在实际的业务场景中还有不同形式的待匹配数据,这里不再一一列举。
[0041] 而所述的设定条件是根据业务需求和待匹配数据而预先设定的。即,设定条件和待匹配数据有某种关联关系,从而根据设定条件匹配待匹配数据,筛选出待匹配数据中符合设定条件的部分数据,以便满足特定的业务需求。
[0042] 在本说明书的实施例中,所述的数据匹配方法可采用如图1所示的架构,在所述架构中,数据库可用于存储前述的待处理数据,处理设备可获取待处理数据并进行相应的处理。
[0043] 图1只是一种简单的架构示意图,在实际应用中,数据库和处理设备均可以是分布式的、集群式中或者区块链式的组成形式。
[0044] 下面将基于如图1所示的架构,详细说明本说明书的实施例提供的数据匹配过程,该过程具体包括以下步骤,如图2所示:
[0045] 步骤S201,获取待匹配数据。
[0046] 基于前述,待匹配数据可以是业务方所提供,也可以是从已知的数据库中直接提取而来,换言之,待匹配数据可以包括各种不同类型的业务数据。
[0047] 步骤S203,确定设定条件与待匹配数据的匹配概率,其中,所述设定条件包括子条件以及子条件之间的逻辑关系。
[0048] 所述的设定条件可包括非复合条件,例如年龄等于12岁,也可以包括复合条件,例如年龄大于12岁且年龄小于15岁,或者,年龄大于12岁且地点在北京,等等。
[0049] 在处理过程中,对于复合条件,还可以将它拆分为多个子条件(子条件可以是复合条件,也可是非复合条件),同时,若多个复合条件拆分出的子条件有相同的,则只取一个进行后续的匹配。
[0050] 例如,针对某人群数据的设定条件是年龄大于10且地点在杭州、年龄大于10且年龄小于20,那么拆分后得到的子条件包括年龄大于10、地点在杭州、年龄小于20。
[0051] 所述的匹配概率可以通过业务方直接提供,或者当业务方无法提供时,可以通过其他方式来获取,例如对待匹配数据进行采样统计。
[0052] 步骤S205,根据所述匹配概率,对所述设定条件排序。
[0053] 基于前述内容,在确定了设定条件的匹配概率的同时,还确定了该条件的不匹配概率=1-匹配概率。对所述设定条件的排序可以是根据匹配概率或者不匹配概率来进行,具体如何进行根据实际情况而定。
[0054] 例如,对于某人群数据,已知条件1,年龄大于12,匹配概率为90%;条件2,地点为杭州,匹配概率40%;条件3,地点为北京,匹配概率为50%。
[0055] 情形一,现有设定条件要求条件1和条件2同时满足,即年龄大于12且地点在杭州,此时可知,若待匹配数据不满足条件1或条件2中的任意一个,则它不满足设定条件。
[0056] 由于条件1不匹配概率为10%,条件2的不匹配概率为60%。那么通过先匹配条件2有较大的概率直接可以判定某条数据不符合设定条件,而无需再对条件1进行匹配,因此,此时将条件2排在条件1之前。
[0057] 情形二,现有设定条件要求条件2和条件3满足一个即可,即地点为杭州或者地点为北京,此时可知,若待匹配数据满足条件2或条件3中的任意一个,则数据满足设定条件。
[0058] 由于条件2匹配概率为40%,条件3的匹配概率为50%。那么通过先匹配条件3有较大的概率可以直接判定某条数据符合设定条件,而无需再对条件2进行匹配,因此,此时将条件3排在条件2之前。
[0059] 步骤S207,按照排序结果进行设定条件和待匹配数据的匹配。
[0060] 由于在匹配过程中,按照排序结果,先进行匹配的设定条件有更大的概率可以直接判定某条数据是否符合设定条件,在获取了排序结果后,依次顺序进行设定条件和匹配数据的匹配。
[0061] 通过前述的方法,本说明书的实施例中根据待匹配数据和设定条件之间的匹配概率,对设定条件进行排序,优先匹配具有较大概率能直接判定匹配结果的设定条件,最大可能的避免了无效匹配,提高了匹配效率。
[0062] 作为本说明书实施例的一种实施方式,步骤S203,确定设定条件与待匹配数据的匹配概率,可通过如下方法来实现,如图3所示:
[0063] 步骤S301,确定设定条件所对应的逻辑表达式。
[0064] 把设定条件转换成对应的逻辑表达式,逻辑关系转换为逻辑连接符,通过逻辑表达式的取值来判断待匹配数据是否符合设定条件。
[0065] 例如,针对某人群数据A,要求找出其中年龄在10到20之间的男性,那么,所述设定条件包含了三个子条件,即年龄大于10,年龄小于20,性别为男性,该设定条件所对应的逻辑表达式为:
[0066] Value(A)=Age>10and Age<20and Gender=male;
[0067] 从而,对数据A的匹配转换成为对逻辑表达式Value(A)的求值,匹配成功则Value(A)取值为True,匹配不成功则取值为False。
[0068] 三个子条件分别对应三个逻辑表达式,即Age>10,Age<20,Gender=male,同样可以对该三个逻辑表达式求值。
[0069] 为更直观的表示,将该设定条件表示成如下的树形结构,如图4所示,其中逻辑表达式1对应的子条件为年龄大于10,逻辑表达式2对应的子条件为年龄小于20,逻辑表达式3对应的子条件为性别为男性,通过计算逻辑表达式的值来判定待匹配数据是否符合设定条件。
[0070] 步骤S303,根据所述待匹配数据确定所述逻辑表达式的取值概率;
[0071] 在这个过程中,无需确切的指出是哪些数据匹配成功,确定的是每个逻辑表达式的取值概率。
[0072] 例如,一种常见的情形是,对于一些常用的数据,每个逻辑表达式的取值概率是已知的,例如,存储于本地的一批人群消费数据,事先已经统计过里面的女性数量和男性数量,显然,这种情况下,对于前例的条件3来说,其取值为True的概率=男性数量/(男性数量+女性数量),换言之,取值为True或False的概率是已知的。
[0073] 又例如,在通过计算机程序来获取所述逻辑表达式的取值概率时,每次取值为True则计数一次,并不确切的指出是哪个数据项匹配成功,计数结束时,通过计数数值来获取取值概率。
[0074] 步骤S305,根据所述取值概率确定所述匹配概率。
[0075] 即以逻辑表达式的取值概率作为对应设定条件的匹配概率,或者,对取值概率在一定范围进行经验调整,以确定所述匹配概率。
[0076] 在前述的方案中,通过用逻辑表达式求值的方法来筛选待匹配数据,可以更快速高效的识别出符合设定规则的数据。
[0077] 此外,作为本说明书中实施例的一种可选方案,还可以通过采样的方式来获取所述设定条件的取值概率,如图5所示,包括如下流程:
[0078] 步骤S501,获取部分待匹配数据。
[0079] 步骤S503,根据所述部分待匹配数据确定所述逻辑表达式的取值比例;
[0080] 步骤S505,根据所述取值比例确定所述取值概率。
[0081] 续前例,要求获取人群中年龄大于10,年龄小于20,性别为男性所对应的数据。为此,在确定了前述的逻辑表达式以后,根据部分待匹配数据确定子条件的取值,统计子条件取值为True或False的次数,从而根据所述部分待匹配数据的数量,获取子条件取值为True或False的比例。进而,根据所述取值比例获取确定子条件的取值概率,例如,以取值比例作为取值概率。
[0082] 前述的采样过程不需要了解待匹配数据中数据的具体分布,且可以多次重复进行。即,当待匹配数据发生了数据重新分布后(例如每天都在增加的人群消费记录),或者,对于另一份不同的待分配数据时,仍可以通过前述采样的方法来得到逻辑表达式的取值概率,进而确定匹配概率,是一种可以通用的方法。通过采样获取所述的匹配概率,使得本说明书实施例所述的方法不需要了解待匹配数据的具体分布情况,实现与业务解耦,而且能自动适应待匹配数据分布的变化。
[0083] 作为本说明书中的另一个实施例,在确定了匹配概率后,步骤S205,根据所述匹配概率,对所述设定条件排序,可包括如下两种方式:
[0084] 一种为,当复合条件所包括的子条件之间的逻辑关系为和时,根据所述子条件与待匹配数据的匹配成功概率,从小至大对所述子条件排序。
[0085] 另一种为,当复合条件所包括的子条件之间的逻辑关系为或时,根据所述子条件与待匹配数据的匹配成功概率,从大至小对所述子条件排序。
[0086] 具体而言,当子条件之间的逻辑关系为和时,若某个子条件与待匹配数据匹配不成功,则可以知道该复合条件和该待匹配数据不匹配。
[0087] 当子条件之间的逻辑关系为或时,若某个子条件与待匹配数据匹配成功,则可以知道该复合条件和该待匹配数据匹配。
[0088] 从而,在确定排序结果以后,按照排序结果进行设定条件和待匹配数据的匹配时,对于每一个复合条件,都选择具有更高区分概率的子条件进行优先匹配,则有更大的可能可以确定所述复合条件的匹配结果。
[0089] 实际情况中,一个复合条件也有可能是另一个复合条件的子条件,在不断递归的过程中,对于每一个复合条件都采用上述的排序匹配方法,从而可以避免很多无效计算,尽量快的确定每条待匹配数据是否匹配。
[0090] 下面用一个具体的例子来进行详细的说明,以使得本说明书实施例的方案更加的浅显易懂,为直观显示所述实施例中条件之间的关系和取值,如树形图图6所示:
[0091] 对于某人群数据,需要选出其中学历和年龄都满足条件的人,以便开展业务,具体规则为,专科学历或者本科学历,且,年龄在20到30之间。
[0092] 分析获得4个子条件:条件1,学历=专科;条件2,学历=本科;条件3,年龄>20;条件4;年龄<40,其中条件1和条件2构成复合条件5,条件3和条件4构成复合条件6,根据条件6和条件5计算条件7,以判定数据是否匹配。
[0093] 通过对数据采样并统计得知所述人群数据中,其中,条件1,学历=专科的概率为30%;条件2,学历=本科的概率为50%;条件3,年龄>20的概率为60%;条件4,年龄<40的概率为80%。
[0094] 此时根据各子条件之间的逻辑关系计算得到,条件5匹配成功的概率为65%,条件6匹配成功的概率为48%。
[0095] 进而,由于条件5和条件6的逻辑关系为和,二者之间任意一个不匹配即可确定该数据不匹配,此时条件6不匹配的概率为52%,具有更高的不匹配可能性,因此,在匹配过程中优先对条件6进行匹配;若6匹配不成功,则判定该数据不匹配,不再匹配条件5。
[0096] 在计算条件6时,对于构成它的两个子条件,条件3和条件4而言,二者的逻辑关系为和,任意一个不匹配即可确定条件6不匹配,因此,在匹配过程中,优先对不匹配概率高的条件3进行匹配,若条件3匹配成功,则不再匹配条件4。
[0097] 在计算条件5时,对于构成它的两个子条件,条件1和条件2而言,二者的逻辑关系为或,任意一个匹配即可确定条件5匹配,因此,在匹配过程中,优先对匹配概率高的条件2进行匹配,若条件2匹配,则不再匹配条件1。
[0098] 换言之,对该数据进行匹配时,匹配顺序是先匹配6,然后匹配条件5,在匹配条件6的过程中,先匹配条件3后匹配条件4;在匹配条件5的过程中,先匹配条件2后匹配条件1。
[0099] 基于同样的思路,本说明书实施例还提供一种数据匹配装置,如图7所示,所示装置包括:
[0100] 获取模块701,获取待匹配数据;
[0101] 确定模块703,确定设定条件与待匹配数据的匹配概率,其中,所述设定条件包括子条件以及子条件之间的逻辑关系;
[0102] 排序模块705,根据所述匹配概率,对所述设定条件排序;
[0103] 匹配模块707,按照排序结果进行设定条件和待匹配数据的匹配。
[0104] 进一步地,所述确定模块703,确定设定条件所对应的逻辑表达式,根据所述待匹配数据确定所述逻辑表达式的取值概率,根据所述取值概率确定所述匹配概率。
[0105] 更进一步地,所述确定模块703,获取部分待匹配数据,根据所述部分待匹配数据确定所述逻辑表达式的取值比例,根据所述取值比例确定所述取值概率。
[0106] 进一步地,所述排序模块705,根据设定之间的逻辑关系和所述匹配概率,对所述设定条件排序。
[0107] 更进一步地,所述排序模块705,当设定条件之间的逻辑关系为和时,根据设定条件与待匹配数据的匹配概率,从大至小对所述设定条件排序,或,当设定条件之间的逻辑关系为或时,根据设定条件与待匹配数据的匹配概率,从小至大对所述设定条件排序。
[0108] 对应地,本说明书实施例还提供一种数据匹配设备,所述设备包括:
[0109] 存储器,存储数据匹配程序;
[0110] 处理器,调用存储器中存储的数据匹配程序,并执行:
[0111] 获取待匹配数据;
[0112] 确定设定条件与待匹配数据的匹配概率,其中,所述设定条件包括子条件以及子条件之间的逻辑关系;
[0113] 根据所述匹配概率,对所述设定条件排序;
[0114] 按照排序结果进行设定条件和待匹配数据的匹配。
[0115] 基于同样的发明思路,本说明书的实施例还提供了对应的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
[0116] 获取待匹配数据;
[0117] 确定设定条件与待匹配数据的匹配概率,其中,所述设定条件包括子条件以及子条件之间的逻辑关系;
[0118] 根据所述匹配概率,对所述设定条件排序;
[0119] 按照排序结果进行设定条件和待匹配数据的匹配。
[0120] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和介质类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可,这里就不再一一赘述。
[0121] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤或模块可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0122] 在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0123] 控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0124] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0125] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书的实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0126] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0127] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0128] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0129] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0130] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0131] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0132] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信编号和载波。
[0133] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0134] 本领域技术人员应明白,本说明书中一个或多个的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0135] 本说明书的实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定事务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行事务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0136] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0137] 以上所述仅为本说明书的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本说明书的实施例可以有各种更改和变化。凡在本说明书的实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利范围之中。