用于生成宽表的系统和方法转让专利

申请号 : CN201880001326.2

文献号 : CN110785749B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘澍杜龙志付俊强何龙王志明范育峰

申请人 : 北京嘀嘀无限科技发展有限公司

摘要 :

本申请涉及一种系统、方法和非暂时性计算机可读介质。所述系统包括至少一个计算机可读存储介质,所述计算机可读存储介质包括一组指令以及与所述至少一个计算机可读存储介质通信的至少一个处理器。当执行所述一组指令时,所述至少一个处理器用于:获取多个子表,每个子表与目标宽表的一个或多个字段相关联;生成多个中间表,每个中间表都直接或间接地基于所述多个子表中的一个或多个,其中,所述多个中间表中的至少两个是并行生成的;以及基于所述多个中间表确定所述目标宽表。

权利要求 :

1.一种用于生成宽表的系统,包括:

至少一个存储设备,所述存储设备包括一组指令;以及

与所述至少一个存储设备通信的至少一个处理器,其中,当执行所述一组指令时,所述至少一个处理器用于使所述系统:获取多个子表,每个子表与目标宽表的一个或多个字段相关联;

生成多个中间表,每个中间表都直接或间接地基于所述多个子表中的一个或多个,其中,所述多个中间表中的至少两个是并行生成的,并且至少一个中间表在获取一个或多个所述子表之前生成的;以及基于所述多个中间表确定所述目标宽表,

其中,所述基于所述多个中间表确定所述目标宽表包括:基于多层结构中的最后中间层上的所有中间表生成多层结构中的目标宽表,或多层结构中的最后中间层上的所有中间表和基层的至少一个子表的组合生成多层结构中的目标宽表。

2.根据权利要求1所述的系统,其特征在于,所述多个子表、所述多个中间表以及所述目标宽表形成多层结构。

3.根据权利要求2所述的系统,其特征在于,所述多层结构由以下确定:(a)所述多个子表和所述多个中间表之间的关系;

(b)所述多个子表的生成时间点与所述多个中间表的生成时间点之间的关系;或者(c)(a)和(b)的组合。

4.根据权利要求3所述的系统,其特征在于,所述多层结构包括与所述多个中间表对应的一个或多个中间层以及与所述多个子表对应的基层,其中,生成所述多个中间表中的一个中间表基于:同一较低中间层或者两个不同较低中间层上的至少两个中间表;

一个较低中间层上的至少一个中间表和所述基层上的至少一个子表;

所述基层上的至少两个子表。

5.根据权利要求4所述的系统,其特征在于,对应于所述同一较低中间层或者两个不同较低中间层上的所述至少两个中间表的生成时间点的时间差、所述较低中间层上的所述至少一个中间表和所述基层上的所述至少一个子表的时间差、或者所述基层上的所述至少两个子表的时间差小于阈值。

6.根据权利要求4所述的系统,其特征在于,所述同一较低中间层上或两个不同较低中间层上的所述至少两个中间表之间的关系、所述较低中间层上的所述至少一个中间表和所述基层上的所述至少一个子表之间的关系、或者所述基层上的所述至少两个子表之间的关系,与所述目标宽表中的所述多个字段中的至少一个字段相关联。

7.根据权利要求4所述的系统,其特征在于,为了生成所述多个中间表,所述至少一个处理器进一步用于使所述系统:合并相同较低中间层上或者两个不同较低中间层上的所述至少两个中间表、所述较低中间层上的所述至少一个中间表和所述基层上的所述至少一个子表或者所述基层上的至少两个子表。

8.根据权利要求4所述的系统,其特征在于,为了生成所述至少一个中间表,所述至少一个处理器进一步用于使所述系统:处理与相同较低中间层上或两个不同较低中间层上的所述至少两个中间表、所述较低中间层上的所述至少一个中间表和所述基层上的所述至少一个子表、或者所述基层上的所述至少两个子表相关联的信息。

9.一种在计算设备上实施用于生成宽表的方法,所述计算设备包括至少一个存储设备、至少一个计算机可读存储介质、以及一个与网络连接的通信平台,所述方法包括:获取多个子表,每个所述子表与目标宽表的一个或多个字段相关联;

生成多个中间表,每个所述中间表都直接或间接地基于所述多个子表中的一个或多个,其中,所述多个中间表中的至少两个是并行生成的,并且至少一个中间表在获取一个或多个所述子表之前生成的;以及基于所述多个中间表确定所述目标宽表,

其中,所述基于所述多个中间表确定所述目标宽表包括:基于多层结构中的最后中间层上的所有中间表生成多层结构中的目标宽表,或多层结构中的最后中间层上的所有中间表和基层的至少一个子表的组合生成多层结构中的目标宽表。

10.根据权利要求9所述的方法,其特征在于,所述多个子表、所述多个中间表以及所述目标宽表形成多层结构。

11.根据权利要求10所述的方法,其特征在于,所述多层结构由以下确定:(a)所述多个子表和所述多个中间表之间的关系;

(b)所述多个子表的生成时间点与所述多个中间表的生成时间点之间的关系;或者(c)(a)和(b)的组合。

12.根据权利要求11所述的方法,其特征在于,所述多层结构包括与所述多个中间表对应的一个或多个中间层以及与所述多个子表对应的基层,其中,生成所述多个中间表中的一个中间表基于:同一较低中间层或者两个不同较低中间层的至少两个中间表;

所述一个较低中间层上的至少一个中间表和所述基层上的至少一个子表;或者所述基层上的至少两个子表。

13.根据权利要求12所述的方法,其特征在于,对应于所述同一较低中间层或者两个不同较低中间层上的所述至少两个中间表的所述生成时间点的时间差、所述较低中间层上的所述至少一个中间表和所述基层上的所述至少一个子表的时间差、或者所述基层上的所述至少两个子表的时间差小于阈值。

14.根据权利要求12所述的方法,其特征在于,所述同一较低中间层上或两个不同较低中间层上的所述至少两个中间表之间的关系、所述较低中间层上的所述至少一个中间表和所述基层上的所述至少一个子表之间的关系、或者所述基层上的所述至少两个子表之间的关系,与所述目标宽表中的所述多个字段中的至少一个字段相关联。

15.根据权利要求12所述的方法,其特征在于,生成所述多个中间表包括:合并相同较低中间层上或者两个不同较低中间层上的所述至少两个中间表、所述较低中间层上的所述至少一个中间表和所述基层上的所述至少一个子表或者所述基层上的至少两个子表。

16.根据权利要求12所述的方法,其特征在于,生成所述至少一个中间表包括:处理与相同较低中间层上或两个不同较低中间层上的所述至少两个中间表、所述较低中间层上的所述至少一个中间表和所述基层上的所述至少一个子表、或者所述基层上的所述至少两个子表相关联的信息。

17.一种包括计算机程序产品的非暂时性计算机可读介质,所述计算机程序产品包括一些指令,所述指令使计算设备:获取多个子表,每个子表与目标宽表的一个或多个字段相关联;

生成多个中间表,每个中间表都直接或间接地基于所述多个子表中的一个或多个,其中,所述多个中间表中的至少两个是并行生成的,并且至少一个中间表是在获取一个或多个所述子表之前生成的;以及基于所述多个中间表确定所述目标宽表,

其中,所述基于所述多个中间表确定所述目标宽表包括:基于多层结构中的最后中间层上的所有中间表生成多层结构中的目标宽表,或多层结构中的最后中间层上的所有中间表和基层的至少一个子表的组合生成多层结构中的目标宽表。

18.根据权利要求17所述的非暂时性计算机可读介质,其特征在于,所述多个子表、所述多个中间表以及所述目标宽表形成多层结构。

19.根据权利要求18所述的非暂时性计算机可读介质,其特征在于,所述多层结构由以下确定:(a)所述多个子表和所述多个中间表之间的关系;

(b)所述多个子表的生成时间点与所述多个中间表的生成时间点之间的关系;或者(c)(a)和(b)的组合。

20.根据权利要求19所述的非暂时性计算机可读介质,其特征在于,所述多层结构包括与所述多个中间表对应的一个或多个中间层以及与所述多个子表对应的基层,其中,生成所述多个中间表中的一个中间表基于:同一较低中间层或者两个不同较低中间层上的至少两个中间表;

所述一个较低中间层上的至少一个中间表和所述基层上的至少一个子表;

所述基层上的至少两个子表。

说明书 :

用于生成宽表的系统和方法

技术领域

[0001] 本申请总体上涉及用于生成宽表的系统和方法,并且更具体地涉及基于多个子表高效地生成宽表的系统和方法。

背景技术

[0002] 随着信息时代的发展,有效地存储和管理信息变得越来越重要。作为存储和管理信息的一种形式,宽表得到普遍使用。但是,使用现有技术生成用于存储和管理大量数据的宽表,有时耗时且不方便。因此,需要更高效地生成和/或管理宽表。

发明内容

[0003] 根据本申请的一个方面,用于生成宽表的系统可以包括至少一个存储设备,所述存储设备包括一组指令;以及与所述至少一个存储设备通信的至少一个处理器,其中,当执行所述一组指令时,所述至少一个处理器用于使所述系统获取多个子表,每个子表与目标宽表的一个或多个字段相关联;生成多个中间表,每个中间表都直接或间接地基于所述多个子表中的一个或多个,其中,所述多个中间表中的至少两个是并行生成的,并且至少一个中间表是在获取一个或多个所述子表之前生成的;以及基于所述多个中间表确定所述目标宽表,其中,所述基于所述多个中间表确定所述目标宽表包括:基于多层结构中的最后中间层上的所有中间表生成多层结构中的目标宽表,或多层结构中的最后中间层上的所有中间表和基层的至少一个子表的组合生成多层结构中的目标宽表。
[0004] 在一些实施例中,所述多个子表、所述多个中间表以及所述目标宽表形成多层结构。
[0005] 在一些实施例中,所述多层结构由以下确定:(a)所述多个子表和所述多个中间表之间的关系;(b)所述多个子表的生成时间点与所述多个中间表的生成时间点之间的关系;或者(c)(a)和(b)的组合。
[0006] 在一些实施例中,所述多层结构包括与所述多个中间表对应的一个或多个中间层以及与所述多个子表对应的基层。生成所述多个中间表中的一个中间表基于:同一较低中间层或者两个不同较低中间层上的至少两个中间表,一个较低中间层上的至少一个中间表和所述基层上的至少一个子表,所述基层上的至少两个子表。
[0007] 在一些实施例中,对应于所述同一较低中间层或者两个不同较低中间层上的所述至少两个中间表的生成时间点的时间差、所述较低中间层上的所述至少一个中间表和所述基层上的所述至少一个子表的时间差、或者所述基层上的所述至少两个子表的时间差小于阈值。
[0008] 在一些实施例中,所述同一较低中间层上或两个不同较低中间层上的所述至少两个中间表之间的关系、所述较低中间层上的所述至少一个中间表和所述基层上的所述至少一个子表之间的关系、或者所述基层上的所述至少两个子表之间的关系,与所述目标宽表中的所述多个字段中的至少一个字段相关联。
[0009] 在一些实施例中,为了生成所述多个中间表,所述至少一个处理器进一步用于使所述系统合并所述相同较低中间层上或者两个不同较低中间层上的所述至少两个中间表、所述较低中间层上的所述至少一个中间表和所述基层上的所述至少一个子表或者所述基层上的至少两个子表。
[0010] 在一些实施例中,为了生成所述至少一个中间表,所述至少一个处理器进一步用于使所述系统:处理与所述相同较低中间层上或两个不同较低中间层上的所述至少两个中间表、所述较低中间层上的所述至少一个中间表和所述基层上的所述至少一个子表、或者所述基层上的所述至少两个子表相关联的信息。
[0011] 根据本申请的一方面,一种用于在计算设备上实施的生成宽表的方法,所述计算设备包括至少一个存储设备、至少一个计算机可读存储介质、以及一个与网络连接的通信平台,所述方法可以包括获取多个子表,每个所述子表与目标宽表的一个或多个字段相关联;生成多个中间表,每个所述中间表都直接或间接地基于所述多个子表中的一个或多个,其中,所述多个中间表中的至少两个是并行生成的,并且至少一个中间表在获取一个或多个所述子表之前生成的至少一个中间表;以及基于所述多个中间表确定所述目标宽表。
[0012] 根据本申请的一个方面,一种非暂时性计算机可读介质可以包括一些指令,所述指令使计算设备获取多个子表,每个子表与目标宽表的一个或多个字段相关联;生成多个中间表,每个中间表都直接或间接地基于所述多个子表中的一个或多个,其中,所述多个中间表中的至少两个是并行生成的,并且至少一个中间表在获取一个或多个所述子表之前生成的;以及基于所述多个中间表确定所述目标宽表。
[0013] 其他特征将在以下部分描述中进行阐述,并且在检视以下及随附图示之后,部分特征对于本领域的普通技术人员来讲是显而易见地,或可以通过实例的生产及操作来了解。本申请的特征可以通过对以下描述的具体实施例的各种态样的方法、手段和组合的实践或使用得以实现和达到。

附图说明

[0014] 本申请将结合示例性实施例进一步进行描述。这些示例性的实施例将结合参考图示进行详细描述。这些实施例是非限制性的示例性实施例,在图示多种视图下的实施例中,相似的编号表示相似的结构,并且其中:
[0015] 图1示出了根据一些实施例所示的提供按需服务的示例性按需服务系统;
[0016] 图2示出了根据本申请的一些实施例所示的可以在其上实现按需服务系统的示例性计算设备;
[0017] 图3示出了根据本申请的一些实施例所示的可以在其上实现按需服务的示例性移动设备;
[0018] 图4示出了根据本申请的一些实施例所示的示例性处理引擎;
[0019] 图5示出了根据本申请的一些实施例所示的用于生成宽表的示例性过程;以及[0020] 图6示出根据本申请的一些实施例所示的生成宽表的示例性多层结构。

具体实施方式

[0021] 以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并在特定应用及其要求的上下文中提供。对于本领域的普通技术人员来讲,对本申请披露的实施例进行的各种修改是显而易见的,并且本文中定义的通则在不背离本申请的精神及范围的情况下,可以适用于其他实施例及应用。因此,本申请不限于所示的实施例,而是符合与申请专利范围一致的最广泛范围。
[0022] 在一些实施例中,本发明可以用于使用宽表的所有类型的应用中。在一些实施例中,本发明可以用于提高在线服务的效率和有效性。在一些实施例中,本发明可以用于提高在线按需服务的效率和有效性。本发明的一些实施例涉及用于出租汽车和/或汽车共享的在线按需服务。
[0023] 这里使用的术语仅仅是描述特定的示例实施例,并不是限制性的意图。如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可以包括复数。应该被理解的是,本申请中所使用的术语“包括”与“包含”仅提示已明确标识的特征、整数、步骤、操作、元素和/或组件,而不排除可以存在和添加其他一个或多个特征、整数、步骤、操作、元素、组件和/或其组合。
[0024] 根据以下对附图的描述,本申请所述的和其他的特征、操作方法、相关组件的功能和经济的结构更加显而易见,这些都构成说明书的一部分。然而,应当理解,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
[0025] 本申请中使用了流程图用于说明根据本申请的实施例的系统所执行的操作。应当明确理解,流程图中的操作可以不按顺序实施。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或多个其他操作添加到这些流程图中,或者从这些流程图中移除某一步或数步操作。同时,也可以将一个或多个其他操作添加到这些流程图中,或者从这些流程图中移除某一步或数步操作。
[0026] 在本申请中,术语“乘客”、“请求者”、“服务请求者”和“用户”可以交换使用,其表示可以请求服务或预定服务提供的个体、实体或工具。在本申请中,术语“司机”、“提供者”、“服务提供者”也可以交换使用,其表示可以提供服务或促进所述服务提供的个体、实体或工具。
[0027] 在本申请中,术语“服务请求”、“请求服务”、“请求”、“订单”以及“服务订单”可以交换使用,其表示由乘客、请求方、用户、司机、提供者、服务提供者等或其任意组合所发起的请求。服务请求可以由乘客、服务请求者、用户、司机、提供者或服务提供者中的任何一个接受。服务请求可以是计费的或免费的。
[0028] 本申请中的术语“服务提供者终端”用于指由服务提供者用来提供服务或便于提供服务的移动终端。本申请中的术语“用户终端”用于指由服务请求者用来请求或订购服务的移动终端。
[0029] 应该理解,虽然本申请的系统和方法主要描述的是关于生成与运输服务相关联的宽表信息,但是应该理解的是,本申请并非旨在进行限制。本申请的系统或方法可以应用于各种服务、商业、管理等。在一些实施例中,服务,商业和管理可以涉及食品、医药、商品、化学产品、电器、衣服、汽车、住房、奢侈品等或其任何组合。在一些其他实施例中,服务,业务和管理可涉及金融,教育,互联网等或其任何组合。更具体地说,例如,本申请的系统或方法可以应用于搜索引擎,数字地图应用,导航系统等。再例如,本申请的系统或方法可以应用于具有不同环境的运输系统,不同环境包括陆地、海洋、航空太空等或其任意组合。运输系统涉及的车辆可以包括出租车、私家车、顺风车、巴士、列车、动车、高铁、地铁、船舶、飞机、飞船、热气球、无人驾驶的车辆等或其任意组合。运输系统还可以包括用于管理的任何运输系统,例如用于发送和/或接收快递的系统。
[0030] 此外,提供了一种用于生成与多个子表相关联的目标宽表的系统和方法。具体而言,该系统可以获取与目标宽表的多个字段相关联的多个子表。然后,系统可以基于所述多个子表生成多个中间表。所述多个中间表中的至少两个是并行生成的。此外,系统可以基于所述多个中间表确定目标宽表。因此,提高了信息存储和管理的效率。
[0031] 图1示出了根据一些实施例所示的提供按需服务的示例性按需服务系统。按需服务系统100可以是在网络环境中实现的用于提供运输服务的在线运输服务平台。按需服务系统100可以包括服务器110,网络120,用户终端130,服务提供者终端140和存储器150。
[0032] 按需服务系统100可以提供多个按需服务。示例性的按需服务可以包括出租车呼叫服务、代驾服务、快递服务、拼车服务、公交车服务、司机招聘服务和接送服务。在一些实施例中,提供按需服务时可能包含有为了完成按需服务而推荐的附加信息(例如,订单类型)。订单类型可以包括出租车订单,豪华轿车订单,快车订单,公共汽车订单,班车订单等。在一些实施例中,按需服务可以是任何在线服务,例如订餐,购物等或其组合。
[0033] 服务器110可以是计算机服务器。服务器110可以与用户终端130和/或服务提供者终端140通信,以提供在线按需服务的各种功能。在一些实施例中,服务器110可以是单一服务器或服务器组。服务器组可以是通过接入点与网络120连接的中央服务器组或通过一个或多个接入点连接到网络120的分布式服务器组。在一些实施例中,服务器110可以本地连接到网络120或与远程连接到网络120。
[0034] 在一些实施例中,服务器110可以经由网络120访问存储在用户终端130、服务提供者终端140和/或存储器150中的信息和/或数据。例如,服务器110可以访问与存储在多个用户终端130中的历史订单相关联的信息。作为另一示例,服务器110可以访问与存储在存储器150中的多个历史订单相关联的多个子表。在一些实施例中,存储器150可以用作服务器110的后端数据存储器。在一些实施例中,服务器110可以在云平台上实施。仅作为范例,云平台可以包括私有云、公用云、混合云、社区云、分布式云、内部云、多层云等或其任意组合。
在一些实施例中,服务器110可以在本申请的图2中描述的具有一个或多个组件的计算设备
200上执行。
[0035] 在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理与执行本申请中描述的一个或多个功能有关的信息和/或数据。例如,处理引擎112可以确定多个表的生成时间点的时间差和/或多个表之间的关系。如这里所使用的,术语“关系”是指各种表之间的逻辑、数学或统计联系,例如但不限于共享字段(例如,全部包括订单号),相关字段(例如,行驶时间和行驶距离)等等。表可以包括下面示出的子表和/或中间表。作为另一个示例,处理引擎112可以根据时间差和/或关系生成目标宽表。目标宽表可以包括与多个字段相关联的信息,所述信息最初存储在子表中。在一些实施例中,处理引擎112可包括一个或者多个处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为范例,处理引擎112可以包括中央处理单元(CPU)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可程序门阵列(FPGA)、可程序逻辑装置(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任意组合。
[0036] 网络120可以促进信息和/或数据的交换。在一些实施例中,按需服务系统100中的一个或多个组件(例如,服务器110、请求者终端130、提供者终端140以及存储器150)可以通过网络120向按需服务系统100中的其他组件发送信息和/或数据。例如,服务器110可以经由网络120从存储器150访问和/或获取与多个历史订单相关联的多个子表。作为另一示例,服务器110可以经由网络120将包括与多个历史订单相关联的信息的目标宽表发送到存储器150。
[0037] 在一些实施例中,网络120可以为任意形式的有线或无线网络,或其任意组合。仅作为范例,网络120可以是电缆网络、缆线网络、光纤网络、电信网络、内部网络、因特网、局域网络(LAN)、广域网(WAN)、无线局域网络(WLAN)、城域网(MAN)、公用电话交换网(PSTN)、蓝牙网络,ZigBee网络、近场通讯(NFC)等或其任意组合。例如,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络交换点,例如基站和/或因特网交换点120-1、120-2、……,通过交换点,按需服务系统100的一个或多个组件可以连接到网络120以交换数据和/或信息。
[0038] 用户终端130可以包括移动设备130-1、平板电脑130-2、便携式计算机130-3、车辆130-4中的内置设备等或其任何组合。在一些实施例中,移动装置130-1可以包括智能家居装置、可穿戴装置、智能移动装置、虚拟现实装置、增强实境装置等或其任意组合。在一些实施例中,智能家居装置可以包括智能照明装置、智能电器的控制装置、智能监测装置、智能电视、智能视讯摄影机、对讲机等或其任意组合。可穿戴设备可以包括智能手环、智能鞋袜、智能眼镜、智能头盔、智能头带、智能服装、智能背包与智能配饰等中的一种或几种的组合。
在一些实施例中,智能移动装置可以包括智能电话、个人数字助理(PDA)、游戏设备、导航装置、销售点(POS)装置等或其任意组合。在一些实施例中,虚拟现实装置和/或增强实境装置可包括虚拟现实头盔、虚拟现实眼镜、虚拟现实补丁、增强实境头盔、增强实境眼镜、增强实境补丁等或其任意组合。例如,虚拟现实设备和/或增强实境设备可以包括Google GlassTM,Oculus RiftTM,HololensTM,Gear VRTM等。在一些实施例中,车辆130-4中的内置设备可以包括内置计算机、车载内置电视机、内置平板电脑等。在一些实施例中,用户终端130可以包括信号发射机和信号接收机,用来与定位系统进行通信以定位乘客和/或用户终端130的位置。在一些实施例中,定位系统可以是全球定位系统(GPS),全球导航卫星系统(GLONASS)、罗盘导航系统(COMPASS)、北斗导航卫星系统、伽利略定位系统、准天顶卫星系统(QZSS)等。
[0039] 在一些实施例中,用户终端130可以由乘客拥有。在一些实施例中,用户终端130可以由乘客以外的人拥有。例如,用户终端130的拥有者A可以使用用户终端130向乘客B发送服务请求,和/或从服务器110接收服务确认和/或信息或指令。应该理解,在一些实施例中,“乘客”和“用户终端”可以互换使用,并且“司机”和“服务提供者终端”可以互换使用。
[0040] 在一些实施例中,服务提供者终端140可以包括多个服务提供者终端140-1,140-2,...,140-n。在一些实施例中,服务提供者终端140可以是与服务请求者终端130类似或者相同的装置。在一些实施例中,服务提供者终端140可以被定制为实施在线运输服务。在一些实施例中,服务提供者终端140和用户终端130可以配置有信号发送器和信号接收器,以从定位系统接收服务提供者终端140和用户终端130的位置信息。
[0041] 在一些实施例中,服务提供者终端140可以由司机使用。在一些实施例中,服务提供者终端140可以由司机以外的人使用。例如,服务提供者终端140的用户C可以使用服务提供者终端140为用户D接收一个服务请求和/或从服务器110接收信息或指示。在一些实施例中,司机可以被分配为使用服务提供者终端140至少一段时间,例如一天、一周、一个月或一年等。在一些实施例中,司机可以被分配为随机使用一个服务提供者终端140。例如,当司机可以提供按需服务时,他/她可以被分配使用接收最早请求的司机终端和被推荐执行该类型的按需服务的车辆。在一些实施例中,服务提供者终端140可以与一个或多个司机(例如,夜班司机,白班司机或通过随机移动的司机池)相关联。
[0042] 存储器150可以存储数据和/或指令。该数据可以包括与多个历史订单有关的数据,与多个用户有关的数据,与多个驱动器有关的数据,与外部环境有关的数据,与多个子表有关的数据等。与历史订单有关的数据可以包括历史开始位置、历史开始时间点、历史日期、历史目的地、历史订单类型、历史账单、历史路线等。与用户有关的数据可以包括用户档案。与司机有关的数据可以包括司机档案。与外部环境有关的数据可以包括天气状况、道路状况等。与子表有关的数据可以包括基本子表,订单子表,业务子表等。基本子表可以包括多个与用户和/或司机的基本信息相关联的字段,例如,身份、性别、职业、年龄。订单子表可以包括与特定订单类型(例如,快递订单,出租车订单)相关联的多个字段,例如,与特定订单类型对应的订单数量,开始时间点、开始位置、优惠券状态。业务子表可以包括与多个订单类型相关联的多个字段,例如,与每个订单类型对应的订单数量、与每个订单类型对应的订单数量与订单总量的比率。
[0043] 在一些实施例中,存储器150可以存储从用户终端130和/或服务提供者终端140获得的数据。例如,存储器150可以存储与用户终端130相关联的订单信息。在一些实施例中,存储器150可以存储服务器110可以执行的数据和/或指令。可以执行指令以提供本申请中描述的按需服务,基于多个子表生成目标宽表等。
[0044] 在一些实施例中,存储设备150可以包括大容量存储器,可移动存储器,易失性读写存储器,只读存储器(ROM)等或其任何组合。示例性大容量存储器可以包括磁盘,光盘,固态驱动器等。示例性可移动存储器可以包括闪存驱动器,软盘,光盘,存储卡,拉链盘,磁带等。示例性易失性读写存储器可以包括随机存取存储器(RAM)。示例性RAM可以包括动态RAM(DRAM),双倍数据率同步动态RAM(DDR SDRAM),静态RAM(SRAM),晶闸管RAM(T-RAM),和零电容RAM(Z-RAM)等。示例性ROM可以包括掩模ROM(MROM),可编程ROM(PROM),可擦除可编程ROM(EPROM),电可擦除可编程ROM(EEPROM),光盘ROM(CD-ROM),数字多功能盘ROM等。在一些实施例中,所述存储器150可以在云平台上实现。在一些实施例中,储存器140可以在云平台上实施。仅作为范例,云平台可以包括私有云、公用云、混合云、社区云、分布式云、内部云、多层云等或其任意组合。
[0045] 在一些实施例中,按需服务系统100中的一个或多个组件可以经由网络120访问存储在存储器150中的数据或指令。在一些实施例中,存储器150可以直接连接到服务器110作为后端存储。
[0046] 在一些实施例中,按需服务系统100(例如,服务器110,用户终端130,服务提供者终端140)中的一个或多个组件可具有访问存储器150的许可。在一些实施例中,当满足一个或多个条件时,按需服务系统100的一个或多个组件可以读取和/或修改与乘客、司机和/或车辆有关的信息。例如,服务器110可以在按需服务订单完成之后读取和/或修改一个或多个乘客的用户档案。
[0047] 在一些实施例中,按需服务系统100的一个或多个组件之间的信息交换可以自动启动。例如,信息交换可以在预设时间点(例如,上午0:00),以预设频率(例如,每小时)等等启动。作为另一个示例,信息交换可以手动启动,例如由操作员启动。
[0048] 本领域普通技术人员将理解,当按需服务系统100的元件执行时,元件可以通过电信号和/或电磁信号执行。例如,当用户终端130处理任务时,例如确定多个表的生成时间点的时间差、生成目标宽表,用户终端130可以操作其处理器中的逻辑电路来处理这样的任务。当用户终端130向服务器110发出多个历史订单时,用户终端130的处理器可以生成编码多个历史订单的电信号。用户终端130的处理器然后可以将电信号发送到输出端口。如果用户终端130经由有线网络与服务器110通信,则输出端口可物理连接至一电缆,其进一步将电信号传输给服务器110的输入端口。如果用户终端130经由无线网络与服务器110通信,则用户终端130的输出端口可以是一个或多个天线,其将电信号转换为电磁信号。类似地,服务提供者终端140可以通过其处理器中的逻辑电路的操作来处理任务,并且经由电信号或电磁信号从服务器110接收指令和/或服务订单。在电子装置中,如用户终端130、服务提供者终端140和/或服务器110,当其处理器处理指令、发出指令和/或执行操作时,该指令和/或操作通过电信号来执行。例如,当处理器从存储介质(例如,存储器150)中检索与多个字段相关联的多个子表时,其可以将电信号发送到存储介质的读取设备,该读取设备可以读取存储在存储介质中的结构数据。结构数据可以以电信号的形式经由电子装置的总线传输至处理器。此处,电信号可以指一个电信号、一系列电信号和/或多个不连续的电信号。
[0049] 图2示出了根据本申请的一些实施例所示的可以在其上实现按需服务系统100的示例性计算设备200。
[0050] 计算设备200可以是通用计算机或专用计算机。两者都可以用于实施本申请的按需系统。计算设备200可以被用来实现如这里所描述的服务的任何组件。例如,服务器110的处理引擎112可以通过其硬件、软件程序、固件或其组合在计算设备200上实现。图中为了方便起见只描述了一台计算机,但是本申请所描述的与按需服务相关的计算机功能可以以分散式的方式由一组相似的平台实施,以分散处理负载。
[0051] 例如,计算设备200可以包括与其连接的网络(例如,网络120)连接的端口250,以便于数据通信。计算设备200还可以包括处理器220,用来执行程序指令,该处理器220以一个或多个处理器的形式存在。示例性的计算机平台可以包括一个内部通信总线210、不同形式的程序存储器和数据存储器,例如,磁盘270、只读存储器(ROM)230或随机存取存储器(RAM)240,用于存储由计算机处理和/或传输的各种各样的数据文件。示例性的计算机平台也可以包括储存于只读存储器230、随机存取存储器240和/或其他类型的非暂时储存介质中的供处理器220执行的程序指令。本申请揭示的方法和/或过程可以作为程序指令来实施。计算设备200还包括输入/输出组件260,其支持计算机、用户以及其中的其他组件之间的输入/输出。计算设备200也可以通过网络通信接收程序和数据。
[0052] 为理解方便,计算设备200中仅示例性绘制了一个CPU和/或处理器。然而,应当理解,本申请中的计算设备200可以包括多个CPU和/或处理器,因此本申请中描述的由一个CPU和/或处理器执行的操作和/或方法步骤也可以由多个CPU和/或处理器共同或者分别执行。例如,计算设备200的CPU和/或处理器可以执行步骤A和步骤B。如在另一个示例中,步骤A和步骤B也可以由计算设备200中的两个不同的CPU和/或处理器共同地或单独地执行(例如,第一处理器执行步骤A并且第二处理器执行步骤B或第一和第二处理器共同执行步骤A和B)。
[0053] 图3示出了根据本申请的一些实施例所示的可以在其上实现按需服务的示例性移动设备。
[0054] 如图3所示,移动设备300可以包括通信模块310,显示器320,图形处理单元(GPU)330,中央处理单元(CPU)340,输入/输出350,内存360和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),亦可包括于移动装置300内。
在一些实施例中,操作系统370(如,iOSTM,AndroidTM,Windows PhoneTM等)和一个或多个应用程序380可以从存储器390加载到内存360中,以便由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从处理引擎112和/或存储器150发送、接收和呈现与服务订单有关的信息(例如,与用户相关联的多个候选目的地)。用户和信息流的交互可以通过输入/输出350实现,并且通过所述网路120向所述处理引擎112和/或按需服务系统的其他组件提供。
[0055] 图4示出了根据本申请的一些实施例所示的示例性处理引擎112。服务器110的处理引擎112可以包括获取模块410,生成模块420,确定模块430和存储模块440。处理引擎112中的一个或多个模块可以由至少一个处理器,例如处理器220,来实现。
[0056] 在一些实施例中,获取模块410可以获取多个子表。如在本申请中所使用的,子表可以包括与目标宽表的一个或多个(至少一个)字段相关联的信息。目标宽表可以包括多个字段的信息。字段可以包括与特征有关的信息,例如但不限于身份、性别、年龄、职业、订单总数、与每个订单类型对应的订单数量、开始时间点、开始位置、账单、优惠券状态等。
[0057] 在一些实施例中,子表可以包括已经由在线平台,例如,按需服务系统100,收集和/或获取的新的/更新的信息。新的/更新的信息是指在前一时期产生的信息-这些信息可以包括与目标宽表的某些特征相关的信息,并与前一时期的活动/人员/对象相对应,例如,昨天、半天前等等。这里,前一时期指的是在由处理引擎112(例如,获取模块410)创建并获取整个子表的时间点之前的预定的或未预定的时间段。仅作为范例,由获取模块410在2017年7月7日00:15获取的子表可以包括2017年7月6日生成的信息-对应于2017年7月6日的活动/人物/对象,其是与目标宽表的一个或多个字段相关联。
[0058] 在一些实施例中,直接利用数据收集和/或获取来获取子表,而没有其他表的组合和/或处理。在一些实施例中,由于不同的时间段具有的不同的字段或与相同或重叠的字段有关的信息,子表可以是各种类型的。例如,子表可以是基本子表、订单子表、业务子表等等。
[0059] 在一些实施例中,获取模块410可以根据多个子表的生成时间点获取多个子表。生成时间点可以指子表完全生成的时间点。仅作为范例,获取模块410可以在子表的生成时间点处或紧接在该子表的生成时间点之后获取子表。由于两个或两个以上子表的生成时间点可以相同或不同,因此获取模块410可以在同一时间点或不同时间点获取两个或两个以上的子表。在一些实施例中,当两个或更多个子表的生成时间点相同时,获取模块410可以在相同的时间点获取两个或两个以上子表。否则,获取模块410可以在不同的时间点获取两个或两个以上子表。然而,也有可能有目的地延迟获取子表,以便可以在相同的时间点或彼此接近的时间点获取两个或两个以上子表。
[0060] 可替换地或可选地,获取模块410可以根据生成目标宽表期间使用多个子表的时间点来获取多个子表。仅作为范例,获取模块410可以在生成目标宽表期间在使用子表的时间点之前的时间段(例如,30分钟)获取子表。由于在生成目标宽表期间使用两个或两个以上子表的时间点可以相同或不同,因此获取模块410可以在同一时间点或不同时间点获取两个或两个以上的子表。
[0061] 在一些实施例中,当在生成目标宽表期间使用两个或两个以上的子表的时间点相同时,获取模块410可以在相同的时间点获取两个或两个以上的子表。否则,获取模块410可以在不同的时间点获取两个或两个以上的子表。然而,也有可能有目的地延迟获取子表,以便可以在相同的时间点或彼此接近的时间点获取两个或两个以上的子表。
[0062] 在一些实施例中,生成模块420可以生成多个中间表。如在本申请中所使用的,在生成目标宽表期间,中间表可以指除了子表和目标宽表之外的表。类似于子表,中间表可以对应于生成时间点。在一些实施例中,可以直接或间接地基于多个子表中的一个或多个生成中间表。换言之,可以直接或间接地基于从多个子表中的一个或多个获取的信息生成中间表。例如,直接地基于从第一子表和第二子表获取的信息生成的中间表是直接地基于多个子表中的一个或多个(即,第一子表和第二个子表)生成的。作为另一个例子,一中间表是直接基于从第一子表和第二子表获取的信息生成的,直接地基于从该中间表获取的信息生成的另一中间表就是间接地基于多个子表的一个或多个(即,第一子表和第二子表)生成的。
[0063] 在一些实施例中,多个中间表中的至少两个可以并行生成。这里,“并行”是指可以独立且同时地执行多个中间表中的至少两个的生成。可替换地或可选地,生成模块420可以生成串行的两个或两个以上的中间表。这里,“串行”是指可以依附性地进行两个或两个以上中间表的生成。换句话说,一个中间表的生成可以取决于其他中间表的生成。
[0064] 在一些实施例中,至少一个中间表可以在获取一个或多个上述子表之前生成。应该理解,至少一个中间表不是直接或间接地基于所述子表中的一个或多个生成的。在某些实施例中,在获取子表的同时,生成模块420已经开始生成中间表(例如,紧随获取了前两个或更多个子表之后)。在某些实施例中,在获取所有子表之前已经产生了大量(例如,20%、30%、40%、50%、60%、70%、80%或90%)的中间表。换句话说,获取模块410和生成模块
420可以同时或相继执行操作。
[0065] 在一些实施例中,确定模块430用于基于多个中间表确定目标宽表。
[0066] 在一些实施例中,多个子表、多个中间表和目标宽表可以形成多层结构。多层结构可以包括基层、一个或多个中间层和顶层。基层可以包括多个子表。中间层可以包括一个或多个中间表。顶层可以包括目标宽表。
[0067] 如上所述,可以直接或间接地基于由获取模块410获取的多个子表中的一个或多个生成中间表。在一些实施例中,生成模块420可以基于子表和/或其他中间表中的至少两个生成在一个或多个中间层的中间表。在某些实施例中,直接基于多个子表中的一个或多个生成的中间表,可以只基于基层上的子表生成。在某些实施例中,间接基于多个子表中的一个或多个生成的中间表,可以基于基层上的子表的一个或多个和其他中间表的一个或多个,或者仅基于其他中间表生成。其他中间表可以位于与生成的中间表不同的中间层。具体而言,其他中间表可以位于较生成的中间表所属的较高的中间层低的中间层上。应该理解的是,较低的中间层和较高的中间层不是特定的中间层,并且它们用于说明的目的,在较低的中间层的中间表可以比较高层处的中间表更早产生。较高中间层和较较低中间层之间的层数可以是零个,一个或其他正整数个。
[0068] 在一些实施例中,生成模块420可以基于基层的至少两个子表生成多层结构中位于第一中间层上的中间表。在一些实施例中,生成模块420可以基于基层的至少两个子表,生成多层结构中位于第二,第三,...或最后的中间层上的中间表。或者,在一些实施例中,生成模块420可以基于较低中间层的至少两个中间表生成多层结构中位于第二,第三,...或最后中间层上的中间表。所述至少两个中间表可以位于相同的较低中间层或位于不同的较低中间层。例如,生成模块420可以基于第一中间层的三个中间表生成位于第二中间层上的中间表。作为另一示例,生成模块420可以基于第一中间层的两个中间表生成位于第三中间层上的中间表。可选地,在一些实施例中,生成模块420可以基于较低中间层的至少一个中间表和基层的至少一个子表,生成多层结构中位于第二,第三,...或最后的中间层上的中间表。例如,生成模块420可以基于第一中间层的一个中间表和基层的一个子表生成位于第二中间层上的中间表。作为另一示例,生成模块420可以基于第一中间层的一个中间表和基层的两个子表生成位于第三中间层上的中间表。
[0069] 在一些实施例中,生成模块420可以基于多层结构中的最后中间层上的所有中间表或多层结构中的最后中间层上的所有中间表和基层的至少一个子表的组合生成多层结构中顶层的目标宽表。
[0070] 图6示出了根据本申请的一些实施例所示的示例性多层结构600。多层结构600可以说明目标宽表的生成并形成有向无环图(DAG)。应该注意的是,多层结构600仅用于说明的目的,而不是限制性的。
[0071] 如图6所示,仅出于说明的目的,多层结构600包括由小点表示的七个子表(即,601,602,...,607),由中等大小的点表示的四个中间表(即,608,609,...,611),由大点表示的目标宽表(即,612)和由虚线表示的五层(即,613,614,...,617)。七个子表形成基层,即基层613。四个中间表形成三个中间层,即中间层614,中间层615和中间层616。目标宽表
612形成顶层,即顶层617。多层结构600可以进一步包括十一个箭头。箭头的方向可以起自被使用/处理/组合的表到所生成的表。例如,子表603和中间表610之间的箭头可以表示中间表610(即,所生成的表)至少部分地基于子表603(即,被使用/处理/组合的表)生成。
[0072] 在一些实施例中,获取模块410可以根据七个子表的生成时间点获取在基层613上的七个子表。如本申请的其他地方所示,基层613的七个子表的生成时间点可以相同或不同。例如,子表601和子表602的生成时间点可以是相同的。因此,获取模块410可以在相同的时间点(例如,在相同的时间点或紧接在相同的时间点之后)获取子表601和子表602。作为另一个例子,子表601和子表607的生成时间点可以不同。因此,获取模块410可以在不同时间点(例如,分别在不同时间点或紧接在不同时间点之后)获取子表601和子表607。
[0073] 在一些实施例中,获取模块410可以根据生成目标宽表612期间使用的七个子表的时间点获取在基层613上的七个子表。如本申请其他地方所示,使用在基层613上的七个子表的时间点可以相同或不同。例如,子表601和子表602可以用于在相同的时间点生成中间表608,因此使用子表601和子表602的时间点可以相同。相应地,获取模块410可以在同一时间点获取子表601和子表602。作为另一个例子,可以在不同的时间点使用子表601和子表607。子表601可用于生成在中间层614上的中间表608,而子表607可用于生成在顶层617上的目标宽表612。相应地,获取模块410可以在不同的时间点获取子表601和子表607。
[0074] 如图6所示,仅出于说明的目的,生成模块420可以直接或间接地基于七个子表(即,601、602、...、607)生成在中间层(例如,608、609、...、611)上的中间表。具体而言,生成模块420可以基于基层上的至少两个子表、较低中间层上的至少一个中间表和基层上的至少一个子表,或相同较低中间层或不同较低中间层上的至少两个中间表,生成中间表。例如,生成模块420可以基于基层613上的子表601和子表602生成在中间层614上的中间表608。作为另一个示例,生成模块420可以基于中间层614(即,较低中间层)上的中间表608和基层613上的子表603,生成在中间层615(即,较高中间层)上的中间表610。作为又一示例,生成模块420可以基于中间层615(即,较低中间层)上的中间表610和中间表609,生成在中间层616(即,较高中间层)上的中间表611。
[0075] 在一些实施例中,确定模块430可以基于中间层616上的中间表611和基层613上的子表607确定顶层617上的目标宽表612。
[0076] 在一些实施例中,生成模块420可以基于(1)至少两个子表,(2)至少一个子表和一个中间表,或者(3)两个中间表处生成中间表,其中这些表的生成时间点是相似的。为了简洁起见,本申请中的至少两个子表和其他中间表可以参考本文的描述。换句话说,与子表和其他中间表中的至少两个相对应的生成时间点之间的时间差小于阈值。这里,阈值是指自动或手动,例如由操作员,确定的时间段。与子表和其他中间表中的至少两个相对应的生成时间点之间的时间差可以包括,对应于相同的较低中间层或两个不同较低中间层上的至少两个中间表的生成时间点之间的时间差,较低中间层上的至少一个中间表和基层上的至少一个子表之间的时间差,或者基层上的至少两个子表之间的时间差。如图6所示,如果在上午0:01生成子表601,并且在上午0:02生成子表602,则生成模块420可以确定两个子表的生成时间点是相似的,即,两个子表的生成时间点之间的时间差小于阈值(例如,2分钟)。然后,生成模块420可以基于子表601和子表602生成中间表608。类似地,生成模块420可以基于生成时间点相似的子表603和中间表608生成中间表610,并且基于生成时间点相似的中间表609和中间表610生成中间表611。
[0077] 在一些实施例中,生成模块420可以基于子表和其他中间表中存在关系的至少两个生成中间表。子表和其他中间表中的至少两个之间的关系可以包括以下关系:位于相同的较低中间层或两个不同的较低中间层上的至少两个中间表之间的关系,位于较低中间层上的至少一个中间表和位于基层上的至少一个子表之间的关系,或者位于基层上的至少两个子表之间的关系。可以基于目标宽表的一个或多个字段确定子表和其他中间表至少两个之间的关系。仅作为范例,如图6所示,如果目标宽表612包括字段,例如,订单总数,则最后中间层616的中间表611包括相同的字段。为了生成中间表611,生成模块420可以确定子表607、中间表609和中间表610之间是否存在关系。如本申请其他地方所示,订单总数可以通过对应于每个订单类型的订单的数量的总和来确定。如果中间表609包括表示出租车订单数的字段,中间表610包括表示快车订单数的字段,并且子表607不包括表示与特定订单类型(例如,快车订单,出租车订单)相对应的订单数的字段时,生成模块420可以确定仅中间表609与中间表610之间存在关系。然后,生成模块420可以基于中间表609和中间表610生成中间表611。
[0078] 在一些实施例中,生成模块420可以基于其生成时间点类似并且其中存在关系的子表和其他中间表的至少两个生成中间表。如图6所示,如果中间表611包括表示总订单数的字段,中间表609包括表示出租车订单数的字段,并且中间表610包括表示快车订单数的字段,生成模块420可以确定中间表609和中间表610之间存在关系。同时,如果在1:01生成中间表609,并且在1:02生成中间表610,则生成模块420可以确定中间表609和中间表610的生成时间点之间的时间差小于阈值(例如,2分钟)。生成模块420可以基于中间表609和中间表610生成中间表611。
[0079] 在一些实施例中,生成模块420可以通过直接或间接合并子表和其他中间表的至少两个生成中间表。例如,生成模块420可以通过合并子表和其他中间表的至少两个生成中间表,所述子表和其他中间表中的至少两个的生成时间点是相似的。作为另一示例,生成模块420可以通过合并子表和其他中间表的至少两个生成中间表,所述子表和其他中间表中的至少两个之间是存在关系的。作为又一示例,生成模块420可以通过合并子表和其他中间表的至少两个生成中间表,所述子表和其他中间表的至少两个之间的生成时间点相似且是存在关系的。在一些实施例中,中间表可以包括与目标宽表的至少一个字段相关联的一个或多个字段。中间表的一个或多个字段可以与子表和其他中间表的至少两个的字段相同或不同。在一些实施例中,当中间表的一个或多个字段与子表和其他中间表的至少两个的字段相同时,生成模块420可通过直接合并子表和其他中间表的至少两个生成中间表。仅作为范例,中间表包括四个字段,即,身份,年龄,性别和职业。第一个子表包括两个字段,即,身份和年龄。第二个子表包括两个字段,即,性别和职业。中间表可以基于第一子表和第二子表生成。生成模块420可以通过直接合并第一子表和第二子表生成中间表。在一些实施例中,当中间表的一个或多个字段中的至少一个与子表和其他中间表的至少两个的字段不同(即,在所生成的中间表中存在新字段)时,生成模块420可以通过间接合并子表和其他中间表的至少两个生成中间表。具体来说,生成模块420可以根据中间表的一个或多个字段,处理子表和其他中间表的至少两个的信息。处理可以基于要处理的表中的一个或多个字段产生新字段(例如,目标表中的目标字段)。该处理可以包括数学计算(例如,求和)。然后,生成模块420可以至少部分地基于处理的信息生成中间表。仅作为范例,中间表包括由身份和订单总数表示的两个字段。第一个子表包括由身份和快车订单数量表示的两个字段。第二个子表包括由身份和出租车订单数量表示的两个字段。如果订单类型仅包括出租车订单和快车订单,则生成模块420可以对第一子表中的快车订单的数量和第二子表中的出租车订单的数量进行求和以确定订单的总数。然后,生成模块420可以至少部分地基于该总和生成中间表。
[0080] 在一些实施例中,生成模块420可以并行或串行生成至少两个中间表。如图6所示,仅出于说明目的,根据多层结构600中的箭头方向,可以并行地生成同一中间层的中间表。例如,中间层615上的中间表609和中间表610可以并行生成。不同中间层的中间表可以并行或串行生成。例如,中间层614上的中间表608和中间层615上的中间表609可以并行生成。作为另一个示例,中间层615上的中间表610和中间层616上的中间表611可以串行生成。
[0081] 在一些实施例中,确定模块430可以基于多个中间表确定目标表。确定模块430可以基于最后中间层上的所有中间表,或者最后中间层上的所有中间表和和至少一个其他表(例如,子表、除了最后的中间层以外的其他中间层上的中间表)的组合确定目标宽表。参如图6所示的多层结构600,确定模块430可以基于中间层616上的中间表611和基层613上的子表607确定目标宽表612。应当理解的是,当仅基于最后中间层的所有中间表来确定目标宽表时,最后中间层的所有中间表的数量可以是两个或两个以上。
[0082] 在一些实施例中,确定模块430可以通过合并最后中间层上的所有中间表,或者合并最后中间层上的所有中间表和至少一个其他表确定目标宽表。与中间表生成相关的合并类似,可以直接或间接地执行合并。
[0083] 存储模块440可以存储多个表。表可以包括子表、中间表和目标宽表。存储模块440可以与存储器150相同。在一些实施例中,所述存储模块440可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任何组合。
[0084] 处理引擎112中的获取模块410、生成模块420、确定模块430和存储模块440可以经由有线连接、无线连接或其任何组合而彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网路(WAN)、蓝牙、ZigBee网络、近场通讯(NFC)等或其任意组合。
[0085] 在一些实施例中,获取模块410,生成模块420,确定模块430和存储模块440中的两个或两个以上可以被组合为单个模块。例如,生成模块420可以与确定模块430集成为单个模块。单个模块可以确定多个中间表和目标表。在一些实施例中,处理引擎112可以进一步包括通信模块。通信模块可以用于为按需服务系统100中的其他组件发送信息(例如,目标宽表)。
[0086] 图5示出了根据本申请的一些实施例所示的用于生成宽表的示例性过程。过程500可以实施为按需服务系统100的服务器110的非临时性存储介质中的一组指令。服务器110的处理器220可以执行该一组指令并且可以相应地执行过程500中的步骤。
[0087] 以下呈现的所示过程500的操作,旨在是说明性的而非限制性的。在一些实施例中,过程500在实现时可以添加一个或多个未描述的额外操作,和/或删减一个或多个此处所描述的操作。此外,图5中所示的和下文描述的操作的顺序并不对此加以限制。
[0088] 在510中,获取模块410可以获取多个子表。在一些实施例中,获取模块410可以根据多个子表的生成时间点来获取多个子表。例如,获取模块410可以分别在多个子表的生成时间点或紧接在多个子表的生成时间点之后获取多个子表。由于多个子表的生成时间点可以相同或不同,因此获取模块410可以在同一时间点或不同的时间点获取多个子表。
[0089] 可替换地或可选地,获取模块410可以根据生成目标宽表期间使用多个子表的时间点来获取多个子表。例如,获取模块410可以分别在生成目标宽表期间使用多个子表的时间点之前的一段时间(例如30分钟)内获取多个子表。由于在生成目标宽表期间使用多个子表的时间点可以相同或不同,因此获取模块410可以在同一时间点或不同时间点获取多个子表。关于获取子表的细节可以在本申请的其他地方找到。参见图4和图6及其描述。
[0090] 在520,生成模块420可以生成多个中间表,每个中间表直接或间接基于多个子表中的一个或多个。在一些实施例中,生成模块420可以在获取子表的一个或多个之前生成至少一个中间表。在一些实施例中,生成模块420可以基于生成时间点相似的子表和其他中间表的至少两个,存在关系子表和其他中间表的至少两个,或者它们的组合,生成中间表。在某些实施例中,生成模块420可以通过直接或间接合并子表和其他中间表的至少两个生成中间表。在某些实施例中,生成模块420可以并行、串行或其组合生成至少两个中间表。关于生成中间表的细节可以在本申请的其他地方找到。参见图4和图6以及其描述。
[0091] 在530中,确定模块430可以基于多个中间表确定目标宽表。在一些实施例中,确定模块430可基于最后中间层的所有中间表或者最后中间层的所有中间表与至少一个其他表(例如,子表,除了最后的中间层以外的其他中间层的中间表)确定目标宽表。类似于中间表的生成,确定模块430可以通过合并最后中间层的全部中间表或者直接或间接合并最后中间层的全部中间表和至少一个其他表确定目标宽表。
[0092] 在一些实施例中,过程500可以进一步包括附加步骤。例如,过程500可以进一步包括将目标宽表传输到按需服务系统100中的其他组件(例如,存储器150)。以上描述仅用于说明目的。应该注意的是,本领域的普通技术人员可以考虑除了图5中所描述的步骤之外的附加或替代步骤。
[0093] 上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为范例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可以进行各种变更、改良和修改。这类变更、改良和修改在本申请中被建议,所以所述类变更、改良和修改仍属于本申请示例性实施例的精神和范围。
[0094] 同时,本申请使用了特定术语来描述本申请的实施例。如“一个实施例“、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特性可以进行适当的组合。
[0095] 此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的制程、机器、产品或物质的组合,或对其任何新的和有用的改良。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“模块”、“单元”、“组件”或“系统”。此外,本申请的各方面可以呈现为位于一个或多个计算机可读介质中的计算机产品,该产品具有计算机可读程序编码。
[0096] 计算机可读信号介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合形式。计算机可读信号介质可以为除计算机可读储存介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、设备或装置以实现通讯、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、缆线、光纤电缆、RF、或类似介质、或任何上述介质的合适组合。
[0097] 本申请各方面操作所需的计算机程序码可以用一种或多种程序语言的任意组合编写,包括面向对象程序设计,如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB。NET,Python或类似的常规程序编程语言,如“C”编程语言,Visual Basic,Fortran 2003,Perl,COBOL 2002,PHP,ABAP,动态编程语言如Python,Ruby和Groovy或其它编程语言。程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机上运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算器可以通过任何网络形式与用户计算器连接,例如,局域网络(LAN)或广域网(WAN),或连接至外部计算器(例如通过因特网),或在云端计算环境中,或作为服务使用如软件即服务(SaaS)。
[0098] 此外,处理元素或者序列的列举顺序、数字、字母或者其他名称的使用不是用于限制要求的过程和方法的。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解,此类细节仅起说明的目的,附加的申请专利范围并不仅限于披露的实施例,相反,申请专利范围旨在覆盖所有符合本申请实施例精神和范围的修正和等价组合。例如,虽然以上描述的系统组件可以通过安装于硬件装置中实施,但也可以只通过软件的解决方案实施,例如在现有的服务器或移动设备上安装所描述的系统。
[0099] 同理,应当注意的是,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,此揭示方法并不意味着本申请所需的特征比申请专利范围中涉及的特征多。相反,所要求保护的主题在于少于单个前述申请实施例的所有特征。