一种即时通讯软件的系统消息的处理方法与装置的制作方法

文档序号:7682500阅读:82来源:国知局
专利名称:一种即时通讯软件的系统消息的处理方法与装置的制作方法
技术领域
本发明涉及即是通讯技术领域,特别涉及一种即时通讯软件的系统消息的处理方
法与装置。
背景技术
随着互联网技术的迅速发展,互联网即时通讯产品得以广泛使用,诸如网络游戏平台、QQ、网络聊天室等即时通讯软件深受广大网络用户青睐。即时通讯软件提供客户终端连往即时通讯网路的服务,通过即时通讯技术人们可以实现在线聊天、互动交流。即时通讯软件的使用者为了某种需要聚集在一起进行活动时,将产生大量的系统消息,这些系统消息可能来自该群体性平台的某位成员,也可能来自群体性平台所在系统本身。无论系统消息来自于群体性平台的外部还是内部,均需要系统消息管理员进行处理。现有技术中,系统消息管理员的处理采取逐条处理方式,即来一条系统消息,即行处理一条、反馈一条。虽然较短时间内接收的系统消息类型可能各不相同,管理员采取的具体处理操作亦有差别,但是,从较长时间段而言,系统消息的类型往往是重复的,对这些相同类型的系统消息进行交叉式逐条处理将耗费管理员大量时间和精力,尤其在群体性平台的成员数量庞大、系统消息的数量成倍增加时,管理员更是疲于奔命,大大降低了系统消息的处理效率。

发明内容
有鉴于此,本发明的主要目的是提出一种即时通讯软件的系统消息的处理方法与装置,所述方法以系统消息队列为处理对象而非每条系统消息为处理对象,有效解决了逐条处理系统消息带来的低效率问题。本发明提供的一种即时通讯软件的系统消息的处理方法包括读取系统消息,并提取所述系统消息的标识码;根据所述标识码查询系统消息类型预设表,得到所述系统消息的类型;根据所述系统消息的类型判断消息队列池中是否存在该类型的消息队列,如果是,则将所述系统消息加入到该消息队列;如果否,则在消息队列池中创建该类型的消息队列,并将所述系统消息加入到该消息队列;以所述消息队列池的消息队列为处理对象进行处理,将处理结果发送给所述系统消息的相应终端。优选地,在读取系统消息提取标识码之前,所述方法进一步包括启动计时器开始计时,则在将所述系统消息放入消息队列之后进行如下步骤 判断计时器是否达到第一预设时间,如果是,则以所述消息队列池的消息队列为处理对象进行处理,将处理结果发送给所述系统消息的相应终端,并清零计时器;如果否,则返回读取系统消息的步骤。进一步优选地,在读取系统消息提取标识码时,所述方法进一步包括监测所述读取系统消息的速率,则在将所述系统消息放入消息队列之后进行计时器是否达到预设时间判断之前进行如下步骤判断所述读取系统消息的速度是否达到预设速率的上限,如果是,则将第一预设时间减少到第二预设时间;和/或,判断所述读取系统消息的速度是否达到预设速率的下限,如果是,则将第一预设时间增加到第三预设时间。优选地,在对消息队列进行处理之前,所述方法进一步包括判断所述消息队列池中各消息队列内的系统消息的条数是否达到预设条数,如果是,则执行对所述达到预设条数的消息队列的处理步骤;如果否,则清零计时器,并返回读取系统消息的步骤。优选地,在对消息队列进行处理之前,所述方法进一步包括提取所述消息队列内的系统消息的地址,将地址相同的系统消息组成一个系统消息组,则以所述消息队列池的消息队列为处理对象进行处理时,以所述系统消息组为处理子对象,并将处理结果发送给所述系统消息组的相应终端。本发明还提供了一种即时通讯软件的系统消息的处理装置,该装置包括消息读取单元、标识码提取单元、消息类型获取单元、消息队列判断单元和消息处理单元,其中所述消息读取单元,用于读取系统消息;所述标识码提取单元,用于提取所述系统消息的标识码;所述消息类型获取单元,用于根据所述标识码查询系统消息类型预设表得到所述系统消息的类型;所述消息队列判断单元,用于根据所述系统消息的类型判断消息队列池中是否存在该类型的消息队列,如果是,则将所述系统消息加入到该消息队列;如果否,则在消息队列池中创建该类型的消息队列,并将所述系统消息加入到该消息队列;所述消息处理单元,以所述消息队列池的消息队列为处理对象进行处理,将处理结果发送给所述系统消息的相应终端。优选地,所述装置进一步包括计时器和预设时间判断单元,其中所述计时器,用于在读取系统消息时开始计时;所述预设时间判断单元,用于在将所述系统消息放入消息队列之后,判断计时器是否达到第一预设时间,如果是,则触发所述消息处理单元,并清零计时器;如果否,则触发所述消息读取单元。进一步优选地,所述装置进一步包括速率监测单元和预设速率判断单元,其中所述速率监测单元,用于监测所述读取系统消息的速率;所述预设速率判断单元,用于在将所述系统消息放入消息队列之后进行计时器是否达到预设时间判断之前,判断所述读取系统消息的速度是否达到预设速率的上限,如果是,则将第一预设时间减少到第二预设时间;和/或,判断所述读取系统消息的速度是否达到预设速率的下限,如果是,则将第一预设时间增加到第三预设时间。优选地,所述装置进一步包括消息条数判断单元,用于在对消息队列进行处理之前,判断所述消息队列池中各消息队列内的系统消息的条数是否达到预设条数,如果是,则触发所述消息处理单元对所述达到预设条数的消息队列进行处理;如果否,则清零计时器,并返回所述消息读取单元。优选地,所述装置进一步包括消息分组单元,用于提取所述消息队列内的系统消息的地址,将地址相同的系统消息划分为一个系统消息组;则所述消息处理单元用于以所述系统消息组为处理子对象,并将处理结果发送给所述系统消息组的接收端。本发明的技术方案通过对系统消息进行分类,并创建系统消息队列,进行系统消息处理时,以系统消息队列为处理单元,而不再如现有技术那样以每条系统消息为处理单元,处理同一个队列时只需要进行一次处理即可完成对相同类型的系统消息的处理,然后将处理结果发送给系统消息的接受端。该方法不需进行机械的大量重复操作,缩短了系统消息的处理时间,提高了效率。


为了更清楚地说明本发明专利实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明专利的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明的方法的实施例1的流程图;图2为本发明的方法的实施例2的流程图;图3为本发明的方法的实施例3的流程图;图4为本发明的方法的实施例4的流程图;图5为本发明的方法的实施例5的流程图;图6为本发明的装置的实施例6的流程图。
具体实施例方式下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例, 都属于本发明的保护范围。本发明的主要思想是通过对系统消息进行分类,建立分类消息队列,然后以消息队列为处理单元进行处理,由于消息队列中的系统消息类型相同,仅进行一次性处理操作即可,提高了系统消息的处理效率。本发明所称的系统消息是指由即时通讯软件构建的群体性平台中的成员或者管理员进行某种操作产生的需要该群体性平台处理的消息,或者该群体性平台外的网络用户进行针对该群体性平台的某些操作产生的需要该群体性平台予以回应消息。这些系统消息既可能来自群体性平台内部(如前者所述系统消息),也可能来自群体性平台外部(如后者所述系统消息)。根据不同的标准可对系统消息做出不同的分类根据系统消息的类型不同可划分为入群消息、退群消息、邀请消息、拒绝消息;根据系统消息的生成时间不同可划分为实时消息、离线系统消息;根据系统消息生成的源终端不同可划分为外部消息、内部消息。这些系统消息产生后需要群体性平台进行处理。
6
第一实施例如前所述,现有技术对这些系统消息的处理采用逐条处理策略,这种处理方式,尽管从单条系统消息处理角度看,群体性平台可以及时地向系统消息的发送方或接收方反馈处理结果,但从较长时间段内的总体情况看,群体性平台的处理能力根本无法满足要求,尤其是与该群体性平台相关的系统消息大量产生时,群体性平台将无法有效地完成所有处理任务,必然导致一定量的系统消息积压,从而降低了系统消息的处理效率。本发明的实施例给出的技术方案较好地解决了上述技术问题。参见附图1,本实施例所述的即时通讯软件的系统消息的处理方法包括步骤SlOl 读取系统消息,并提取所述系统消息的标识码;本实施例为了形成消息队列减少系统消息的总体处理时间,并不对接收的来自群体性平台外部的系统消息或由群体性平台自身产生的系统消息马上进行处理,而是首先读取每条系统消息,提取出该系统消息的标识码,这里的系统消息标识码是即时通讯软件生产时,对系统消息的编号,每个“标识码”唯一标识每条系统消息,且该标识码中包括有该系统消息的消息类型、性质等信息。步骤S102 根据所述标识码查询系统消息类型预设表,得到所述系统消息的类型;系统消息类型预设表是以系统消息的类型为根据预先建立的,由于系统消息的标识码中包含有系统消息的类型信息,因此将系统消息的标识码与事先建立的类型表进行匹配,即可得到所述系统消息的类型;以系统消息的类型为根据建立预设表的原因在于对于同一种类型的系统消息,群体性平台进行处理的操作相同,比如多条系统消息均是申请入群的消息,群体性平台只需要回复一次“同意”即可,这个结果对于这些所有的系统消息均适用的,由此可见,以系统消息类型为依据建立消息队列可以简化处理操作;步骤S103 根据所述系统消息的类型判断消息队列池中是否存在该类型的消息队列,如果是,则执行步骤S103 (a)将所述系统消息加入到该消息队列;如果否,则执行步骤S103(b)在消息队列池中创建该类型的消息队列,并将所述系统消息加入到该消息队列;消息队列池是消息队列的“集散地”,其可以是一个具体的存储单元,也可以是具有某种临时记忆功能的可擦写的功能模块;实际应用中,可以根据需要事先将消息队列池划分为多个区域,每个区域作为一种消息队列的临时缓存地,也可以在系统消息进出消息队列时临时性分配区域;当一个系统消息来到之后,根据该系统消息的消息类型将被放到相应的消息队列中,但是有可能到来的系统消息是一个新类型,该新类型的消息队列在消息队列池中还没出现,这时就需要新创建一个消息队列,然后再将该系统消息放到该消息队列中。步骤S104 以所述消息队列池的消息队列为处理对象进行处理,将处理结果发送给所述系统消息的相应终端;一个消息队列中缓存有同类型的系统消息,对这些系统消息的处理操作相同,进行一次处理即可完成该系统消息队列内所有的系统消息的处理,完成处理后将处理结果发送给所述系统消息相应的终端如果该系统消息是由一个群体性平台的成员通过自己的终端主机发送给群体性平台管理者的,该处理结果将被反馈给所述成员的终端主机;如果该系统消息是由群体性平台管理者所在的终端主机产生的,该处理结果将发送给受该处理结果约束或影响的终端,比如群体性平台的管理者做出禁止群中的某些成员发言的操作,由该操作产生的系统消息经过管理者所在的终端主机处理后发送给上述成员的终端主机。本实施例的技术方案通过根据系统消息的标识码对系统消息进行分类,以系统消息的类型为根据建立消息队列,然后以消息队列为处理单元进行处理,由于消息队列中的系统消息类型相同,仅进行一次性处理操作即可完成对该队列内的所有的系统消息的处理。与现有技术相比,本实施例避免了逐条处理系统消息,扩展了系统消息处理的最小处理单元,加快了系统消息的总体处理速度,有效解决了现有技术系统消息的处理效率低的技术问题。第二实施例上述实施例中,对系统消息的处理对象由单条系统消息变成为包含多条系统消息的消息队列,大多数情况下均可提高系统消息的处理效率,尤其在系统消息短时间内大量产生时,消息队列中的系统消息的数量在某个时刻点即可迅速达到相当规模,此时以消息队列为处理对象将更加明显地加快系统消息的处理效率。但是,当系统消息的产生速度适中,甚至较少时,上述实施例的优势与现有技术相比并不能较好地展示出来,为此,本发明优选在上述实施例中增加一个计时器,设定一个预设时间,等待该预设时间到来时再对消息队列进行处理,由此可构成本发明的又一个实施例。参见附图2,该实施例的技术方案实现系统消息的处理方法的步骤包括步骤S201 启动计时器开始计时;前述实施例中已经提到对于收到的系统消息并不马上进行处理,而是先对系统消息进行系统消息类型分类,并根据消息类型创建消息队列,对于短时间内接收到大量系统消息,消息队列创建后即可进行处理,但对于短时间内系统消息的数量有限,则出于更好地实现本发明的发明目的,需要设定一个时间等待消息队列的“成长”,当等到消息队列内的消息条数达到一定量时才进行处理。步骤S202 读取系统消息,并提取所述系统消息的标识码;步骤S203 根据所述标识码查询系统消息类型预设表,得到所述系统消息的类型;步骤S204 根据所述系统消息的类型判断消息队列池中是否存在该类型的消息队列,如果是,则执行步骤S204(a)将所述系统消息加入到该消息队列,进入步骤S205 ;如果否,则执行步骤S204(b)在消息队列池中创建该类型的消息队列,并将所述系统消息加入到该消息队列,进入步骤S205 ;步骤S205 判断计时器是否达到第一预设时间,如果是,则执行步骤S205(a)以所述消息队列池的消息队列为处理对象进行处理,将处理结果发送给所述系统消息的相应终端,并清零计时器;如果否,则返回步骤S202。本实施例在第一个实施例所述技术方案的基础上增加计时器,用于间隔性地对消息队列进行处理,可以较好地解决系统消息在某时刻数量较少影响总体处理效率的问题。上述实施例步骤S205中的预设时间可以根据实际需要进行设定,比如增加一个系统消息速度监测步骤,通过监测读取系统消息的速度进行系统消息数量变化的监测,当系统消息数量较多时,减少预设时间间隔;当系统消息的数量较少时,增加预设时间间隔,这两个步骤可以分开独立进行,也可以同时进行,分开时可就产生系统消息数量速率在一个方向上的变化进行动态调整,合在一起时可就产生系统消息数量速率在两个方向上的变化进行动态如此动态地调整过程可以实现系统消息处理的“节奏化”,更加平稳地响应系统消息,同时也能平衡群体性平台的处理能力。上述实施例步骤S205中的预设时间除可以如上述方式进行动态调整外,一种比较优选的方式是对系统消息产生的历史情况进行统计,然后根据统计结果进行针对性地设置。第三实施例上述第二个实施例中尽管增加了计时器,为消息队列的“成长”提供了一定的时间,但是在该时间间隔内,消息队列池中的某些消息队列仍有可能仅有一条或者数量很少的系统消息,在预设时间到来后进行消息队列的处理仍是不经济有效的方法。本发明的实施例优选对消息队列中的系统消息条数进行判断,只有当消息队列中系统消息的条数达到一定数量后才对该消息队列进行处理,由此,构成本发明的再一个实施例,本实施例所述技术方案除在步骤S205中增加判断系统消息条数的步骤外,其他步骤和上述第二个实施例相同。参见附图3,本实施例增加判断消息队列中系统消息条数步骤后的S205变换为步骤S305 判断所述计数器是否达到第一预设时间,如果是,则执行步骤S306 ;如果否,则返回步骤S302。步骤S306 判断消息队列池中的各消息队列内的系统消息的条数是否达到预设阀值,如果是,则执行步骤S306 (a)以所述达到预设阀值的消息队列为处理对象进行处理,将处理结果发送给所述系统消息的相应终端,清零计时器;如果否,则清零计时器,返回步骤S301。本实施例在计数器达到第一预设时间进行对消息队列处理之前,增加判断消息队列中系统消息的条数,当系统消息的条数达到一定数量时才进行处理,可以避免对那些系统消息数量很少的消息队列进行处理,同时也给予该消息队列“成长”过程更充分的时间, 这样从系统消息处理的总体上考虑,减少了系统消息的处理平均处理时间,提高了总体效率。本实施例是在进行第一预设时间判断基础上再进行的消息条数判断,实际上,对消息队列中的消息条数的判断并不依赖于对计时器的判断,完全可以独立出来,在进行消息队列处理之前,直接且只进行消息队列中系统消息条数的判断,如果各消息队列中系统消息的条数达到一定数量,则以这些达到该数量的消息队列为处理对象,其他没有达到该数量的消息队列继续接收系统消息,这样可以避免对那些系统消息数量很少的消息队列进行处理,同时也给予未达到预设条数的消息队列更充分的“成长”时间,从系统消息处理的总体上考虑,减少了系统消息的处理平均处理时间,提高了总体效率。第四实施例上述几个实施例对系统消息进行了类型划分,对消息队列进行处理时每个消息队列的“地位”是平等的,并没有那些消息队列先处理,那些消息队列后处理,但是,在实际应用中,很可能有些消息队列需要及时优先处理,而有些消息队列的紧急程度并没那么高,因此可以暂缓处理。如果对所有的消息队列“一视同仁”,将无法反映出消息队列的紧急程度, 进而无法对系统消息及时有效对做出回应。本发明优选对消息队列进行优先级划分,对消息队列进行处理时按照优先等级进行依次处理,由此又构成本发明的一个实施例。本实施例所述技术方案除在步骤S205中增加优先级匹配步骤外,其他步骤和上述第二个实施例相同。参见附图4,本实施例增加优先级匹配步骤后的S205变换为步骤S405 判断所述计数器是否达到第一预设时间,如果是,则执行步骤S406 ;如果否,则返回步骤S402。步骤S406 根据消息队列池中各消息队列的类型查询预设消息队列类型优先级表,得到消息队列的优先等级顺序;步骤S407 以所述消息队列为处理对象按照所述优先等级顺序进行处理,将处理结果发送给所述系统消息的相应终端,清零计时器。本实施例所述技术方案按照预设优先等级表对消息队列进行优先级排序,然后根据优先级顺序进行依次处理,这种根据消息队列紧急程度对消息队列进行处理的方式,能够实现及时快速地回应那些具有较高级别的系统消息,提高了群体性平台的反应能力。本实施例是在进行第一预设时间判断基础上再进行消息队列优先等级匹配,实际上,对消息队列优先等级匹配并不依赖于对计时器的判断,完全可以独立出来,在进行消息队列处理之前,直接且只进行消息队列优先等级匹配,然后按照优先等级依次处理消息队列。按照这种方式处理消息队列的技术效果与上述实施例类似,这里不再重复。第五实施例群体性平台作为系统消息的集散中心,要处理大量的来自该群体性平台的各个成员的系统消息或者将群体性平台产生的系统消息发送给各个成员,这些系统消息中很可能有相当数量的消息来自群体性平台中的同一个成员,或者将相当数量的系统消息发往群体性平台中的同一个成员,因此,对于这种“来向同源”或者“去向同源”的多条系统消息,有必要进行集中处理并集中返回处理结果。由此,可构成本发明的又一个实施例。本实施例所述技术方案除在步骤S205中增加系统消息“打捆”步骤外,其他步骤和上述第二个实施例相同。参见附图5,本实施例增加系统消息“打捆”步骤后的S205变换为步骤S505 判断所述计数器是否达到第一预设时间,如果是,则执行步骤S506 ;如果否,则返回步骤S502。步骤S506 提取所述消息队列内的系统消息的地址,将地址相同的系统消息组成系统消息组;步骤S507 以所述系统消息组为处理子对象,并将处理结果发送给所述系统消息组的接收端,处理完毕系统消息后清零计时器。本实施例将处理对象由消息队列变为消息队列中的系统消息组,既解决了现有技术中对系统消息进行逐条处理到来的低效率问题,又可以根据系统消息的来源实现具有该特征的系统消息的打捆处理,缩短了系统消息的处理时间,提高了效率。本实施例是在进行第一预设时间判断基础上再进行的系统消息分组步骤,实际上,对消息队列中系统消息的分组操作并不依赖于对计时器的判断,完全可以独立出来,在进行消息队列处理之前,直接且只进行消息队列内系统消息分组操作,然后以消息队列中的系统分组为处理子对象对消息队列进行处理。按照这种方式处理消息队列的技术效果与上述实施例类似,这里不再重复。第六实施例
10
上述实施例是本发明提供的即时通讯软件系统消息处理的方法的实施例,相应地,本发明还提供了即时通讯软件系统消息处理的装置的实施例。参见附图6,本装置实施例600包括消息读取单元601、标识码提取单元602、消息类型获取单元603、消息队列判断单元604和消息处理单元605,其中消息读取单元601,用于读取系统消息;标识码提取单元602,用于提取所述系统消息的标识码;消息类型获取单元603,用于根据所述标识码查询系统消息类型预设表得到所述系统消息的类型;消息队列判断单元604,用于根据所述系统消息的类型判断消息队列池中是否存在该类型的消息队列,如果是,则将所述系统消息加入到该消息队列;如果否,则在消息队列池中创建该类型的消息队列,并将所述系统消息加入到该消息队列;消息处理单元605,以所述消息队列池的消息队列为处理对象进行处理,将处理结果发送给所述系统消息的相应终端,结束流程。本装置600的工作过程为首先由消息读取单元601读取系统消息,然后将该消息传递给标识码提取单元602,由该单元提取所述系统消息的标识码,并将该标识码传递给消息类型获取单元603 ;消息类型获取单元603根据所述标识码查询系统消息类型预设表得到所述系统消息的类型;然后由消息队列判断单元604根据所述系统消息的类型判断消息队列池中是否存在该类型的消息队列,如果是,则将所述系统消息加入到该消息队列;如果否,则在消息队列池中创建该类型的消息队列,并将所述系统消息加入到该消息队列;随后由消息处理单元605以所述消息队列池的消息队列为处理对象进行处理,将处理结果发送给所述系统消息的相应终端,结束流程。本装置实施例600根据系统消息的标识码对系统消息进行分类,以系统消息的类型为根据建立消息队列,然后以消息队列为处理单元进行处理,由于消息队列中的系统消息类型相同,仅进行一次性处理操作即可完成对该队列内的所有的系统消息的处理。与现有技术相比,本实施例避免了逐条处理系统消息,扩展了系统消息处理的最小处理单元,加快了系统消息的总体处理速度,有效解决了现有技术系统消息的处理效率低的技术问题。本装置实施例600还可以进一步包括计时器606和预设时间判断单元607,其中计时器606,用于在读取系统消息时开始计时;预设时间判断单元607,用于在将所述系统消息放入消息队列之后,判断计时器是否达到第一预设时间,如果是,则触发消息处理单元605,并清零计时器606 ;如果否,则触发消息读取单元601。本装置实施例600还可以进一步包括速率监测单元608和预设速率判断单元 609,其中速率监测单元608,用于监测所述读取系统消息的速率;预设速率判断单元609, 用于在将所述系统消息放入消息队列之后进行计时器是否达到预设时间判断之前,判断所述读取系统消息的速度是否达到预设速率的上限,如果是,则将第一预设时间减少到第二预设时间;和/或,判断所述读取系统消息的速度是否达到预设速率的下限,如果是,则将第一预设时间增加到第三预设时间。本装置实施例600还可以进一步包括消息条数判断单元610,用于在对消息队列进行处理之前,判断所述消息队列池中各消息队列内的系统消息的条数是否达到预设条数,如果是,则触发消息处理单元605对所述达到预设条数的消息队列进行处理;如果否, 则清零计时器,并返回消息读取单元601。本装置实施例600还可以进一步包括消息队列优先级获取单元611,用于在对消息队列进行处理之前,根据消息队列的类型查询预设消息队列类型优先级表,得到消息队列的优先等级顺序后触发消息处理单元605按照优先等级对所述消息队列进行处理。本装置实施例600还可以进一步包括消息分组单元612,用于提取所述消息队列内的系统消息的地址,将地址相同的系统消息划分为一个系统消息组;则消息处理单元 605用于以所述系统消息组为处理子对象,并将处理结果发送给所述系统消息组的接收端, 结束流程。上述附加技术特征对本装置实施例600做出了进一步改进,提高了相应技术效果,具体内容可参见相应的方法实施例,此处不再赘言。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明专利。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明专利的精神或范围的情况下,在其它实施例中实现。因此,本发明专利将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖创造特点相一致的最宽的范围。
权利要求
1.一种即时通讯软件的系统消息的处理方法,其特征在于,该方法包括读取系统消息,并提取所述系统消息的标识码;根据所述标识码查询系统消息类型预设表,得到所述系统消息的类型;根据所述系统消息的类型判断消息队列池中是否存在该类型的消息队列,如果是,则将所述系统消息加入到该消息队列;如果否,则在消息队列池中创建该类型的消息队列,并将所述系统消息加入到该消息队列;以所述消息队列池的消息队列为处理对象进行处理,将处理结果发送给所述系统消息的相应终端。
2.根据权利要求1所述的方法,其特征在于,在读取系统消息提取标识码之前,所述方法进一步包括启动计时器开始计时,则在将所述系统消息放入消息队列之后进行如下步骤判断计时器是否达到第一预设时间,如果是,则以所述消息队列池的消息队列为处理对象进行处理,将处理结果发送给所述系统消息的相应终端,并清零计时器;如果否,则返回读取系统消息的步骤。
3.根据权利要求2所述的方法,其特征在于,在读取系统消息提取标识码时,所述方法进一步包括监测所述读取系统消息的速率,则在将所述系统消息放入消息队列之后进行计时器是否达到预设时间判断之前进行如下步骤判断所述读取系统消息的速度是否达到预设速率的上限,如果是,则将第一预设时间减少到第二预设时间;和/或,判断所述读取系统消息的速度是否达到预设速率的下限,如果是,则将第一预设时间增加到第三预设时间。
4.根据权利要求1所述的方法,其特征在于,在对消息队列进行处理之前,所述方法进一步包括判断所述消息队列池中各消息队列内的系统消息的条数是否达到预设条数,如果是, 则执行对所述达到预设条数的消息队列的处理步骤;如果否,则清零计时器,并返回读取系统消息的步骤。
5.根据权利要求1所述的方法,其特征在于,在对消息队列进行处理之前,所述方法进一步包括提取所述消息队列内的系统消息的地址,将地址相同的系统消息组成一个系统消息组,则以所述消息队列池的消息队列为处理对象进行处理时,以所述系统消息组为处理子对象,并将处理结果发送给所述系统消息组的相应终端。
6.一种即时通讯软件的系统消息的处理装置,其特征在于,该装置包括消息读取单元、标识码提取单元、消息类型获取单元、消息队列判断单元和消息处理单元,其中所述消息读取单元,用于读取系统消息;所述标识码提取单元,用于提取所述系统消息的标识码;所述消息类型获取单元,用于根据所述标识码查询系统消息类型预设表得到所述系统消息的类型;所述消息队列判断单元,用于根据所述系统消息的类型判断消息队列池中是否存在该类型的消息队列,如果是,则将所述系统消息加入到该消息队列;如果否,则在消息队列池中创建该类型的消息队列,并将所述系统消息加入到该消息队列;所述消息处理单元,以所述消息队列池的消息队列为处理对象进行处理,将处理结果发送给所述系统消息的相应终端。
7.根据权利要求6所述的装置,其特征在于,所述装置进一步包括计时器和预设时间判断单元,其中所述计时器,用于在读取系统消息时开始计时;所述预设时间判断单元,用于在将所述系统消息放入消息队列之后,判断计时器是否达到第一预设时间,如果是,则触发所述消息处理单元,并清零计时器;如果否,则触发所述消息读取单元。
8.根据权利要求7所述的装置,其特征在于,所述装置进一步包括速率监测单元和预设速率判断单元,其中所述速率监测单元,用于监测所述读取系统消息的速率;所述预设速率判断单元,用于在将所述系统消息放入消息队列之后进行计时器是否达到预设时间判断之前,判断所述读取系统消息的速度是否达到预设速率的上限,如果是,则将第一预设时间减少到第二预设时间;和/或,判断所述读取系统消息的速度是否达到预设速率的下限,如果是,则将第一预设时间增加到第三预设时间。
9.根据权利要求6所述的装置,其特征在于,所述装置进一步包括消息条数判断单元,用于在对消息队列进行处理之前,判断所述消息队列池中各消息队列内的系统消息的条数是否达到预设条数,如果是,则触发所述消息处理单元对所述达到预设条数的消息队列进行处理;如果否,则清零计时器,并返回所述消息读取单元。
10.根据权利要求6所述的装置,其特征在于,所述装置进一步包括消息分组单元,用于提取所述消息队列内的系统消息的地址,将地址相同的系统消息划分为一个系统消息组;则所述消息处理单元用于以所述系统消息组为处理子对象,并将处理结果发送给所述系统消息组的接收端。
全文摘要
本发明提供了一种即时通讯软件的系统消息的处理方法。该方法包括读取系统消息后提取所述系统消息的标识码;根据标识码查询系统消息类型预设表得到系统消息的类型;根据系统消息的类型判断消息队列池中是否存在该类型的消息队列,如果是,则将系统消息加入到消息队列;如果否,则创建该类型的消息队列后将系统消息加入到消息队列;以所述消息队列为处理对象进行处理,将处理结果发送给所述系统消息的相应终端。本发明还提供了一种即时通讯软件的系统消息的处理装置。本发明以消息队列为处理单元,提高了系统消息的处理效率。
文档编号H04L12/58GK102215177SQ20111014477
公开日2011年10月12日 申请日期2011年5月31日 优先权日2011年5月31日
发明者刘建强, 林臻, 王强 申请人:广州华多网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1