一种数据仓库的数据处理方法及装置转让专利

申请号 : CN201910468288.8

文献号 : CN110209746B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 段晓龙刘强魏建钟党懿

申请人 : 北京三快在线科技有限公司

摘要 :

本说明书公开了一种数据仓库的数据处理方法及装置,首先预先针对每个用户,根据预先确定的各种数据的类型的流失阈值,确定该用户的各数据中的休眠数据以及活跃数据。之后,如果接收到了数据处理请求,则根据请求确定所需数据的类型,作为所需类型,以及所需数据对应的用户,作为所需用户,然后获取所需类型的数据中所需用户的活跃数据,进行数据处理。

权利要求 :

1.一种数据仓库的数据处理方法,其特征在于,包括:

针对每个类型的数据,确定第一时间点至当前时间点,未产生该类型的数据的用户数量,作为第一数值,以及第二时间点至所述第一时间点,未产生该类型的数据的用户数量,作为第二数值,其中所述第二时间点早于所述第一时间点;

确定使所述第一数值与所述第二数值之比小于预设阈值的最晚第二时间点;

将所述最晚第二时间点至所述第一时间点的时长,作为该类型的流失阈值;

针对每个用户,根据该用户的各数据的类型,以及确定出的各类型的流失阈值,确定该用户的各数据中包含的休眠数据以及活跃数据,其中,休眠数据以及活跃数据均为业务数据,不同类型的数据属于不同业务场景对应的数据;

如果接收到数据处理的请求,确定执行所述请求所需数据的类型,作为所需类型,以及确定执行所述请求所需数据对应的用户,作为所需用户;

获取所述所需类型的数据中所述所需用户的活跃数据,进行数据处理。

2.如权利要求1所述的方法,其特征在于,确定该用户的数据的标签,具体包括:针对每个类型,将在当前时间点之前,该类型的流失阈值对应的时长之内产生的该用户的数据,确定为活跃数据,其余数据确定为休眠数据。

3.如权利要求1所述的方法,其特征在于,进行数据处理,具体包括:

判断获取到的活跃数据是否包含所述数据处理所需的所有数据;

若是,则根据所述获取的活跃数据进行数据处理,输出处理结果;

若否,则按照所述所需类型以及所述所需用户,获取历史上根据所需用户的休眠数据进行数据处理得到的历史结果,并根据获取的活跃数据确定当前结果,根据所述历史结果和当前结果进行数据处理,确定处理结果。

4.一种数据仓库的数据处理装置,其特征在于,具体包括:

标记模块,针对每个类型,确定第一时间点至当前时间点,未产生该类型的数据的用户数量,作为第一数值,以及第二时间点至所述第一时间点,未产生该类型的数据的用户数量,作为第二数值,其中所述第二时间点早于所述第一时间点,确定使所述第一数值与所述第二数值之比小于预设阈值的最晚第二时间点,将所述最晚第二时间点至所述第一时间点的时长,作为该类型的流失阈值;针对每个用户,根据该用户的各数据的类型,以及预先确定的各类型的流失阈值,确定该用户的各数据中包含的休眠数据以及活跃数据,其中,休眠数据以及活跃数据均为业务数据;

确定模块,如果接收到数据处理的请求,确定执行所述请求所需数据的类型,作为所需类型,以及确定执行所述请求所需数据对应的用户,作为所需用户;

处理模块,获取所述所需类型的数据中所述所需用户的活跃数据,进行数据处理。

5.如权利要求4所述的装置,其特征在于,所述标记模块,针对每个类型,将在当前时间点之前,该类型的流失阈值对应的时长之内产生的该用户的数据,确定为活跃数据,其余数据确定为休眠数据。

6.如权利要求4所述的装置,其特征在于,所述处理模块,判断获取到的活跃数据是否包含所述数据处理所需的所有数据,若是,则根据所述获取的活跃数据进行数据处理,输出处理结果,若否,则按照确定出的所需类型以及所需用户,获取历史上根据所需用户的休眠数据进行数据处理得到的历史结果,并根据获取的活跃数据确定当前结果,根据所述历史结果和当前结果进行数据处理,确定处理结果。

7.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-3任一所述的方法。

8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1-3任一所述的方法。

说明书 :

一种数据仓库的数据处理方法及装置

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种数据仓库的数据处理方法及装置。

背景技术

[0002] 数据仓库(Date Warehouse,DW)是一种数据存储集合,通常存储有大量的数据,来为企业定制决策提供数据支持。
[0003] 在现有技术中,基于数据仓库进行的数据处理中,大部分是每日例行的数据的批处理,其中,某些批处理还需要根据历史数据,进行累计处理。例如,每日对本周内用户浏览页面情况进行统计、每日对本年度用户活跃程度进行统计等等。
[0004] 但是,由于这种对数据的累计处理,一般需要基于全量数据,因此导致计算过程耗费资源较多。例如,对年度用户浏览页面情况进行统计,需要获取年度内所有用户浏览页面的记录。
[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] 首先预先针对每个用户,根据预先确定的各种数据的类型的流失阈值,确定该用户的各数据中的休眠数据以及活跃数据。也就是,根据对不同类型的数据预设的流失阈值,确定每个用户的数据中的休眠数据以及活跃数据。之后,如果接收到了数据处理请求,则根据请求确定所需数据的类型,作为所需类型,以及所需数据对应的用户,作为所需用户,然后获取所需类型的数据中所需用户的活跃数据,进行数据处理。也就是,跟数据处理请求,确定需要获取的数据,之后根据数据的类型以及来源(即,是哪个用户的数据),确定所需数据中的活跃数据,进行数据处理。由于所需数据中的休眠数据,在历史上也曾经是活跃数据,因此存在根据休眠数据进行数据处理后的结果。因此,当前再进行数据处理时,可以只基于活跃数据进行数据处理,减少了计算量,减轻了资源浪费的问题。

附图说明

[0033] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0034] 图1为本说明书提供的一种数据仓库的数据处理过程;
[0035] 图2为本说明书实施例提供的一种数据仓库的数据处理装置的结构示意图;
[0036] 图3为本说明书实施例提供的对应于图1的电子设备示意图。

具体实施方式

[0037] 为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0038] 以下结合附图,详细说明本申请各实施例提供的技术方案。
[0039] 图1为本说明书实施例提供的一种数据库的数据处理过程,具体可包括以下步骤:
[0040] S102:针对每个用户,根据该用户的各数据的类型,以及预先确定的各类型的流失阈值,确定该用户的各数据中包含的休眠数据以及活跃数据。
[0041] 在本说明书中,该数据处理具体为对数据的累计处理,并且具体是每日例行。由于每日例行的数据处理,通常依赖于存储于数据仓库中的数据。而数据仓库在存储数据时,需要按照预设的数据格式,对数据进行预处理之后再存储。对于没有实际产生的数据,数据仓库会自动补充空值(null)数据,以保证每日存储的数据在格式上相同。例如,每日用户登录时长的数据,若某个用户当日没有登录,则没有产生登录时长数据,数据仓库需要补充该用户的登录时长的数据,具体数值为null。
[0042] 具体的,该数据处理过程可由数据仓库的管理系统或者指定的服务器执行,本说明书对此不做限定。为方便描述,后续以服务器执行数据处理过程为例进行说明。
[0043] 首先,服务器可针对每个用户,根据预设的类型,确定该用户的各数据的类型。其中,数据的类型可以根据业务场景的不同进行设置,例如,支付业务的场景、理财业务的场景、搜索业务的场景等等。不同的业务场景对应于服务提供方向用户提供的不同的服务,针对每种业务场景,用户不一定每天都会发起业务请求,因此对应该业务场景的用户的数据也不是每天都会产生。于是,服务器可先确定数据仓库中存储的该用户的各类型的数据。以便后续分别确定该类型的数据是活跃数据还是休眠数据。
[0044] 之后,根据预先设置的各类型的流失阈值,确定该用户各数据中包含的休眠数据以及活跃数据。由于用户使用不同服务的频率通常,不同因此服务器可针对每个类型的数据,根据预先设置的该类型的数据对应的流失阈值,来判断该用户的该类型的数据是休眠数据还是活跃数据。
[0045] 具体的,服务器针对该用户的每个类型的数据,将在当前时间点之前,该类型的流失阈值对应的时长之内产生的该用户的数据确定为活跃数据,其余数据确定为休眠数据。例如,假设对应业务场景A的类型的流失阈值为5天,则确定用户的数据中,类型属于业务场景A的数据,再从确定出的数据中将在5天前产生的确定为休眠数据,将5天内产生的数据确定为活跃数据。
[0046] 另外,为了更准确的确定不同类型的流失阈值,在本说明书中,服务器可针对每个类型,首先,确定第一时间点至当前时间点,未产生该类型的数据的用户数量,作为第一数值,确定第二时间点至第一时间点,未产生该类型的数据的用户数量,作为第二数值。其中,第二时间点早于第一时间点,第一时间点的具体数值可以根据需要设置,本说明书不做限定,第二时间点的数值为本说明书中需要计算的数值(为方便说明该数值以N表示)。例如,第一时间点为当前时间点之前1年,则确定的是从当前时间点起之前1年内,没有产生过该类型的数据的用户数量(也就是第一数值,如,没有登录过的用户数量)。第二时间假设为N天,则服务器可确定1年零N天前到1年之前,没有产生过该类型的数据的用户数量,作为第二数值(如,假设N计算结果为1天,则第二数值为本日前366天到本日前365天没有登录过的用户数量)。
[0047] 之后,确定第一数值与所述第二数值之比小于预设阈值的最晚第二时间点。具体的该预设阈值可根据需要设置,例如,0.05,当然也可根据需要设置其他数值,本说明书不做限制。利用公式表示:取满足公式Round(第一数值/第二数值,2)=0的N中的最小值,即min{N}。其中,Round函数表示按照指定的小数位数对目标数值进行四舍五入运算的结果,目标数值为第一数值/第二数值,2表示对第一数值/第二数值的结果取小数点后2位,因此表示第一数值与第二数值相除之后数值结果取小数点后2位,并进行四舍五入运算。而要四舍五入运算等于0,则表示第一数值/第二数值的结果取小数点后2小于0.05。当然因为N是未知数,因此可存在多种满足公式的第二数值(也就有多种满足公式的N),具体服务器可确定min{N},也就是确定该未知数对应的答案中的最小值,也就是最小的天数。以用户登录数据来说明含义的话,就是当一年前N天开始到一年前用户若不再登录,则最近一年该用户也不会登录,并在所有N的解中确定最小值。
[0048] 最后,服务器可将最晚第二时间点至第一时间点的时长,作为该类型的流失阈值,也就是将N的数值作为该类型的流失阈值。因此服务器可确定个类型的数据分别对应的流失阈值。
[0049] 当然,各类型的流失阈值可按照预设的周期更新,例如1年更新一次1个月更新一次等等,并且不同类型的流失阈值的更新周期也可以不完全相同,具体可根据需要设置,如一个月更新一次各类型的流失阈值等等,本说明书不做限制。本说明书中所述的产生的数据,是指通过执行业务,产生的数据,而非数据仓库在存储数据时进行数据预处理,而填补的数据。也就是说,产生的数据是有用的数据,而非填补的null值的数据。
[0050] S104:如果接收到数据处理的请求,确定执行所述请求所需数据的类型,作为所需类型,以及确定执行所述请求所需数据对应的用户,作为所需用户。
[0051] 在本说明书中,当服务器确定各用户的各数据中的休眠数据以及活跃数据之后,便可在接收到数据处理的请求时,将执行该请求所需数据的类型,作为所需类型,将执行该请求所需数据对应的用户,作为所需用户,以便后续确定从哪些用户的哪些数据中,获取执行该请求所需数据。也就是,进行数据处理,必然需要获取用于数据处理的数据,才能进行处理,本步骤便是确定需要获取哪些数据的步骤。
[0052] 具体的,由于不同的数据处理所需的数据不完全相同,因此在接收到数据处理的请求时,首先需要确定需要获取的数据的类型,在本说明书中也就是哪些业务场景对应的数据,并且还要确定需要获取哪些用户的数据。例如,需要计算女性用户每日登陆时长,则数据处理的目标是女性用户的数据,需要获取数据的类型为登陆业务场景对应的数据。当然,由于获取哪些数据是基于业务处理逻辑预先设置的,并且也是现有技术中十分常见的方法,因此本说明书对这一过程不在赘述。
[0053] S106:获取所述所需类型的数据中所述所需用户的活跃数据,进行数据处理。
[0054] 在本说明书中,当确定所需类型以及所需用户之后,服务器便可确定进行数据处理需要的数据,并从中确定属于在步骤S102中确定为活跃数据的数据,进行数据处理。
[0055] 具体的,服务器首先可判断获取到的活跃数据是否包含步骤S104接收的数据处理所需的所有数据,也就是是否获取的活跃数据足以进行该数据处理。
[0056] 若是,则根据获取的活跃数据进行数据处理,输出处理结果。
[0057] 若否,则按照该所需类型以及该所需用户,获取历史上根据所需用户的休眠数据进行数据处理得到的历史结果,并根据获取的活跃数据确定当前结果,根据历史结果和当前结果进行数据处理,确定处理结果。
[0058] 例如,计算前一日交易总额,那么获取的是前一日用户中交易业务场景下产生的活跃数据,此时假设交易类型的数据流失阈值为10天,则前一日的交易类型的数据均为活跃数据,那么所有所需用户的交易数据均为活跃数据,判断结果为是。则根据获取这些活跃数据进行数据处理,并将得到结果数据即可。
[0059] 而若假设,计算的是前两周的交易总额,那么需要获取的每个用户近两周每日的交易类型数据,那么只有10天内的数据是活跃数据,剩余4天的数据均为休眠数据,判断结果为否。那么服务器可从历史上计算得到每日交易数据中,确定对应该所需用户所需类型计算得到的历史结果。之后,根据获取这些活跃数据进行数据处理的到的当前结果,并根据历史结果与当前结果的和,确定处理结果。
[0060] 需要说明的是,在本说明书中,该数据处理对应的每日例行的数据处理,因此通过历史结果和当前结果,可以确定接收到的数据处理的请求的处理结果。但是,却减少了对历史结果记性处理的过程。继续沿用上例,原本服务器需要根据14天中产生的数据,进行数据处理,但是此时由于10天前的数据为休眠数据,因此服务器仅根据最近10天中产生的数据(确定为活跃数据),进行数据处理,而14至10天对应的数据处理结果从历史结果中获取(即,历史结果)。最后根据历史结果与当前结果,确定处理结果,减少了数据处理的工作量。
[0061] 基于图1所示的数据仓库的数据处理方法,首先预先针对每个用户,根据预先确定的各种数据的类型的流失阈值,确定该用户的各数据中的休眠数据以及活跃数据。也就是,根据对不同类型的数据预设的流失阈值,确定每个用户的数据中的休眠数据以及活跃数据。之后,如果接收到了数据处理请求,则根据请求确定所需数据的类型,作为所需类型,以及所需数据对应的用户,作为所需用户,然后获取所需类型的数据中所需用户的活跃数据,进行数据处理。也就是,跟数据处理请求,确定需要获取的数据,之后根据数据的类型以及来源(即,是哪个用户的数据),确定所需数据中的活跃数据,进行数据处理。由于所需数据中的休眠数据,在历史上也曾经是活跃数据,因此存在根据休眠数据进行数据处理后的结果。因此,当前再进行数据处理时,可以只基于活跃数据进行数据处理,减少了计算量,减轻了资源浪费的问题。
[0062] 另外,在本说明书步骤S102中,服务器在确定冷热数据时也可针对每个类型,根据该类型的流失阈值,判断从当前时间点之前,该类型的流失阈值对应的时长之内,是否产生该用户的该类型的数据,若是则确定该用户的该类型的数据是活跃数据,若否则确定该用户的该类型的数据为休眠数据。区别于步骤S102中的方法,这种根据是否产生该用户的该类型的数据,来确定用户的这一类型的数据是是活跃数据,还是休眠数据的方法,对一个用户的同一类型的数据要么确定都是休眠数据,要么确为都是活跃数据。如果进行数据处理所需数据中包含了确定是休眠数据的数据,同样也可减少数据处理的计算量。并且,由于针对不同类型的分别预置了对应的流失阈值,使得休眠数据和活跃数据的分类更加灵活。
[0063] 基于图1所示的数据处理方法,本说明书实施例还对应提供一种数据仓库的数据处理装置的结构示意图,如图2所示。
[0064] 图2为本说明书实施例提供的一种数据仓库的数据处理装置的结构示意图,所述装置包括:
[0065] 标记模块200,针对每个用户,根据该用户的各数据的类型,以及预先确定的各类型的流失阈值,确定该用户的各数据中包含的休眠数据以及活跃数据;
[0066] 确定模块202,如果接收到数据处理的请求,确定执行所述请求所需数据的类型,作为所需类型,以及确定执行所述请求所需数据对应的用户,作为所需用户;
[0067] 处理模块204,获取所述所需类型的数据中所述所需用户的活跃数据,进行数据处理。
[0068] 可选地,所述标记模块200,针对每个类型,确定第一时间点至当前时间点,未产生该类型的数据的用户数量,作为第一数值,以及第二时间点至所述第一时间点,未产生该类型的数据的用户数量,作为第二数值,其中所述第二时间点早于所述第一时间点,确定所述第一数值与所述第二数值之比,小于预设阈值的最晚第二时间点,将所述最晚第二时间点至所述第一时间点的时长,作为该类型的流失阈值。
[0069] 可选地,所述标记模块200,针对每个类型,将在当前时间点之前,该类型的流失阈值对应的时长之内产生的该用户的数据,确定为活跃数据,其余数据确定为休眠数据。
[0070] 可选地,所述处理模块204,判断获取到的活跃数据是否包含所述数据处理所需的所有数据,若是,则根据所述获取的活跃数据进行数据处理,输出处理结果,若否,则按照确定出的所需类型以及所需用户,获取历史上根据所需用户的休眠数据进行数据处理得到的历史结果,并根据获取的活跃数据确定当前结果,根据所述历史结果和当前结果进行数据处理,确定处理结果。
[0071] 本说明书实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的数据处理方法。
[0072] 基于图1所示的数据处理方法,本说明书实施例还提出了图3所示的电子设备的示意结构图。如图3,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的数据处理方法。
[0073] 当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0074] 在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。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0075] 控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0076] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0077] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0078] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0079] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0080] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0081] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0082] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0083] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0084] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0085] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0086] 本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0087] 本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0088] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0089] 以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。