发明内容
本发明实施例提供一种多副本数据库系统、数据处理方法、电子设备以及计算机可读存储介质,以解决现有技术中在故障恢复过程中,多副本数据库的数据不一致的缺陷。
为达到上述目的,本发明实施例提供了一种多副本数据库系统,由多个副本数据库节点组成,在所述多个副本数据库节点中,包括:用于提供数据写服务的第一副本数据库节点和至少一个用于提供数据只读服务的第二副本数据库节点,其中,
所述第一副本数据库节点用于,将执行包括数据写操作的事务所生成的逻辑日志发送至所述第二副本数据库节点,在接收到所述第二副本数据库节点返回的确认消息后,根据接收到的所述确认消息,提交所述包括数据写操作的事务,并向所述第二副本数据库节点发送提交指示;
所述第二副本数据库节点用于,在接收到所述第一副本数据库节点发送的逻辑日志后,向所述第一副本数据库节点返回确认消息,重放所述逻辑日志,并根据所述第一副本数据库节点发送的提交指示,提交所述包括数据写操作的事务。
本发明实施例还提供了一种数据处理方法,应用于由多个副本数据库节点组成的多副本数据库系统,在所述多个副本数据库节点中包括:用于提供数据写服务的第一副本数据库节点和至少一个用于提供数据只读服务的第二副本数据库节点,所述方法包括:
所述第一副本数据库节点将执行包括数据写操作的事务所生成的逻辑日志发送至所述第二副本数据库节点,以使所述第二副本数据库节点重放所述逻辑日志;
所述第一副本数据库节点在接收到所述第二副本数据库节点返回的确认消息后,根据接收到的所述确认消息,提交所述包括数据写操作的事务;
所述第一副本数据库节点向所述第二副本数据库节点发送提交指示,以使所述第二副本数据库节点根据所述提交指示,提交所述包括数据写操作的事务。
本发明实施例还提供了一种电子设备,应用于由多个副本数据库节点组成的多副本数据库系统,在所述多个副本数据库节点中包括:用于提供数据写服务的第一副本数据库节点和至少一个用于提供数据只读服务的第二副本数据库节点,所述电子设备包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
控制所述第一副本数据库节点将执行包括数据写操作的事务所生成的逻辑日志发送至所述第二副本数据库节点,以使所述第二副本数据节点库重放所述逻辑日志;
控制所述第一副本数据库节点在接收到所述第二副本数据库节点返回的确认消息后,根据接收到的所述确认消息,提交所述包括数据写操作的事务;
控制所述第一副本数据库节点向所述第二副本数据库节点发送提交指示,以使所述第二副本数据库节点根据所述提交指示,提交所述包括数据写操作的事务。
本发明实施例还提供了一种计算机可读存储介质,应用于由多个副本数据库节点组成的多副本数据库系统,在所述多个副本数据库节点中包括:用于提供数据写服务的第一副本数据库节点和至少一个用于提供数据只读服务的第二副本数据库节点,在所述计算机可读存储介质上存储有指令,所述指令包括:
控制所述第一副本数据库节点将执行包括数据写操作的事务所生成的逻辑日志发送至所述第二副本数据库节点,以使所述第二副本数据节点库重放所述逻辑日志;
控制所述第一副本数据库节点在接收到所述第二副本数据库节点返回的确认消息后,根据接收到的所述确认消息,提交所述包括数据写操作的事务;
控制所述第一副本数据库节点向所述第二副本数据库节点发送提交指示,以使所述第二副本数据库节点根据所述提交指示,提交所述包括数据写操作的事务。
本发明实施例提供的多副本数据库系统、数据处理方法、电子设备以及计算机可读存储介质,通过在多副本数据库系统中设置用于提供数据写服务的第一副本数据库节点和用于仅提供数据只读服务的第二副本数据库节点,第一副本数据库节点基于事务向第二副本数据库节点同步逻辑日志,从而使得在数据库的故障恢复过程中,可以由第一副本数据库节点来基于事务进行故障恢复的管理操作,实现各副本数据库节点中的数据一致性,避免出现幻读或不可重复读等现象。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在现有的多副本数据库系统中,为了保持各个数据库实例之间的数据一致性,通常根据数据库实例所记录的日志来对中断的事务进行处理,并在处理之后与其他数据库实例进行比较,判断是否一致。并在检查到不一致时,通过闪回操作来恢复数据,直至数据一致。即,通过历史备份或逆向回退操作恢复数据。但是这样的数据恢复操作,不但操作复杂,而且不支持事务的原子操作,使得在数据恢复过程中,处于恢复状态中的不一致的数据仍然有可能被访问到,从而出现幻读、不可重复读等现象,导致无法提供符合事务要求的数据库服务。
因此,本申请提出了一种多副本数据库系统,其主要原理是:在多个副本数据库节点中选出一个用于提供数据写服务的第一副本数据库节点,其余的副本数据库节点作为第二副本数据库节点仅提供数据只读服务。第一副本数据库节点在执行包括数据写操作的事务时,将生成的逻辑日志发送到第二副本数据库节点,并通过反馈确认消息的第二副本数据库节点的个数来确定多数副本数据库节点已接收到该逻辑日志,从而可以提交该事务,并指示第二副本数据库节点也提交该事务,实现数据的一致性。由于第一副本数据库节点是基于事务向第二副本数据库节点同步逻辑日志,因此,在数据库的故障恢复过程中,可以由第一副本数据库节点来基于事务进行故障恢复的管理操作,从而能够实现各副本数据库节点中的数据一致性,避免出现幻读或不可重复读等现象。
上述实施例是对本发明实施例的技术原理的说明,下面通过多个实施例来进一步对本发明实施例具体技术方案进行详细描述。
实施例一
图1为本发明提供的多副本数据库系统实施例的应用场景示意图。如图1所示,本发明实施例提供的多副本数据库系统,由多个副本数据库节点组成,在多个副本数据库节点中,包括:用于提供数据写服务的第一副本数据库节点和至少一个用于提供数据只读服务的第二副本数据库节点。
其中,第一副本数据库节点用于,将执行包括数据写操作的事务所生成的逻辑日志发送至第二副本数据库节点,在接收到第二副本数据库节点返回的确认消息后,根据接收到的确认消息,提交包括数据写操作的事务,并向第二副本数据库节点发送提交指示;第二副本数据库节点用于,在接收到第一副本数据库节点发送的逻辑日志后,向第一副本数据库节点返回确认消息,重放逻辑日志,并根据第一副本数据库节点发送的提交指示,提交包括数据写操作的事务。
在本发明实施例中,当用户针对多副本数据库系统进行数据写操作时,系统中的第一副本数据库节点根据用户输入的操作指令,将执行事务所生成的相关逻辑日志发送至第二副本数据库节点。若第二副本数据库节点为一个,则该第二副本数据库节点在接收到第一副本数据库节点发送的逻辑日志后,向第一副本数据库节点返回确认消息,然后重放该逻辑日志。第一副本数据库节点接收到该确认消息后,提交该包括数据写操作的事务,将提交信息写入本地存储的物理日志。若第二副本数据库节点为多个,则各第二副本数据库节点在接收到第一副本数据库节点发送的逻辑日志后,向第一副本数据库节点返回确认消息,然后重放该逻辑日志。第一副本数据库节点统计第二副本数据库节点返回的确认消息,当接收到的确认消息的个数达到一定数量后,提交该包括数据写操作的事务,将提交信息写入本地存储的物理日志。具体地,第一副本数据库节点可以判断接收到的确认消息的个数,当确认消息的个数大于第二副本数据库节点的半数与一之差时,则可以确定多数副本数据库节点已接收到该逻辑日志,因此提交该包括数据写操作的事务。同时,第一副本数据库节点向各第二副本数据库节点发送提交指示,以使得第二副本数据库节点根据第一副本数据库节点发送的提交指示,在本节点提交该包括数据写操作的事务。
进一步地,在本发明实施例中,可以通过选举来在多个副本数据库节点中选出第一副本数据库节点。具体地,本发明实施例提供的多副本数据库系统还可以包括:控制节点。该控制节点可以用于在多副本数据库系统中不存在可用的第一副本数据库节点时,在多个副本数据库节点中选取一个作为第一副本数据库节点,将该第一副本数据库节点以外的副本数据库节点作为第二副本数据库节点。
具体地,在本发明实施例中,在选举第一副本数据库节点时,可以设置有效期,在当前副本数据库节点作为第一副本数据库节点的有效期内,如果当前副本数据库节点出现故障,并且在故障排除后重新启动,那么,在故障副本数据库节点重新启动后,控制节点将再次控制选取第一副本数据库节点,而重新启动的当前副本数据库节点被选取作为第一副本数据库节点的概率则可以设置为高于其余副本数据库节点被选取作为第一副本数据库节点的概率。
另外,本发明实施例提供的多副本数据库系统中,副本数据库节点还可以用于在重新启动后,基于物理日志恢复数据,并在被选取作为第一副本数据库节点后,生成逻辑空日志,将该逻辑空日志发送至第二副本数据库节点,在接收到第二副本数据库节点返回的确认消息后,根据接收到的确认消息的个数,提交该逻辑空日志之前的逻辑日志相关的未被提交的事务;第二副本数据库节点还可以用于,在接收到第一副本数据库节点发送的逻辑空日志后,向第一副本数据库节点返回确认消息,并根据第一副本数据库节点发送的提交指示,提交该逻辑空日志之前的逻辑日志相关的未被提交的事务。
在本发明实施例中,当当前的副本数据库节点出现故障,并且在故障排除重新启动后,该副本数据库节点可以首先基于本地存储的物理日志恢复数据。然后,控制节点判断当前系统中是否存在可用的第一副本数据库节点,如果不存在,则说明之前的第一副本数据库节点已出现故障,则控制节点控制选取出一个新的第一副本数据库节点。如果当前的副本数据库节点被选取作为第一副本数据库节点,则生成逻辑空日志,并将该逻辑空日志发送至其它的第二副本数据库节点。第二副本数据库节点则在接收到第一副本数据库节点发送的逻辑空日志后,向第一副本数据库节点返回确认消息。第一副本数据库节点在接收到第二副本数据库节点返回的确认消息后,根据接收到的确认消息的个数,提交该逻辑空日志之前的逻辑日志相关的未被提交的事务。具体地,第一副本数据库节点可以判断接收到的确认消息的个数,当确认消息的个数大于第二副本数据库节点的半数与一之差时,则可以确定多数副本数据库节点已接收到该逻辑空日志,因此提交该逻辑空日志之前的逻辑日志相关的未被提交的事务。同时,第一副本数据库节点向各第二副本数据库节点发送提交指示,以使得第二副本数据库节点可以根据第一副本数据库节点发送的提交指示,提交该逻辑空日志之前的逻辑日志相关的未被提交的事务。
进一步地,本发明实施例提供的多副本数据库系统中,副本数据库节点还可以用于在重新启动后,基于物理日志恢复数据,并在被选取作为第二副本数据库节点后,比较本地存储的逻辑日志与第一副本数据库节点存储的逻辑日志,删除多余的逻辑日志,回滚该多余的逻辑日志相关的事务,并根据第一副本数据库节点发送的提交或回滚指示,提交或回滚未被提交的事务。
在本发明实施例中,当控制节点判断出当前系统中存在可用的第一副本数据库节点,或者,控制节点判断出当前系统中不存在可用的第一副本数据库节点、并选取出当前排除故障并重新启动的副本数据库节点以外的副本数据库节点作为第一副本数据库节点时,则当前的副本数据库节点作为第二副本数据库节点,可以比较本地存储的逻辑日志与第一副本数据库节点存储的逻辑日志,如果本地存储的逻辑日志多于第一副本数据库节点中的逻辑日志,则删除多余的逻辑日志,并回滚该多余的逻辑日志相关的事务。然后,根据第一副本数据库节点发送的提交或回滚指示,提交或回滚未被提交的事务。
更进一步地,本发明实施例提供的多副本数据库系统中,副本数据库节点还可以用于在重新启动后,基于物理日志恢复数据,并在被选取作为第二副本数据库节点后,根据本地存储的逻辑日志,提交或回滚未被提交的事务,比较本地存储的逻辑日志与第一副本数据库节点存储的逻辑日志,删除多余的逻辑日志,并闪回多余的逻辑日志所针对的操作。
在本发明实施例中,当控制节点判断出当前系统中存在可用的第一副本数据库节点,或者,控制节点判断出当前系统中不存在可用的第一副本数据库节点、并选取出当前排除故障并重新启动的副本数据库节点以外的副本数据库节点作为第一副本数据库节点时,当前的副本数据库节点作为第二副本数据库节点,也可以根据本地存储的逻辑日志,提交或回滚未被提交的事务,然后,比较本地存储的逻辑日志与第一副本数据库节点存储的逻辑日志,如果本地存储的逻辑日志多于第一副本数据库节点中的逻辑日志,则删除多余的逻辑日志,并闪回多余的逻辑日志所针对的操作。
本发明实施例提供的多副本数据库系统,通过在多副本数据库系统中设置用于提供数据写服务的第一副本数据库节点和用于仅提供数据只读服务的第二副本数据库节点,第一副本数据库节点基于事务向第二副本数据库节点同步逻辑日志,在数据库的故障恢复过程中,第一副本数据库节点基于事务进行故障恢复的管理操作,保证事务的ACID特性,避免出现幻读或不可重复读等现象。
实施例二
图2为本发明提供的数据处理方法一个实施例的流程图,。该数据处理方法应用于由多个副本数据库节点组成的多副本数据库系统,在多个副本数据库节点中包括:用于提供数据写服务的第一副本数据库节点和至少一个用于提供数据只读服务的第二副本数据库节点,该方法的执行主体可以为该多副本数据库系统,也可以为集成在该系统中的装置或芯片。如图2所示,该数据处理方法包括如下步骤:
S201,第一副本数据库节点将执行包括数据写操作的事务所生成的逻辑日志发送至第二副本数据库节点,以使第二副本数据库节点重放该逻辑日志。
在本发明实施例中,当用户针对多副本数据库系统进行数据写操作时,第一副本数据库节点根据用户输入的操作指令,将执行事务所生成的相关逻辑日志发送至第二副本数据库节点。各第二副本数据库节点在接收到第一副本数据库节点发送的逻辑日志后,向第一副本数据库节点返回确认消息,然后重放该逻辑日志。
S202,第一副本数据库节点在接收到第二副本数据库节点返回的确认消息后,根据接收到的确认消息,提交上述包括数据写操作的事务。
在本发明实施例中,当第一副本数据库节点接收到第二副本数据库节点返回的确认消息后,统计第二副本数据库节点返回的确认消息,当接收到的确认消息的个数达到一定数量后,提交该包括数据写操作的事务。具体地,第一副本数据库节点可以判断接收到的确认消息的个数,当确认消息的个数大于第二副本数据库节点的半数与一之差时,则可以确定多数副本数据库节点已接收到该逻辑日志,因此提交该包括数据写操作的事务。
S203,第一副本数据库节点向第二副本数据库节点发送提交指示,以使第二副本数据库节点根据该提交指示,提交上述包括数据写操作的事务。
在本发明实施例中,第一副本数据库节点提交该包括数据写操作的事务的同时,还向各第二副本数据库节点发送提交指示。第二副本数据库节点则根据该提交指示,提交上述包括数据写操作的事务,将提交信息写入本地存储的物理日志。
本发明实施例提供的数据处理方法,通过在多副本数据库系统中设置用于提供数据写服务的第一副本数据库节点和用于仅提供数据只读服务的第二副本数据库节点,第一副本数据库节点基于事务向第二副本数据库节点同步逻辑日志,从而使得在数据库的故障恢复过程中,可以由第一副本数据库节点来基于事务进行故障恢复的管理操作,实现各副本数据库节点中的数据一致性,避免出现幻读或不可重复读等现象。
实施例三
图3为本发明提供的数据处理方法另一个实施例的流程图。如图3所示,在上述图2所示实施例的基础上,本实施例提供的数据处理方法还可以包括以下步骤:
S301,初始化多副本数据库系统,启动系统中的副本数据库节点,在多个副本数据库节点中确定第一副本数据库节点和第二副本数据库节点。
在本发明实施例中,首先,初始化多副本数据库系统,将各个副本数据库节点添加到多副本数据库系统中。然后,启动多副本数据库系统,并在多个副本数据库节点中选举出一个第一副本数据库节点,并将其余的副本数据库节点作为第二副本数据库节点。
S302,第一副本数据库节点提供数据写服务,且第二副本数据库节点提供数据只读服务。
在本发明实施例中,用户可以在第一副本数据库节点上执行插入、修改、删除、数据定义语言(DDL)等操作,而第二副本数据库节点则只能执行查询操作。在第一副本数据库节点执行的事务中若包含数据写操作,如,插入、修改、删除数据或修改元数据等操作,则会产生物理日志与逻辑日志,在事务提交之前,第一副本数据库节点将相关的逻辑日志发送到第二副本数据库节点中进行存储。当第二副本数据库节点接收到逻辑日志,并写入本地磁盘后,回复确认消息(ACK)给第一副本数据库节点;然后可以重放此逻辑日志,直到准备提交事务阶段,此事务进入准备状态,等待第一副本数据库节点通知其可以提交后,第二副本数据库节点本地提交此事务,将提交信息写入物理日志。第一副本数据库节点则统计每条逻辑日志的确认消息的个数,若逻辑日志的确认消息的个数大于全部副本数据库节点的半数与一之差,则与此逻辑日志相关的事务可以提交;同时,第一副本数据库节点通知所有第二副本数据库节点此事务允许提交。
S303,副本数据库节点在故障排除重新启动后,基于物理日志恢复数据。
在本发明实施例中,当前的副本数据库节点出现故障,并且在故障排除重新启动后,该副本数据库节点可以首先基于物理日志进行故障恢复。若有处于准备状态的事务暂时保留不处理,等待与第一副本数据库节点同步后再决定这些准备状态的事务是提交还是回滚。
S304,判断是否已存在可用的第一副本数据库节点,若不存在,则执行步骤S305;若存在,则执行步骤S311。
S305,发起第一副本数据库节点选举。
在本发明实施例中,当当前的副本数据库节点出现故障,并且在故障排除重新启动,该副本数据库节点基于本地存储的物理日志恢复数据后。控制节点判断当前系统中是否存在可用的第一副本数据库节点,如果不存在,则说明之前的第一副本数据库节点已出现故障,则控制节点控制选取出一个新的第一副本数据库节点。每个第一副本数据库节点都有一个有效期,若在前一个第一副本数据库节点有效期内重启成功,则其可以首先发起选举,被选举为新的第一副本数据库节点的概率最大。若选举失败,则可以重新发起选举。
S306,判断当前的副本数据库节点是否被选取作为第一副本数据库节点,若是,则执行步骤S307;否则,执行步骤S311。
S307,生成逻辑空日志,将逻辑空日志发送至各第二副本数据库节点。
在本发明实施例中,如果当前的副本数据库节点被选取作为第一副本数据库节点,则进入第一副本数据库节点故障恢复过程,生成逻辑空日志,并将该逻辑空日志发送至其它的第二副本数据库节点。第二副本数据库节点则在接收到第一副本数据库节点发送的逻辑空日志后,向第一副本数据库节点返回确认消息。
S308,接收第二副本数据库节点返回的确认消息。
S309,判断确认消息的个数是否达到预设值,若是,则执行步骤S310;否则,继续执行步骤S308。
S310,提交处于准备状态的事务,并返回步骤S302。
在本发明实施例中,第一副本数据库节点在接收到第二副本数据库节点返回的确认消息后,根据接收到的确认消息的个数,提交该逻辑空日志之前的逻辑日志相关的未被提交的事务。具体地,第一副本数据库节点可以判断接收到的确认消息的个数,当确认消息的个数大于第二副本数据库节点的半数与一之差时,则可以确定多数副本数据库节点已接收到该逻辑空日志,因此提交该逻辑空日志之前的逻辑日志相关的未被提交的事务。同时,第一副本数据库节点向各第二副本数据库节点发送提交指示,以使得第二副本数据库节点可以根据第一副本数据库节点发送的提交指示,提交该逻辑空日志之前的逻辑日志相关的未被提交的事务。
S311,进行逻辑日志检测。
S312,比较本地存储的逻辑日志与第一副本数据库节点存储的逻辑日志,若本地存储的逻辑日志更多,则执行步骤S313;否则,直接执行步骤S314。
S313,删除多余的逻辑日志,并继续执行步骤S314。
S314,回滚多余的逻辑日志相关的事务,并根据第一副本数据库节点发送的提交或回滚指示,提交或回滚未被提交的事务,并返回步骤S302。
在本发明实施例中,当控制节点判断出当前系统中存在可用的第一副本数据库节点,或者,控制节点判断出当前系统中不存在可用的第一副本数据库节点、并选取出当前排除故障并重新启动的副本数据库节点以外的副本数据库节点作为第一副本数据库节点时,则当前的副本数据库节点作为第二副本数据库节点,进入第二副本数据库节点故障恢复过程,可以比较本地存储的逻辑日志与第一副本数据库节点存储的逻辑日志,如果本地存储的逻辑日志多于第一副本数据库节点中的逻辑日志,则删除多余的逻辑日志,并回滚该多余的逻辑日志相关的事务。然后,根据第一副本数据库节点发送的提交或回滚指示,提交或回滚未被提交的事务。
另外,在本发明实施例中,当控制节点判断出当前系统中存在可用的第一副本数据库节点,或者,控制节点判断出当前系统中不存在可用的第一副本数据库节点、并选取出当前排除故障并重新启动的副本数据库节点以外的副本数据库节点作为第一副本数据库节点时,当前的副本数据库节点作为第二副本数据库节点,也可以根据本地存储的逻辑日志,提交或回滚未被提交的事务,然后,比较本地存储的逻辑日志与第一副本数据库节点存储的逻辑日志,如果本地存储的逻辑日志多于第一副本数据库节点中的逻辑日志,则删除多余的逻辑日志,并闪回多余的逻辑日志所针对的操作。
最后,在本发明实施例中,当故障恢复完成后,当前副本数据库成为第一副本数据库节点提供写服务,或者,成为第二副本数据库节点提供数据只读服务。
本发明实施例提供的数据处理方法,通过在多副本数据库系统中设置用于提供数据写服务的第一副本数据库节点和用于仅提供数据只读服务的第二副本数据库节点,第一副本数据库节点基于事务向第二副本数据库节点同步逻辑日志,在数据库的故障恢复过程中,第一副本数据库节点基于事务进行故障恢复的管理操作,实现各副本数据库节点中的数据一致性,避免出现幻读或不可重复读等现象。
实施例四
以上描述了多副本数据库系统的内部功能和结构,该系统可实现为一种电子设备。图4为本发明提供的电子设备实施例的结构示意图。如图4所示,该电子设备应用于上述由多个副本数据库节点组成的多副本数据库系统,在多个副本数据库节点中包括:用于提供数据写服务的第一副本数据库节点和至少一个用于提供数据只读服务的第二副本数据库节点,该电子设备包括存储器41和处理器42。
存储器41,用于存储程序。除上述程序之外,存储器41还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器41可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器42,与存储器41耦合,执行存储器41所存储的程序,以用于:
控制第一副本数据库节点将执行包括数据写操作的事务所生成的逻辑日志发送至第二副本数据库节点,以使第二副本数据库节点重放逻辑日志;
控制第一副本数据库节点在接收到第二副本数据库节点返回的确认消息后,根据接收到的确认消息,提交包括数据写操作的事务;
控制第一副本数据库节点向第二副本数据库节点发送提交指示,以使第二副本数据库节点根据提交指示,提交包括数据写操作的事务。
进一步,如图4所示,电子设备还可以包括:通信组件43、电源组件44、音频组件45、显示器46等其它组件。图4中仅示意性给出部分组件,并不意味着电子设备只包括图4所示组件。
通信组件43被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件43经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件43还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件44,为电子设备的各种组件提供电力。电源组件44可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件45被配置为输出和/或输入音频信号。例如,音频组件45包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器41或经由通信组件43发送。在一些实施例中,音频组件45还包括一个扬声器,用于输出音频信号。
显示器46包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。