发明内容
本说明书实施例提供一种数据连接的方法、装置及电子设备,用于解决现有技术中数据连接执行效率较低的技术问题。
第一方面,本说明书实施例提供一种数据连接的方法,所述方法包括:
通过第一连接算法对第一数据集和第二数据集执行数据连接操作,以连接所述第一数据集与所述第二数据集中键值相等的数据;
在所述第一连接算法的执行过程中,获取所述第一连接算法的执行参数,所述执行参数用于表征算法执行过程的执行效率;
根据所述执行参数将所述第一连接算法切换为第二连接算法,通过所述第二连接算法继续执行所述数据连接操作,其中,所述第二连接算法与所述第一连接算法不同。
可选的,所述获取所述第一连接算法的执行参数,包括:
当所述第一连接算法为合并连接算法时,获取所述合并连接算法连续访问一个数据集中数据行的行数作为所述执行参数;或者,
当所述第一连接算法为之字形合并连接算法时,获取所述之字形合并连接算法跳过的数据行的行数作为执行参数。
可选的,所述获取所述第一连接算法的执行参数,包括:
当所述第一连接算法为合并连接算法时,每出现一次连续读取一个数据集中的数据行则对所述执行参数的值加上预设步长,反之,对所述执行参数的值减去所述预设步长;
当所述第一连接算法为之字形合并连接算法时,每出现一次查找到的数据行与在前读取的数据行的下一行相同时对所述执行参数的值加上所述预设步长,反之,对所述执行参数的值减去所述预设步长。
可选的,所述当所述第一连接算法为合并连接算法时,每出现一次连续读取一个数据集中的数据行则对所述执行参数的值加上预设步长,包括:
当所述第一连接算法为合并连接算法时,判断读取的当前第一数据行与当前第二数据行的键值大小,所述第一数据行属于第一数据集,所述第二数据行属于所述第二数据集;
若当前第一数据行的键值小于或等于当前第二数据行的键值,获取上次判断的第一数据行的键值与第二数据行的键值大小的判断结果,若上次判断的第一数据行的键值小于或等于第二数据行的键值,对所述执行参数加上所述预设步长;
若当前第一数据行的键值大于当前第二数据行的键值,获取上次判断的第一数据行的键值与第二数据行的键值大小的判断结果,若上次判断的第一数据行的键值大于第二数据行的键值,对所述执行参数加上所述预设步长。
可选的,所述第一连接算法为合并连接算法或之字形合并连接算法,所述第二连接算法为之字形合并连接算法或合并连接算法。
第二方面、本实施例提供一种数据连接的装置,所述装置包括:
连接单元,用于通过第一连接算法对第一数据集和第二数据集执行数据连接操作,以连接所述第一数据集与所述第二数据集中键值相等的数据;
检测单元,用于在所述第一连接算法的执行过程中,获取所述第一连接算法的执行参数,所述执行参数用于表征算法执行过程的执行效率;
切换单元,用于根据所述执行参数将所述第一连接算法切换为第二连接算法,通过所述第二连接算法继续执行所述数据连接操作,其中,所述第二连接算法与所述第一连接算法不同。
可选的,所述检测单元用于:当所述第一连接算法为合并连接算法时,获取所述合并连接算法连续访问一个数据集中数据行的行数作为所述执行参数;或者,当所述第一连接算法为之字形合并连接算法时,获取所述之字形合并连接算法跳过的数据行的行数作为执行参数。
可选的,所述检测单元用于:当所述第一连接算法为合并连接算法时,每出现一次连续读取一个数据集中的数据行则对所述执行参数的值加上预设步长,反之,对所述执行参数的值减去所述预设步长;当所述第一连接算法为之字形合并连接算法时,每出现一次查找到的数据行与在前读取的数据行的下一行相同时对所述执行参数的值加上所述预设步长,反之,对所述执行参数的值减去所述预设步长。
可选的,所述检测单元还用于:当所述第一连接算法为合并连接算法时,判断读取的当前第一数据行与当前第二数据行的键值大小,所述第一数据行属于第一数据集,所述第二数据行属于所述第二数据集;若当前第一数据行的键值小于或等于当前第二数据行的键值,获取上次判断的第一数据行的键值与第二数据行的键值大小的判断结果,若上次判断的第一数据行的键值小于或等于第二数据行的键值,对所述执行参数加上所述预设步长;若当前第一数据行的键值大于当前第二数据行的键值,获取上次判断的第一数据行的键值与第二数据行的键值大小的判断结果,若上次判断的第一数据行的键值大于第二数据行的键值,对所述执行参数加上所述预设步长。
可选的,所述第一连接算法为合并连接算法或之字形合并连接算法,所述第二连接算法为之字形合并连接算法或合并连接算法。
第三方面、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
通过第一连接算法对第一数据集和第二数据集执行数据连接操作,以连接所述第一数据集与所述第二数据集中键值相等的数据;
在所述第一连接算法的执行过程中,获取所述第一连接算法的执行参数,所述执行参数用于表征算法执行过程的执行效率;
根据所述执行参数将所述第一连接算法切换为第二连接算法,通过所述第二连接算法继续执行所述数据连接操作,其中,所述第二连接算法与所述第一连接算法不同。
第四方面、一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
通过第一连接算法对第一数据集和第二数据集执行数据连接操作,以连接所述第一数据集与所述第二数据集中键值相等的数据;
在所述第一连接算法的执行过程中,获取所述第一连接算法的执行参数,所述执行参数用于表征算法执行过程的执行效率;
根据所述执行参数将所述第一连接算法切换为第二连接算法,通过所述第二连接算法继续执行所述数据连接操作,其中,所述第二连接算法与所述第一连接算法不同。
本说明书实施例中的上述一个或多个技术方案,至少具有如下技术效果:
本说明书实施例提供一种数据连接的方法,包括:通过第一连接算法对第一数据集和第二数据集执行数据连接操作,以连接第一数据集与第二数据集中键值相等的数据;在第一连接算法执行过程中,获取所述第一连接算法的执行参数,该执行参数用于表征算法执行过程的执行效率;根据获取到的执行参数选择将第一连接算法切换为第二连接算法。上述方法针对数据连接,并不指定使用某一种连接算法,而是根据当前连接算法的执行效率进行自适应切换,从而实现了算法对不同数据的自适应调整,在包含不同数据分布的场景中都能达到较高的执行效率,克服了单一连接算法针对复杂数据存在比较低效的问题,提高了数据连接的执行效率。
具体实施方式
为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
在本说明书实施例提供一种数据连接的方法,通过获取表征连接算法执行效率的执行参数,并基于该执行参数切换连接算法,实现算法对不同数据的自适应调整,进而提高数据连接的执行效率。
下面结合附图对本说明书实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
实施例
本实施例提供一种数据连接的方法,应用于数据处理系统,如数据库、数据表等需要进行数据连接的系统,采用合并连接算法和之字形合并连接算法对待连接的第一数据集和第二数据集进行自适应数据连接。请参考图1,该数据连接方法包括:
步骤10、通过第一连接算法对第一数据集和第二数据集执行数据连接操作,以连接所述第一数据集与所述第二数据集中键值相等的数据;
步骤11、在所述第一连接算法的执行过程中,获取所述第一连接算法的执行参数,所述执行参数用于表征算法执行过程的执行效率;
步骤12、根据所述执行参数将所述第一连接算法切换为第二连接算法,通过所述第二连接算法继续执行所述数据连接操作,其中,所述第二连接算法与所述第一连接算法不同。
其中,在进行数据连接初始化时,步骤10可以随机选择合并连接算法和之字形合并连接算法中的任一算法,作为数据连接的第一连接算法。或者,步骤10也可以根据各数据库使用记录,将第一连接算法设置为各数据处理系统的常用算法,如将之字形合并连接算法设置为第一连接算法,将之字形合并连接算法作为第二连接算法,通过合并连接算法作为之字形合并连接算法的补充,执行数据连接操作以实现数据连接。
执行数据连接操作时,需要将第一数据集和第二数据集分别输入内存中,习惯性将第一数据集中的数据称为左侧输入,将第二数据集中的数据称为右侧输入,左侧输入和右侧输入分别包含多行数据,每行数据都对应有各自的连接键。在步骤10之前,可以分别对左侧输入和右侧输入按照连接键的键值即取值进行排序,例如,可以按照键值升序排列,使得左右两侧输入针对连接键有序。在左右两侧输入针对连接键有序的情况下,不仅能够保证合并连接算法的快速执行,还能有效提高之字形合并连接算法的键值查找效率。
在左右两侧输入针对连接键有序的情况下,合并连接算法的执行过程如下:
第一步:获取左侧输入和右侧输入的一行数据,判断其连接键的键值是否相等,如果相等,则进入到第三步;如果不等,则进入第二步;如果左右任意一侧输入耗尽,则进入到第四步;
第二步:如果左侧键值小于右侧键值,则读取左侧的下一行数据;反之,则读取右侧下一行数据,然后回到第三步;
第三步:将读取的左右侧输入行中的数据分别缓存到两个临时缓存区中,并输出这两行数据的连接结果;接着,读取右侧的下一行,如果右侧下一行与之前的右侧行键值相等,则继续缓存该行到缓存区,并输出右侧下一行与当前左侧行的连接结果,继续读取右侧下一行,循环执行直至右侧行键值与上一行不同;然后,开始读取左侧下一行,如果与左侧之前行的键值相同,则对缓冲区中的缓存的右侧所有行依次扫描,并进行连接操作,如此循环执行直至左侧行键值与上一行不同,则停止计算,回到第三步;
第四步:合并连接算法结束,丢弃掉未完结一侧的剩余数据。
关于之字形合并连接算法的执行过程,与合并连接算法的逻辑基本一致,区别在于第二步中,如果左侧键值小于右侧键值,则根据右侧键值对左侧输入数据进行查找操作,查找获得第一个大于或等于右侧键值的左侧输入作为左侧输入的下一行;反之同理。
在步骤10的执行过程中,进一步执行步骤11获取当前算法即第一连接算法执行过程的执行参数。其中,表征连接算法执行效率的参数包含连接效率、连接输出时长、算法计算量等。步骤11可以选择上述任一参数或任意参数进行组合作为执行参数。将两个或两个参数进行组合时,可以对各个参数进行加权相加的和值作为执行参数。对于获取到的执行参数继续执行步骤12。
执行步骤12时,可以判断获取到的执行参数是否大于设定阈值。大于设定阈值表明算法执行效率偏低,需要进行算法切换,反之,则不需要进行算法切换。该设定阈值可以根据不同的算法和不同的效率需求进行设定,满足条件1和条件2即可,本实施例不限制设定阈值的具体取值。条件1,在基础合并算法时,若出现连续访问一个数据集中的数据行的行越少越倾向于切换使用之字形合并连接算法,反之越不倾向于使用之字形合并连接算法。条件2,在之字形基础合并算法时,若出现查找获得的行跳过的行越少越倾向于切换使用合并连接算法,反之越不倾向于使用合并连接算法。
若执行参数大于设定阈值,对当前连接算法进行切换:将第一连接算法切换为第二连接算法,若当前使用的是合并连接算法,则将其切换为之字形合并连接算法,反之,若当前使用的是之字形合并连接算法,则将其切换为合并连接算法,并通过切换后的之字形合并连接算法或合并连接算法继续执行数据连接操作进行数据连接。
在执行整个数据连接操作的过程中,循环执行步骤10~步骤12,使得整个数据处理过程根据算法的实际执行情况实时进行切换,使用针对当前数据更高效的连接算法,克服了使用某一种算法存在某些场景执行效率较低的技术问题。
针对合并连接算法,步骤11可以采用获取算法收益的方法来获取执行参数:获取合并连接算法连续访问一个数据集中的数据行的行数作为合并连接算法的执行参数。合并连接算法连续访问一个数据集中的数据行的行数越多,其算法收益越小,其执行效率越低,越倾向于转换为之字形合并连接算法,将其连续访问一个数据集中的数据行的行数作为执行参数,用于表征执行效率简单有效。具体的,对于合并连接算法,可以先对左右两侧输入的每一行进行顺序编号,将连续访问的当前行编号减去连续访问的首行编号即为连续访问的行数。
针对之字形合并连接算法,步骤11同样可以采用获取算法收益的放法来获取执行参数:获取之字形合并连接算法跳过的数据行作为执行参数。之字形合并连接算法通过查找获取下一行输入,当检测到执行之字形合并连接算法可以跳过的行数越少,算法收益越小,执行效率越低,越倾向于转换为合并连接算法,将其跳过的数据行的行数作为执行参数来表征执行效率,同样简单有效。具体的,也可以先对左右两侧输入的每一行进行顺序编号,记录之字形合并连接算法当前访问的行的下一行编号A,以及之字形合并连接算法查找获得的下一行编号B,编号B减去编号A即为之字形合并连接算法跳过的行数。
基于获取算法收益作为执行参数的同一构思,本实施还可以采用下述方法来执行步骤11:在使用合并连接算法连接输出时,每出现一次连续读取一个数据集中的数据行则对执行参数的值加上预设步长,反之,对执行参数的值减去预设步长;在使用之字形合并连接算法连接输出时,每出现一次查找到的数据行与在前读取的数据行的下一行相同时对执行参数的值加上预设步长,反之,对执行参数的值减去预设步长。其中,执行参数的初始值可以设置为零。通过采用累积加减步长的方法来获取执行参数,无需对待连接的左右输入行进行编号,有效节约存储空间和计算量,进一步提高了执行效率。
其中,在使用合并连接算法连接输出时,判断读取的当前第一数据行与当前第二数据行的键值大小,所述第一数据行即左侧输入的数据行属于第一数据集,所述第二数据行即右侧输入的数据行属于所述第二数据集;若当前第一数据行的键值小于或等于当前第二数据行的键值,获取上次判断的第一数据行的键值与第二数据行的键值大小的判断结果,若上次判断的第一数据行的键值小于或等于第二数据行的键值,对所述执行参数加上所述预设步长;若当前第一数据行的键值大于当前第二数据行的键值,获取上次判断的第一数据行的键值与第二数据行的键值大小的判断结果,若上次判断的第一数据行的键值大于第二数据行的键值,对所述执行参数加上所述预设步长。
请参考图2a和图2b,为本实施例中的一个完整的执行流程:
①.设置l_key和r_key为连接键值的理论下界。l_key对应左侧输入的行键值,r_key对应右侧输入的行键值,通常情况下连接键值的理论下界值是可以为当前数值类型的理论下界,例如针对64位有符号型整型数据,其理论下界为-9,223,372,036,854,775,808,其他不同的数据类型基于各数据库的实现,可能有不同的理论下界值。
②.通过lookup函数查找大于或者等于l_key的第一行数据,并使l_row指向该行,即找到初始第一数据行。
③.通过lookup函数查找大于或者等于r_key的第一行数据,并使r_row指向该行,即找到初始第二数据行。
④.判断l_row指向的行的键值是否小于或等于r_row指向的行的键值,若是转入步骤⑤,若否,转入步骤
⑤.判断l_row指向的new_row行的键值是否等于r_row指向的new_row行的键值,若是转入步骤⑩,若否,进步步骤⑥。其中,l_row或r_row指向的行又称为当前输入行或new_row行。
⑥.判断begin_left是否为非空,若是转入步骤⑦,若否,转入步骤⑨。其中,begin_left为用于存储在前读取行的指针。
⑦.将begin_left赋值给l_row。
⑧.令begin_left为空。
⑨.令direction=0;使输入input指向左表;将l_key赋值给old_key;将r_key赋值给new_key;将l_row指向new_row,随后转入步骤
其中,direction=0表示上一次左右侧行键值比较结果是左表行小于或等于右表行,direction=1表示上一次左右侧行键值比较结果是左表行大于右表行。
⑩.输出l_row与r_row指向的行的连接结果。
判断断begin_left是否为空,若是,转入步骤
若否,转入步骤
判断current_mode是否等于1,若是,转入步骤
若否,转入步骤⑨。其中,current_mode=1表示当前使用的是合并连接算法,current_mode=0表示当前使用的是之字形合并连接算法。
判断direction是否等于0,若是,进步步骤
若否,转入步骤
use_basic减1,并转入步骤⑨。其中,use_basic为执行参数。
判断current_mode是否等于1,若是,继续步骤
若否,转入步骤
判断direction是否等于1,若是,继续步骤
若否,转入步骤
令direction=1;使输入input指向右表;将r_key赋值给old_key;将l_key赋值给new_key;将r_row指向new_row,随后继续步骤
令current_mode=(use_basic>threshold),即若use_basic大于阈值threshold则令current_mode=1,使当前使用的合并连接算法使用合并连接算法,反之,令current_mode=0,使当前使用的合并连接算法使用之字形合并连接算法,即在执行参数大于阈值时进行算法切换。
判断current_mode是否等于0,若是,转入步骤
若否,转入步骤
使用next函数读取当前输入input的old_key下一行,并使next_row指向该行。
使用lookup函数通过new_key查找第一个大于或等于new_key的一行,并使new_key指向该行。
判断next_row与new_row是否指向同一行,若是,转入步骤
若否,转入步骤
令current_mode=1。此处,也可以直接跳过进入下一步
使用next函数读取当前input的old_key下一行,并使new_row指向该行。
判断direction是否等于0,若是,转入步骤
若否,转入步骤
使l_row指向new_row指向的行,并转入步骤
使r_row指向new_row指向的行,并转入步骤
判断new_row是否为空,若是,结束,若否,转入步骤④。
在图2中展示了本实施例提供的数据连接方法的逻辑。第①-③步为初始化工作部分,初始算法逻辑为之字形合并连接算法;整体算法包含了合并连接算法和之字形合并连接算法两部分,合并连接算法主体为第
步,之字形合并连接算法的主体为第
步。第
步,当算法为之字形合并连接时,如果发现通过查找得到的下一行与直接顺序访问的下一行为同一行,说明之字形合并连接没有收益,通过use_basic加1,表示倾向使用合并连接算法,反之,如果发现通过查找得到的下一行与直接顺序访问的下一行为同一行,说明之字形合并连接有收益,通过use_basic或减1,表示不倾向使用合并连接算法;第
步,当处于合并连接算法时,如果从某一侧获取的行键值连续小于另一侧行键值,则通过use_basic加1,表示不倾向使用之字形连接算法,反之,如果从某一侧获取的行键值连续小于另一侧行键值,则通过use_basic减1,表示倾向使用之字形连接算法。第
步:判断当前use_basic值是否超过某一预设阈值,如果超过表示需要使用合并连接算法(current_mode=1)。
请参考图3,为一个仅使用之字形合并连接算法进行连接处理出现效率低下的场景,第一数据集中的数据如左表所示,第二数据集中的数据如右表所示,当通过之字形合并连接算法对左右两表中的数据进行连接时,可以跳过的数据较少,按照键值查找的执行开销大于顺序扫描的执行开销,因此之字形合并连接算法的执行开销反而大于合并连接算法的执行开销。针对同样场景,图4展示了本实施例的执行过程,对整个之字形合并连接的执行过程进行监测,当探测到执行之字形合并连接算法可以跳过的行数不足(收益过小)时,将算法切换到合并连接算法;当处于合并连接算法状态时,如果出现某侧数据连续访问不足时,切换回之字形合并连接算法,合并连接算法和之字形合并连接算法的切换以算法执行过程中的执行参数为依据,自动进行切换。
上述实施例提高的方案,结合了合并连接算法和之字形合并连接算法两部分逻辑,在每部分逻辑执行时,通过不同的执行反馈逻辑(基础合并算法使用第
步,之字形合并连接算法使用第
步),实时的调整两种算法的切换,在无需人工干预和硬编码的前提下,实现了算法对不同数据的自适应调整,克服了合并连接算法以及之字形合并连接算法各自处理容易出现比较低效的问题,使得整体算法在不同数据分布的场景中都能达到较好的执行效果,增强了合并连接算法的鲁棒性。
请参考图5,本实施例基于图1提供的一种数据连接方法,对应提供一种数据处理装置,该装置包括:
连接单元51,用于通过第一连接算法对第一数据集和第二数据集执行数据连接操作,以连接所述第一数据集与所述第二数据集中键值相等的数据;
检测单元52,用于在所述第一连接算法的执行过程中,获取所述第一连接算法的执行参数,所述执行参数用于表征算法执行过程的执行效率;
切换单元53,用于根据所述执行参数将所述第一连接算法切换为第二连接算法,通过所述第二连接算法继续执行所述数据连接操作,其中,所述第二连接算法与所述第一连接算法不同。
其中,所述检测单元52在检测获得执行参数时,可以当所述第一连接算法为合并连接算法时,获取所述合并连接算法连续访问一个数据集中数据行的行数作为所述执行参数;或者,当所述第一连接算法为之字形合并连接算法时,获取所述之字形合并连接算法跳过的数据行的行数作为执行参数。
所述检测单元52在检测获得执行参数时,也可以当所述第一连接算法为合并连接算法时,每出现一次连续读取一个数据集中的数据行则对所述执行参数的值加上预设步长,反之,对所述执行参数的值减去所述预设步长;当所述第一连接算法为之字形合并连接算法时,每出现一次查找到的数据行与在前读取的数据行的下一行相同时对所述执行参数的值加上所述预设步长,反之,对所述执行参数的值减去所述预设步长。具体的,当所述第一连接算法为合并连接算法时,判断读取的当前第一数据行与当前第二数据行的键值大小,所述第一数据行属于第一数据集,所述第二数据行属于所述第二数据集;若当前第一数据行的键值小于或等于当前第二数据行的键值,获取上次判断的第一数据行的键值与第二数据行的键值大小的判断结果,若上次判断的第一数据行的键值小于或等于第二数据行的键值,对所述执行参数加上所述预设步长;若当前第一数据行的键值大于当前第二数据行的键值,获取上次判断的第一数据行的键值与第二数据行的键值大小的判断结果,若上次判断的第一数据行的键值大于第二数据行的键值,对所述执行参数加上所述预设步长。
作为一种可选的实施方式,第一连接算法可以为合并连接算法或之字形合并连接算法,第二连接算法可以为之字形合并连接算法或合并连接算法。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关方法的实施例中进行了详细描述,此处不再详细阐述。
请参考图6,是根据一示例性实施例示出的一种用于实现数据查询方法的电子设备700的框图。例如,电子设备700可以是计算机,数据库控制台,平板设备,个人数字助理等。
参照图6,电子设备700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,输入/输出(I/O)的接口710,以及通信组件712。
处理组件702通常控制电子设备700的整体操作,诸如与显示,数据通信,及记录操作相关联的操作。处理元件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。
存储器704被配置为存储各种类型的数据以支持在设备700的操作。这些数据的示例包括用于在电子设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件706为电子设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为电子设备700生成、管理和分配电力相关联的组件。
I/O接口710为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
通信组件712被配置为便于电子设备700和其他设备之间有线或无线方式的通信。电子设备700可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件712经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件712还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由电子设备700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得电子设备能够执行一种数据查询方法,所述方法包括:
通过第一连接算法对第一数据集和第二数据集执行数据连接操作,以连接所述第一数据集与所述第二数据集中键值相等的数据;在所述第一连接算法的执行过程中,获取所述第一连接算法的执行参数,所述执行参数用于表征算法执行过程的执行效率;根据所述执行参数将所述第一连接算法切换为第二连接算法,通过所述第二连接算法继续执行所述数据连接操作,其中,所述第二连接算法与所述第一连接算法不同。
应当理解的是,本实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本实施例的范围仅由所附的权利要求来限制
以上所述仅为本实施例的较佳实施例,并不用以限制本实施例,凡在本实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实施例的保护范围之内。