一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、电子设备、系统和存储介质与流程

2022-02-19 06:27:18 来源:中国专利 TAG:


1.本发明实施例涉及计算机技术,尤其涉及一种数据处理方法、装置、电子设备、系统和存储介质。


背景技术:

2.分布式存储系统中,为了应对数据量过大的问题,通常会按照拆分键将数据分库分表存储。在实现本发明的过程中,发明人发现,针对分布式存储系统中存储的数据,在查询时,如果查询请求中携带了拆分键,则可以根据拆分键实现快速查询,而如果查询请求中没有携带拆分键,则需要进行全表扫描,比较耗时,查询效率比较低。


技术实现要素:

3.本发明实施例提供一种数据处理方法、装置、电子设备、系统和存储介质,能够提高查询效率。
4.第一方面,本发明实施例提供一种数据处理方法,所述方法包括:
5.创建查询任务,并确定所述查询任务中是否包含拆分键信息;
6.在所述查询任务中包含所述拆分键信息时,向第一服务器发送所述查询任务,以使得所述第一服务器根据所述拆分键信息对应的路由规则执行所述查询任务;
7.在所述查询任务中不包含所述拆分键信息时,向第二服务器发送所述查询任务,以使得所述第二服务器根据倒排索引执行所述查询任务,所述倒排索引由所述第二服务器根据从所述第一服务器同步的数据建立。
8.第二方面,本发明实施例提供一种数据处理装置,所述装置包括:
9.确定模块,用于创建查询任务,并确定所述查询任务中是否包含拆分键信息;
10.执行模块,用于在所述查询任务中包含所述拆分键信息时,向第一服务器发送所述查询任务,以使得所述第一服务器根据所述拆分键信息对应的路由规则执行所述查询任务;在所述查询任务中不包含所述拆分键信息时,向第二服务器发送所述查询任务,以使得所述第二服务器根据倒排索引执行所述查询任务,所述倒排索引由所述第二服务器根据从所述第一服务器同步的数据建立。
11.第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的数据处理方法。
12.第四方面,本发明实施例还提供了一种数据处理系统,包括第一服务器、第二服务器以及用于执行本发明实施例中任一所述的数据处理方法的电子设备。
13.第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的数据处理方法。
14.本发明实施例中,在创建查询任务之后,可以确定查询任务中是否包含拆分键信息;在查询任务中包含拆分键信息时,向第一服务器发送查询任务,以使得第一服务器根据
该拆分键信息对应的路由规则执行查询任务;在查询任务中不包含拆分键信息时,向第二服务器发送查询任务,以使得第二服务器根据倒排索引执行查询任务。即本发明实施例中,在查询任务中不包含拆分键信息时,可以利用第二服务器中的倒排索引辅助查询,从而避免了全表扫描,加快了查询速度,提升了查询效率。
附图说明
15.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
16.图1是本发明实施例提供的数据处理方法的一个流程示意图。
17.图2是本发明实施例提供的数据处理方法的另一流程示意图。
18.图3是本发明实施例提供的数据处理系统的一个交互示意图。
19.图4是本发明实施例提供的数据处理方法的又一流程示意图。
20.图5是本发明实施例提供的数据处理系统的又一交互示意图。
21.图6是本发明实施例提供的数据处理装置的一个结构示意图。
22.图7是本发明实施例提供的数据处理系统的一个结构示意图。
23.图8是本发明实施例提供的电子设备的一个结构示意图。
具体实施方式
24.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
25.图1为本发明实施例提供的数据处理方法的一个流程示意图,该方法可以由本发明实施例提供的数据处理装置来执行,该装置可采用软件和/或硬件的方式实现。在一个具体的实施例中,该装置可以集成在电子设备中,电子设备可以是手机、个人计算机(personal computer,pc)、平板电脑、笔记本电脑、台式电脑等电子设备。以下实施例将以该装置集成在电子设备中为例进行说明。参考图1,该方法具体可以包括如下步骤:
26.步骤101,创建查询任务,并确定查询任务中是否包含拆分键信息。
27.示例地,比如电子设备上具有预设应用程序,当用户需要通过预设应用程序查询某些信息时,电子设备可以根据用户在预设应用程序中的操作创建查询任务;预设应用程序例如可以是购物应用程序、娱乐应用程序、即时通讯应用程序等。以预设应用程序为购物应用程序为例,比如,当用户需要通过购物应用程序查询某个订单信息时,电子设备可以根据用户在购物应用程序中的操作创建订单查询任务。
28.具体实现中,预设应用程序的相关数据可以存储在预设应用程序对应的后台服务器,该后台服务器即本发明实施例中的第一服务器。示例地,第一服务器可以是关系型数据库服务器,比如mysql服务器、oracle服务器、db2服务器等,第一服务器可以是一个服务器集群。
29.为了应对数据量过大的问题,第一服务器集群中通常会将预设应用程序的相关数
据按照预设路由规则分库分表存储,预设路由规则即根据拆分键信息分库分表存储数据的规则,拆分键信息可以指用来拆分表的属性信息,不同的拆分键信息可以对应不同的路由规则。比如,以拆分键信息为用户标识、路由规则为哈希取模规则为例,例如当需要存储预设应用程序产生的用户的订单数据时,可以根据分库分表的数量对每个用户的用户标识进行哈希取模运算,得到哈希取模值,按照该哈希取模值确定对应用户的订单数据需要存入的库表,将用户的订单数据存入对应的库表中。其中,用户标识可以是用户名、用户账号等信息。
30.具体在本发明实施例中,在创建查询任务之后,可以先确定查询任务中是否包含拆分键信息,如果包含拆分键信息,则执行步骤102,否则,执行步骤103。
31.步骤102,在查询任务中包含拆分键信息时,向第一服务器发送查询任务,以使得第一服务器根据拆分键信息对应的路由规则执行该查询任务。
32.示例地,电子设备可以将包含拆分键信息的查询任务发送给第一服务器,第一服务器在接收到该查询任务时,可以确定该拆分键信息对应的路由规则,按照确定的路由规则执行该查询任务。
33.比如,当查询任务为订单查询任务、拆分键信息为用户标识、路由规则为哈希取模规则时,第一服务器可以对该拆分键信息进行哈希取模运算,得到哈希取模值,根据该哈希取模值确定数据存入第一服务器中的库表,从第一服务器中的对应库表获取当前查询任务对应的数据,得到查询结果,向电子设备反馈查询结果。
34.步骤103,在查询任务中不包含拆分键信息时,向第二服务器发送查询任务,以使得第二服务器根据倒排索引执行该查询任务,该倒排索引由第二服务器根据从第一服务器同步的数据建立。
35.示例地,第二服务器可以是任意的支持倒排索引功能的服务器。比如,第二服务器可以是elasticsearch(简称es)服务器、postgresql服务器等,第二服务器也可以是一个服务器集群。
36.具体实现中,可以将第一服务器中的数据同步至第二服务器,以使得第二服务器根据同步的数据自动建立倒排索引,所建立的倒排索引可以作为第一服务器的辅助索引。
37.示例地,可以采用二进制日志binlog的方式将第一服务器中的数据同步至第二服务器,比如通过二进制日志binlog将第一服务器中的数据异步写入第二服务器。二进制日志binlog同步的方式保证了两个服务器中数据的一致性,异步写入第二服务器的方式提升了整体数据的写入效率。
38.示例地,同步至第二服务器中的数据,可以是第一服务器中的全部数据,也可以是第一服务器中的部分数据。在将第一服务器中的部分数据同步至第二服务器时,可以根据预先设置的字段提取规则从第一服务器提取预设数据,将提取的预设数据同步至第二服务器。将第一服务器中的部分数据同步至第二服务器,可以减少数据冗余。
39.具体实现中,当将不包含拆分键信息的查询任务发送给第一服务器时,第一服务器通常需要扫描全部的库表以得到查询结果,查询效率比较低,很容易出现请求超时的情况。因而本发明实施例中,电子设备可以将不包含拆分键信息的查询任务发送给第二服务器,第二服务器在接收到该查询任务时,可以根据自动建立的倒排索引执行该查询任务。
40.比如,第二服务器在接收到该查询任务时,可以根据该查询任务中的关键词及倒
排索引从第二服务器中的对应库表获取当前查询任务对应的数据,从而得到查询结果,向电子设备反馈查询结果。
41.本发明实施例中,在创建查询任务之后,可以确定查询任务中是否包含拆分键信息;在查询任务中包含拆分键信息时,向第一服务器发送查询任务,以使得第一服务器根据该拆分键信息对应的路由规则执行查询任务;在查询任务中不包含拆分键信息时,向第二服务器发送查询任务,以使得第二服务器根据倒排索引执行查询任务。即本发明实施例中,在查询任务中不包含拆分键信息时,可以利用第二服务器中的倒排索引辅助查询,从而避免了全表扫描,加快了查询速度,提升了查询效率。
42.进一步地,在实现本发明的过程中,发明人发现,对于涉及关联查询、聚合查询等复杂查询任务时,仍存在查询效率不高的问题。针对这一问题本发明实施例也提供了解决方案,具体分为两种情况:包含拆分键信息的复杂查询任务和不包含拆分键信息的复杂查询任务。在一个具体的实施例中,针对包含拆分键信息的复杂查询任务可按照图2所示方法处理,具体如下:
43.步骤201,创建查询任务,查询任务中包含拆分键信息。
44.示例地,比如电子设备上具有预设应用程序,当用户需要通过预设应用程序查询某些信息时,电子设备可以根据用户在预设应用程序中的操作创建查询任务。示例地,拆分键信息可以指用来拆分表的属性信息,不同的拆分键信息可以对应不同的路由规则,在数据存储时,可以根据拆分键信息对应的路由规则存储数据。
45.步骤202,确定查询任务的类型。
46.比如,可以确定查询任务中是否包含预设关键词,在查询任务中不包含预设关键词时,确定查询任务不涉及跨越查询,该查询任务的类型为简单任务,在查询任务中包含预设关键词时,确定查询任务涉及跨越查询,该查询任务的类型为复杂任务。本发明实施例中,跨越查询可以指跨库、跨表的查询。预设关键词可以根据跨库、跨表查询语句设置,比如预设关键词可以包括但不限于:join、sum、count等。即本发明实施例中,可以将涉及跨库、跨表查询的任务确定为复杂任务。
47.步骤203,查询任务是否为简单任务,当查询任务为简单任务时,执行步骤206,当查询任务为复杂任务时,执行步骤204。
48.步骤204,向第三服务器发送查询任务,以使得第三服务器将查询任务拆分成子任务并向第二服务器发送子任务。
49.具体地,第三服务器可以是具有快速通用计算引擎的服务器,比如spark服务器,第三服务器也可以是一个服务器集群。本发明实施例中,如果查询任务是复杂任务,则可以将查询任务发送给第三服务器,第三服务器在接收到该查询任务时,可以根据第二服务器的数量、数据分布情况、每个子查询对应的查询数量阈值将查询任务拆分成若干个子任务,将这些子任务发送给第二服务器,以使得第二服务器根据倒排索引执行这些子任务,子任务查询范围相对较小,查询速度快,可并行执行。
50.步骤205,接收第三服务器反馈的查询结果。
51.具体实现中,第二服务器在执行各个子任务得到各个子查询结果之后,可以将各个子查询结果发送给第三服务器,由第三服务器对各个子查询结果进行合并处理得到查询任务的查询结果,电子设备接收第三服务器反馈的查询结果。
52.步骤206,向第一服务器发送查询任务。
53.即如果查询任务是简单任务,则不进行任务拆分而直接将查询任务发送给第一服务器处理,第一服务器处理该查询任务之后,可以向电子设备反馈查询结果。
54.下面以第一服务器为mysql服务器、第二服务器为es服务器,第三服务器为spark服务器举例说明具体的数据处理过程,如图3所示:
55.比如,查询任务a为简单任务,则电子设备可以直接将查询任务a发送给mysql服务器,由mysql服务器执行查询任务a,mysql服务器执行查询任务a之后得到查询结果a,将查询结果a反馈给电子设备。
56.比如,查询任务b为复杂任务,则电子设备可以将查询任务b发送给spark服务器,由spark服务器将查询任务b拆分为子任务b1和子任务b2,并将子任务b1和子任务b2发送给es服务器执行;es服务器执行子任务b1和子任务b2分别得到查询结果b1和查询结果b2,将查询结果b1和查询结果b2反馈给spark服务器;spark服务器对查询结果b1和查询结果b2进行合并处理得到查询结果b,将查询结果b反馈给电子设备。
57.通过上述技术方案,复杂的查询任务经由spark服务器进行任务拆分得到多个子任务,可以在es服务器上并行执行多个子任务,通过任务的并行执行提高了查询效率;es服务器可以根据存入的数据自动建立的倒排索引,简化了索引创建过程,将建立的倒排索引作为mysql服务器的辅助索引,进一步提高了查询效率;将spark服务器和es服务器相结合,通过es的倒排索引提升了复杂任务的查询性能,可以支持更加丰富的跨库查询。
58.在一个具体的实施例中,针对不包含拆分键信息的复杂查询任务可按照图4所示方法处理,具体如下:
59.步骤301,创建查询任务,查询任务中不包含拆分键信息。
60.示例地,比如电子设备上具有预设应用程序,当用户需要通过预设应用程序查询某些信息时,电子设备可以根据用户在预设应用程序中的操作创建查询任务。示例地,拆分键信息可以指用来拆分表的属性信息,不同的拆分键信息可以对应不同的路由规则,在数据存储时,可以根据拆分键信息对应的路由规则存储数据。
61.步骤302,确定查询任务的类型。
62.比如,可以确定查询任务中是否包含预设关键词,在查询任务中不包含预设关键词时,确定查询任务不涉及跨越查询,该查询任务的类型为简单任务,在查询任务中包含预设关键词时,确定查询任务涉及跨越查询,该查询任务的类型为复杂任务。本发明实施例中,跨越查询可以指跨库、跨表的查询。预设关键词可以根据跨库、跨表查询语句设置,比如预设关键词可以包括但不限于:join、sum、count等。即本发明实施例中,可以将涉及跨库、跨表查询的任务确定为复杂任务。
63.步骤303,查询任务是否为简单任务,当查询任务为简单任务时,执行步骤306,当查询任务为复杂任务时,执行步骤304。
64.步骤304,向第三服务器发送查询任务,以使得第三服务器将查询任务拆分成子任务并向第二服务器发送子任务。
65.具体地,第三服务器可以是具有快速通用计算引擎的服务器,比如spark服务器,第三服务器也可以是一个服务器集群。本发明实施例中,如果查询任务是复杂任务,则可以将查询任务发送给第三服务器,第三服务器在接收到该查询任务时,可以根据第二服务器
的数量、数据分布情况、每个子查询对应的查询数量阈值将查询任务拆分成若干个子任务,将这些子任务发送给第二服务器,以使得第二服务器根据倒排索引执行这些子任务,子任务查询范围相对较小,查询速度快,可并行执行。
66.步骤305,接收第三服务器反馈的查询结果。
67.具体实现中,第二服务器在执行各个子任务得到各个子查询结果之后,可以将各个子查询结果发送给第三服务器,由第三服务器对各个子查询结果进行合并处理得到查询任务的查询结果,电子设备接收第三服务器反馈的查询结果。
68.步骤306,向第二服务器发送查询任务。
69.即如果查询任务是简单任务,则不进行任务拆分而直接将查询任务发送给第二服务器处理,第二服务器处理该查询任务之后,可以向电子设备反馈查询结果。
70.下面以第二服务器为es服务器,第三服务器为spark服务器举例说明具体的数据处理过程,如图5所示:
71.比如,查询任务c为简单任务,则电子设备可以直接将查询任务c发送给es服务器,由es服务器执行查询任务c;es服务器执行查询任务c之后得到查询结果c,将查询结果c反馈给电子设备。
72.比如,查询任务d为复杂任务,则电子设备可以将查询任务d发送给spark服务器,由spark服务器将查询任务d拆分为子任务d1和子任务d2,并将子任务d1和子任务d2发送给es服务器执行;es服务器执行子任务d1和子任务d2分别得到查询结果d1和查询结果d2,将查询结果d1和查询结果d2反馈给spark服务器;spark服务器对查询结果d1和查询结果d2进行合并处理得到查询结果d,将查询结果d反馈给电子设备。
73.通过上述技术方案,在查询任务中不包含拆分键信息时,可以利用es服务器中的倒排索引辅助查询,从而避免了全表扫描,加快了查询速度,提升了查询效率;es服务器可以根据存入的数据自动建立的倒排索引,简化了索引创建过程;进一步地,复杂的查询任务经由spark服务器进行任务拆分得到多个子任务,可以在es服务器上并行执行多个子任务,通过任务的并行执行进一步提高了查询效率;将spark服务器和es服务器相结合,通过es的倒排索引提升了复杂任务的查询性能,可以支持更加丰富的跨库查询。实验证明,采用将数据同步至es的辅助查询方案,当查询任务命中百万级以上的数据时,跨库的关联查询和聚合查询比相同测试环境的其他同步方案至少提高了30%。
74.应该理解的是,虽然图1、2、4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、2、4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
75.图6是本发明是实施例提供的数据处理装置的一个结构图,该装置适用于执行本发明实施例提供的数据处理方法。如图6所示,该装置具体可以包括:
76.确定模块401,用于创建查询任务,并确定所述查询任务中是否包含拆分键信息;
77.执行模块402,用于在所述查询任务中包含所述拆分键信息时,向第一服务器发送
所述查询任务,以使得所述第一服务器根据所述拆分键信息对应的路由规则执行所述查询任务;在所述查询任务中不包含所述拆分键信息时,向第二服务器发送所述查询任务,以使得所述第二服务器根据倒排索引执行所述查询任务,所述倒排索引由所述第二服务器根据从所述第一服务器同步的数据建立。
78.一实施例中,在所述查询任务中包含所述拆分键信息时,所述确定模块401还用于,确定所述查询任务的类型;
79.所述执行模块402还用于,在所述查询任务的类型为简单任务时,执行向所述第一服务器发送所述查询任务的步骤。
80.一实施例中,在所述查询任务中不包含所述拆分键信息时,所述确定模块401还用于,确定所述查询任务的类型;
81.所述执行模块402还用于,在所述查询任务的类型为简单任务时,执行向所述第二服务器发送所述查询任务的步骤。
82.一实施例中,所述执行模块402还用于,
83.在所述查询任务的类型为复杂任务时,向第三服务器发送所述查询任务,以使得所述第三服务器将所述查询任务拆分成子任务并向所述第二服务器发送所述子任务。
84.一实施例中,所述执行模块402还用于,接收所述第三服务器反馈的查询结果,所述查询结果由所述第三服务器对所述子任务的执行结果进行合并处理得到,所述子任务的执行结果由所述第二服务器在执行所述子任务之后反馈给所述第三服务器。
85.一实施例中,所述第三服务器包括spark服务器。
86.一实施例中,所述确定模块401确定所述查询任务的类型,包括:
87.确定所述查询任务是否涉及跨越查询;
88.在所述查询任务不涉及跨越查询时,确定所述查询任务的类型为所述简单任务,在所述查询任务涉及跨越查询时,确定所述查询任务的类型为所述复杂任务。
89.一实施例中,所述确定模块401确定所述查询任务是否涉及跨越查询,包括:
90.确定所述查询任务中是否包含预设关键词;
91.在所述查询任务中不包含所述预设关键词时,确定所述查询任务不涉及跨越查询,在所述查询任务中包含所述预设关键词时,确定所述查询任务涉及跨越查询。
92.一实施例中,所述第二服务器包括elasticsearch服务器。
93.本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
94.本发明实施例的装置,在创建查询任务之后,可以确定查询任务中是否包含拆分键信息;在查询任务中包含拆分键信息时,向第一服务器发送查询任务,以使得第一服务器根据该拆分键信息对应的路由规则执行查询任务;在查询任务中不包含拆分键信息时,向第二服务器发送查询任务,以使得第二服务器根据倒排索引执行查询任务。即本发明实施例中,在查询任务中不包含拆分键信息时,可以利用第二服务器中的倒排索引辅助查询,从而避免了全表扫描,加快了查询速度,提升了查询效率。
95.本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例提供的数据处理方法。
96.本发明实施例还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例提供的数据处理方法。
97.图7示出了可以应用本发明实施例的数据处理方法或数据处理装置的示例性系统架构。
98.如图7所示,系统架构可以包括第一服务器501、第二服务器502以及用于执行如本发明实施例任一所述的数据处理方法的电子设备503。
99.其中,各设备之间可以通过网络连接,网络用以在各设备之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
100.其中,电子设备503用于创建查询任务,并确定所述查询任务中是否包含拆分键信息;在所述查询任务中包含所述拆分键信息时,向第一服务器501发送所述查询任务,以使得所述第一服务器501根据所述拆分键信息对应的路由规则执行所述查询任务;在所述查询任务中不包含所述拆分键信息时,向第二服务器502发送所述查询任务,以使得所述第二服务器502根据倒排索引执行所述查询任务,所述倒排索引由所述第二服务器502根据从所述第一服务器501同步的数据建立。
101.在一个具体的实施例中,系统架构中还可以包括第三服务器504,在所述查询任务的类型为复杂任务时,电子设备501可以向第三服务器504发送所述查询任务,以使得所述第三服务器504将所述查询任务拆分成子任务并向所述第二服务器502发送所述子任务;以及接收所述第三服务器504反馈的查询结果,所述查询结果由所述第三服务器504对所述子任务的执行结果进行合并处理得到,所述子任务的执行结果由所述第二服务器502在执行所述子任务之后反馈给所述第三服务器504。
102.示例地,第二服务器502可以是elasticsearch服务器,第三服务器可以是spark服务器。
103.需要说明的是,本发明实施例所提供的数据处理方法一般由电子设备503执行,相应地,数据处理装置一般设置于电子设备503中。
104.下面参考图8,其示出了适于用来实现本发明实施例的电子设备的计算机系统600的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
105.如图8所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有系统600操作所需的各种程序和数据。cpu 601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
106.以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如
磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
107.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(cpu)601执行时,执行本发明的系统中限定的上述功能。
108.需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
109.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
110.描述于本发明实施例中所涉及到的模块和/或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或单元也可以设置在处理器中,例如,可以描述为:一种处理器包括确定模块和执行模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
111.作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使
得该设备包括:创建查询任务,并确定所述查询任务中是否包含拆分键信息;在所述查询任务中包含所述拆分键信息时,向第一服务器发送所述查询任务,以使得所述第一服务器根据所述拆分键信息对应的路由规则执行所述查询任务;在所述查询任务中不包含所述拆分键信息时,向第二服务器发送所述查询任务,以使得所述第二服务器根据倒排索引执行所述查询任务,所述倒排索引由所述第二服务器根据从所述第一服务器同步的数据建立。
112.根据本发明实施例的技术方案,在创建查询任务之后,可以确定查询任务中是否包含拆分键信息;在查询任务中包含拆分键信息时,向第一服务器发送查询任务,以使得第一服务器根据该拆分键信息对应的路由规则执行查询任务;在查询任务中不包含拆分键信息时,向第二服务器发送查询任务,以使得第二服务器根据倒排索引执行查询任务。即本发明实施例中,在查询任务中不包含拆分键信息时,可以利用第二服务器中的倒排索引辅助查询,从而避免了全表扫描,加快了查询速度,提升了查询效率。
113.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献