消息存储、投递方法和装置以及电子设备与流程

文档序号:14653571发布日期:2018-06-08 22:30阅读:173来源:国知局
消息存储、投递方法和装置以及电子设备与流程

本申请涉及计算机技术领域,尤其涉及一种消息存储、投递方法和装置以及电子设备。



背景技术:

现今的网络服务平台(例如购物、支付等平台),每天会出现千亿级数量的消息数据。通过对消息数据的分析发现,在大部分场景下(例如消费场景中),呈现出单消息生产者,多消息消费者的特点。

现有技术中的消息存储机制,一般是采用队列的方式对消息数据进行存储。例如,在传统基于日志数据的消息引擎中,如Kafka(Kafka是一种高吞吐量的分布式发布订阅消息系统),每个队列等价于一个文件,在队列文件中,如图1所示,消息按照从旧到新的先后顺序(消息产生或者到达平台的顺序)存储在队列文件中,在进行消息投递时,也是按照队列的先后顺序进行消息投递。在现有技术中,每个队列中存储全量的消息数据,即消息的全量数据(即全部内容数据)均存储在队列文件中,导致队列文件数量及其庞大,如图2所示,其为一个示例性的完整消息的全部内容。假设某个主题有4个队列,每个队列能够存储50W消息,每个消息2K大小。那么针对这一个主题,服务器需要存储4*50W*2K的队列文件,大概1T的数据量。队列文件能够对消息进行较好的排序,非常有利于订阅模式下的消息存储及投递的管理,但是,同时,由于队列结构的复杂性,其也会严重占用和消耗系统资源,当面临海量消息数据时,会导致严重延迟。



技术实现要素:

本申请提供了一种消息存储、投递方法和装置以及电子设备,以减少系统资源的消耗,降低消息处理的延迟。

为达到上述目的,本申请的实施例采用如下技术方案:

第一方面,提供了一种消息存储方法,包括:

接收新生成的消息;

将所述消息写入消息数据文件中;

生成所述消息的索引信息,并将所述索引信息写入队列文件中,所述索引信息包括所述消息在所述消息数据文件中的位置信息。

第二方面,提供了一种消息投递方法,其特征在于,消息的存储在数据文件中,所述消息的索引信息存储在队列文件中,所述索引信息包括所述消息在所述数据文件中的位置信息,所述方法包括:

从所述队列文件中读取所述消息的索引信息;

根据所述消息的索引信息,从所述消息数据文件中获取与该索引信息对应的所述消息,并投递该消息。

第三方面,提供了消息存储装置,包括:

消息接收模块,用于接收新生成的消息;

消息写入模块,用于将所述消息写入消息数据文件中;

索引信息生成模块,用于生成所述消息的索引信息,并将所述索引信息写入队列文件中,所述索引信息包括所述消息在所述数据文件中的位置信息。

第四方面,提供了消息投递装置,消息的存储在数据文件中,所述消息的索引信息按照消息生成的先后顺序存储在队列文件中,所述索引信息包括所述消息在所述数据文件中的位置信息,所述装置包括:

索引信息获取模块,用于从所述队列文件中读取所述消息的索引信息;

消息投递模块,用于根据所述消息的索引信息,从所述消息数据文件中获取与该索引信息对应的所述消息,并投递该消息。

第五方面,提供了一种电子设备,包括:

存储器,用于存储程序;

处理器,耦合至所述存储器,用于执行所述程序,以用于:

接收新生成的消息;

将所述消息写入消息数据文件中;

生成所述消息的索引信息,并将所述索引信息写入队列文件中,所述索引信息包括所述消息在所述消息数据文件中的位置信息。

第六方面,提供了一种电子设备,其中,消息的存储在数据文件中,所述消息的索引信息存储在队列文件中,所述索引信息包括所述消息在所述数据文件中的位置信息,所述设备包括:

存储器,用于存储程序;

处理器,耦合至所述存储器,用于执行所述程序,以用于:

从所述队列文件中读取所述消息的索引信息;

根据所述消息的索引信息,从所述消息数据文件中获取与该索引信息对应的所述消息,并投递该消息。

本申请提供的消息存储、投递方法和装置以及电子设备,通过将数据量较大的消息的实体数据写入到消息数据文件中,仅将数据量较小的消息的索引信息写入到队列文件中,从而有效地降低了队列文件的数据量,进而减少了系统资源的占用和消耗,提高了消息处理速度,并且将索引信息写入队列文件,能够更加便于查找待投递的消息,从而进一步提高消息的处理速度。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为现有技术的消息存储结构的示意图;

图2为现有技术的消息内容的结构示意图;

图3为本申请实施例的消息存储结构的示意图;

图4为本申请实施例的消息处理系统的结构示意图;

图5为本申请实施例一的消息存储方法的流程示意图;

图6为本申请实施例一的消息横向扩展的示意图;

图7为本申请实施例二的消息投递方法的流程示意图;

图8为本申请实施例三的消息存储装置的结构示意图;

图9为本申请实施例四的消息投递装置的一结构示意图;

图10为本申请实施例四的消息投递装置的另一结构示意图;

图11为本申请实施例五的电子设备的结构示意图;

图12为本申请实施例六的电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本申请改变了现有技术中通过队列文件存储消息的全量数据(消息的全部内容数据)的存储方式,其核心思想在于,将数据量较大的消息的全量数据存储到消息数据文件中,将数据量较少的消息的索引信息存储在队列文件中。数据文件可以采用非队列的数据进行存储,可以以全局顺序写入数据的方式将消息写入到一般性的数据文件中,所有的消息按序聚合在数据文件中,这样,能够充分利用操作系统的磁盘IO调度算法,降低存储延迟。而队列文件仅存储消息的索引信息,属于轻量级的数据存储,并且队列文件能充分利用操作系统的预读特性,降低消息的拉取延迟。此外,从消息堆积策略角度来看,将消息的索引信息堆积在队列文件中,堆积成本较小,而消息本身则聚集在数据文件中,在磁盘资源不足时,数据清除带来IO代价也会比较小。

具体地,如图3所示,消息产生端所产生的消息先被写入消息数据文件中,然后根据消息在数据文件中的存储位置以及其他内容信息等,生成索引信息,然后将该索引信息写入到队列文件中,写入的方式可以按照消息产生的先后顺序写入队列文件,即和现有的将消息写入队列文件中的模式一样。索引信息的最基本作用是能够定位消息在消息数据文件中的位置,从而能够获取到该消息的实体信息,因此,索引信息至少要包括消息在消息数据文件中的位置信息,例如偏移量(offset)。

在将消息按照图3所示的模式存储后,在需要向消息订阅端投递消息时,首先访问队列文件,获取待投递消息的索引信息,然后根据索引信息去消息数据文件中获取消息的实体数据进行消息投递。队列文件的作用在于能够按照从旧到新的顺序来记录产生的消息的索引信息,在针对某一个消息订阅端进行消息投递时,系统会记录投递到了哪个队列文件的哪个位置,从而选择该位置之后的索引信息所对应的消息进行投递。

此外,消息数据文件和队列文件可以按照消息的主题进行划分,一个主题可以对应一个或多个消息数据文件,同时可以对应一个或多个队列文件。另外,由于可以通过队列文件中的索引信息找到具体的消息,因此,可以将多个主题的消息都存储在一个消息数据文件,并且可以以常规的方式写入消息数据文件,不需要按照主题进行区分,也不需要按照顺序写入等。从数据存储的角度来看,将消息的实体数据的存储可以不分队列混在一起,相对于将数据按照队列来区分存储,有效降低了数据文件或者说整体的文件数量。

如图4所示,本申请的技术方案可以应用于例如图4所示的网络服务平台中,该网络服务平台可以为购物平台、支付平台或者新闻订阅平台等。其中,在该网络服务平台中,可以设置有用于执行本申请的消息存储方法和消息投递方法的消息存储装置和消息投递装置。此外,在实际应用中,上述的队列文件和消息数据文件可以存储在用于存储消息相关数据的文件系统(该文件系统可以存在于用于永久化存储数据的本地磁盘或者外部数据存储服务器)中,同时在网络服务平台的内存中,可以有相对应的映射文件,该映射文件存储在内存中的相应的缓存区域中(如图中的队列映射缓存和消息数据文件映射缓存)。网络服务平台接收到新的消息后,先写入内存的相应缓存区域,然后再通过异步的方式持久化到文件系统中。当进行消息投递时,也会先从内存中的相应缓存区域中进行查找,如果命中则直接提取消息并进行投递,在内存中进行消息查找的过程也是先访问队列文件对应的映射缓存中的索引信息,然后再去消息数据文件对应的映射缓存中获取消息并进行投递。由于大部分投递的消息都是最新生成的消息,因此,整个消息查找和投递过程更多地会在内存中进行,只有当缓存(cache)无法命中时,才会从文件系统中读取数据,因此,针对消息的整体处理速度会比较快。

下面通过多个实施例来进一步说明本申请的技术方案。

实施例一

如图5所示,其为本申请实施例一的消息存储方法的流程示意图,该方法包括:

101、接收新生成的消息。该步骤可以由图4所示的网络服务平台中的消息存储装置来执行,其中,新生成的消息可以来自于网络服务平台外部的消息产生端,例如,购物平台中,卖家进行信息发布的客户端等。

102、将消息写入消息数据文件中。该步骤可以由图3所示的网络服务平台中的消息存储装置来执行,其中,消息数据文件可以仅存在于内存中,也可以仅存在于网络服务平台以外的文件系统中。在实际应用中,可以同时存在于文件系统和网络服务平台的内存中,其中,内存中的消息数据文件为映射缓存文件,存储于内存中的映射缓存区域,将消息写入消息数据文件中可以具体为先将消息写入到内存中的映射缓存中,然后再异步地持久化到文件系统中。

103、生成消息的索引信息,并将索引信息写入队列文件中,索引信息包括消息在消息数据文件中的位置信息,这里所说的位置信息可以具体为消息在数据文件中的偏移量。其中,根据实际需要,索引信息可以包括例如消息的大小信息、消息的类别标签信息、消息的键值、消息的状态信息、消息的定时投递信息等信息中的一种或者多种。

步骤103可以由图3所示的网络服务平台中的消息存储装置来执行,其中,队列文件可以仅存在于内存中,也可以仅存在于网络服务平台以外的文件系统中。在实际应用中,可以同时存在于文件系统和网络服务平台的内存中,其中,内存中的队列文件为映射缓存文件,存储于内存中的映射缓存区域,将将索引信息写入队列文件中可以具体为先将索引信息写入到内存中的映射缓存中,然后再异步地持久化到文件系统中。

进一步地,数据文件和队列文件可以按照消息的主题进行划分,不同主题分别对应一个或多个数据文件和队列文件,基于这样的架构,将消息写入消息数据文件可以具体为:根据消息的主题,将消息写入与该消息的主题对应的消息数据文件中。相应地,将索引信息写入队列文件中可以具体为:将索引信息写入与该消息的主题对应的队列文件中。

较为优选地,存在多个主题的消息,队列文件按照消息的主题进行划分,不同主题分别对应一个或多个队列文件,多个主题的消息都存储在同一个消息数据文件中,即只有队列文件和主题对应,存储实体消息数据的消息数据文件可以只有一个。相应地,在步骤102中,将不同主题的消息写入到一个消息数据文件中,而在步骤103中,将各个消息在同一个消息数据文件中的索引信息写入到与该消息的主题对应的队列文件中。

此外,本申请实施例中的队列文件可以根据需要进行横向扩展,这里所说的横向扩展是指通过扩展消息的索引信息对消息进行多维度的管理。如图6所示,可以根据消息订阅服务的需要,构件不同用途的队列。例如:队列1就是用于一般的消息队列服务,根据消息的产生的先后顺序按照队列进行投递,针对这样的服务,队列文件中的消息索引信息只需要包含消息在消息数据文件中的偏移量即可,可选地,如图3所示,消息索引信息中可以包括消息的类别标签信息,从而可以对消息进行一定程度的筛选;队列2具有消息的内容索引功能,其除了存储有偏移量之外,还有存储有消息内容的键值(KEY),可以根据键值进行;队列3用于事务消息状态服务,其除了存储有偏移量之外,还有存储有事务消息的状态,其中,事务消息可以理解为在某个事务完成后再进行投递的消息,将这样的消息对应的索引信息都分发到一个特定的队列中,针对该队列对应的消息,都是通过事务完成再触发投递;队列4具有消息定时投递的功能,其除了存储有偏移量之外,还有存储有定时投递信息,例如投递时间或者投递条件等。上述的不同的队列可以针对同一消息数据文件,也可以是针对不同的消息数据文件,总之,通过灵活地设置队列文件中的索引信息内容,可以实现多种不同的消息投递管理的横向功能扩展。

本实施例提供的消息存储方法,通过将消息的实体数据写入到消息数据文件中,将消息的索引信息写入到队列文件中,从而有效地降低了队列文件的数据量,进而减少了系统资源的占用和消耗,提高了消息处理速度。

实施例二

如图7所示,为本申请实施例二的消息投递方法的流程示意图。实施例一的存储方法中,将消息的存储在数据文件中,并且将消息的索引信息存储在队列文件中,其中,索引信息至少包括消息在数据文件中的位置信息,位置信息可以为消息在数据文件中的偏移量。在此基础上,本实施例的投递方法包括:

201、从队列文件中读取消息的索引信息。该步骤可以由图4所示的网络服务平台中的消息投递装置来执行,在实际应用中,消息投递装置会首先访问内存中的映射缓存区域,如果命中则直接从缓存中读取索引信息,如果没有命中,则再进一步访问文件系统来获取索引信息。

202、根据消息的索引信息,从消息数据文件中获取与该索引信息对应的消息,并投递该消息。该步骤可以由图4所示的网络服务平台中的消息投递装置来执行,同样地,消息投递装置会首先根据索引信息,访问内存中的映射缓存区域,如果命中则直接从缓存中读取消息,如果没有命中,则再进一步访问文件系统来获取消息。

进一步地,数据文件和队列文件可以按照消息的主题进行划分,不同主题分别对应一个或多个数据文件和队列文件,则从队列文件中,读取消息的索引信息可以包括:根据用户订阅的主题,选择与该主题对应的队列文件,从该队列文件中获取待推送给用户的消息的索引信息;相应地,根据消息的索引信息,从消息数据文件中获取与该索引信息对应的消息可以包括:根据用户订阅的主题,选择与该主题对应的消息数据文件,根据消息的索引信息,从消息数据文件中获取与该索引信息对应的消息。

较为优选地,存在多个主题的消息,仅队列文件按照消息的主题进行划分,不同主题分别对应一个或多个队列文件,而多个主题的消息存储在同一个消息数据文件中,这样,从队列文件中读取所述消息的索引信息可以包括:根据用户订阅的主题,选择与该主题对应的队列文件,从该队列文件中获取待推送给所述用户的消息的索引信息。然后,再根据索引信息在同一个消息数据文件中,查找待推送的消息。

如实施例一中所说,队列文件可以根据需要进行横向扩展。具体地,索引信息除了包括述消息在数据文件中的位置信息之外,还可以包括消息的类别标签信息和/或消息的状态信息,在此基础上,

在步骤202中,在读取消息的索引信息后,还可以包括:根据索引信息中的消息的类别标签信息和/或消息的状态信息对消息进行筛选;然后,根据筛选结果,确定是否从消息数据文件中获取与该索引信息对应的消息,并投递该消息。

作为另外一种扩展应用,除了包括述消息在数据文件中的位置信息之外,还可以包括消息的定时投递信息,在此基础上,在步骤202中,从消息数据文件中获取与该索引信息对应的消息,并投递该消息可以包括:根据定时投递信息中的投递时间,从消息数据文件中获取与该索引信息对应的消息,并投递该消息。

本申请提供的消息投递方法,先从队列文件中获取索引信息,然后再根据索引信息去消息数据文件中获取消息并投递,由于队列文件中存储的索引信息相比现有技术中存储的消息实体数据而言,属于轻量级数据,在查找的过程中速度较快,另外,队列文件和消息数据文件在内存中均有对应的映射缓存,整个消息查找和投递过程更多地会在内存中进行,只有当缓存无法命中,才会从文件系统中读取数据,因此,针对消息的整体处理速度会比较快。

实施例三

如图8所示,其为本申请实施例三的消息存储装置的结构示意图,其包括:

消息接收模块11,用于接收新生成的消息;

消息写入模块12,用于将消息写入消息数据文件中;

索引信息生成模块13,用于生成消息的索引信息,并将索引信息写入队列文件中,索引信息包括消息在数据文件中的位置信息,具体地,位置信息可以为消息在数据文件中的偏移量。

其中,数据文件和队列文件可以按照消息的主题进行划分,不同主题分别对应一个或多个数据文件和队列文件。相应地,在消息写入模块12中,将消息写入消息数据文件可以包括:根据消息的主题,将消息写入与该消息的主题对应的消息数据文件中;在索引信息生成模块13中,将索引信息写入队列文件中可以包括:将索引信息写入与该消息的主题对应的队列文件中。

较为优选地,存在多个主题的消息,队列文件按照消息的主题进行划分,不同主题分别对应一个或多个队列文件,多个主题的消息都存储在同一个消息数据文件中,即只有队列文件和主题对应,存储实体消息数据的消息数据文件可以只有一个。相应地,在消息写入模块12中,将不同主题的消息写入到一个消息数据文件中,而在索引信息生成模块13中,将各个消息在同一个消息数据文件中的索引信息写入到与该消息的主题对应的队列文件中。

本实施例提供的消息存储装置,通过将消息的实体数据写入到消息数据文件中,将消息的索引信息写入到队列文件中,从而有效地降低了队列文件的数据量,进而减少了系统资源的占用和消耗,提高了消息处理速度。

实施例四

如图9所示,本申请实施例四的消息投递装置的一结构示意图,其中,消息的存储在数据文件中,消息的索引信息存储在队列文件中,索引信息包括消息在数据文件中的位置信息,其中,位置信息可以为消息在数据文件中的偏移量。在此基础上,本实施例的装置包括:

索引信息获取模块21,用于从队列文件中读取消息的索引信息;

消息投递模块22,用于根据消息的索引信息,从消息数据文件中获取与该索引信息对应的消息,并投递该消息。

进一步地,数据文件和队列文件可以按照消息的主题进行划分,不同主题分别对应一个或多个数据文件和队列文件。相应地,在索引信息获取模块21中,从队列文件中读取消息的索引信息可以包括:根据用户订阅的主题,选择与该主题对应的队列文件,从该队列文件中获取待推送给用户的消息的索引信息;在消息投递模块22中,根据消息的索引信息,从消息数据文件中获取与该索引信息对应的消息可以包括:根据用户订阅的主题,选择与该主题对应的消息数据文件,根据消息的索引信息,从消息数据文件中获取与该索引信息对应的消息。

较为优选地,存在多个主题的消息,仅队列文件按照消息的主题进行划分,不同主题分别对应一个或多个队列文件,而多个主题的消息存储在同一个消息数据文件中,这样,在获取模块21,从队列文件中读取所述消息的索引信息可以包括:根据用户订阅的主题,选择与该主题对应的队列文件,从该队列文件中获取待推送给所述用户的消息的索引信息。然后,消息投递模块22再根据索引信息在同一个消息数据文件中,查找待推送的消息。

对应于上述实施例中的队列文件的一种横向扩展应用,索引信息还可以包括消息的类别标签信息和/或消息的状态信息,相应地,如图10所示,该装置还可以包括:

筛选模块23,用于根据索引信息中的消息的类别标签信息和/或消息的状态信息对消息进行筛选;消息投递模块22可以具体用于:根据筛选结果,确定是否从消息数据文件中获取与该索引信息对应的消息,并投递该消息。

对应于上述实施例中的队列文件的另一种横向扩展应用,索引信息还可以包括消息的定时投递信息,相应地,在消息投递模块22中,从消息数据文件中获取与该索引信息对应的消息,并投递该消息可以包括:根据定时投递信息中的投递时间,从消息数据文件中获取与该索引信息对应的消息,并投递该消息。

本申请提供的消息投递装置,先从队列文件中获取索引信息,然后再根据索引信息去消息数据文件中获取消息并投递,由于队列文件中存储的索引信息相比现有技术中存储的消息实体数据而言,属于轻量级数据,在查找的过程中速度较快,另外,队列文件和消息数据文件在内存中均有对应的映射缓存,整个消息查找和投递过程更多地会在内存中进行,只有当缓存无法命中,才会从文件系统中读取数据,因此,针对消息的整体处理速度会比较快。

实施例五

前面描述了消息存储装置的内部功能和结构,该装置可实现为一种电子设备,如图11所示,其为本申请实施例五的电子设备的结构示意图,具体包括:存储器31和处理器32。

存储器31,用于存储程序。

除上述程序之外,存储器31还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器31可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

处理器32,耦合至存储器31,用于执行存储器31中的程序,以用于:

接收新生成的消息;

将消息写入消息数据文件中;

生成消息的索引信息,并将索引信息写入队列文件中,索引信息包括消息在消息数据文件中的位置信息。

上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。

进一步,如图11所示,电子设备还可以包括:通信组件33、电源组件34、音频组件35、显示器36等其它组件。图10中仅示意性给出部分组件,并不意味着电子设备只包括图10所示组件。

通信组件33被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件33经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件33还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

电源组件34,为电子设备的各种组件提供电力。电源组件34可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。

音频组件35被配置为输出和/或输入音频信号。例如,音频组件35包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器31或经由通信组件33发送。在一些实施例中,音频组件35还包括一个扬声器,用于输出音频信号。

显示器36包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。

实施例六

前面描述了消息投递装置的内部功能和结构,其中,消息的存储在数据文件中,消息的索引信息存储在队列文件中,索引信息包括消息在数据文件中的位置信息。该装置可实现为一种电子设备,如图12所示,其为本申请实施例六的电子设备的结构示意图,具体包括:存储器41和处理器42。

存储器41,用于存储程序。

除上述程序之外,存储器41还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器41可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

处理器42,耦合至存储器41,用于执行存储器41中的程序,以用于:

从队列文件中读取消息的索引信息;

根据消息的索引信息,从消息数据文件中获取与该索引信息对应的消息,并投递该消息。

上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。

进一步,如图12所示,电子设备还可以包括:通信组件43、电源组件44、音频组件45、显示器46等其它组件。图11中仅示意性给出部分组件,并不意味着电子设备只包括图11所示组件。

通信组件43被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件63经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件43还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

电源组件44,为电子设备的各种组件提供电力。电源组件44可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。

音频组件45被配置为输出和/或输入音频信号。例如,音频组件45包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器41或经由通信组件43发送。在一些实施例中,音频组件45还包括一个扬声器,用于输出音频信号。

显示器46包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1