一种即时通讯工具调度任务的方法和即时通讯工具的制作方法

文档序号:7916238阅读:236来源:国知局
专利名称:一种即时通讯工具调度任务的方法和即时通讯工具的制作方法
技术领域
本发明涉及即时通讯技术领域,尤其涉及一种即时通讯工具调度任务的 方法和即时通讯工具。
背景技术
网络即时通讯(Instant Messager, IM )工具发展到今天,已经被大多数 的网民所接受,已经成为用户必不可少的软件工具。用户在使用IM工具时, 对IM工具的启动过程所消耗的时间非常关心,只有启动快的IM工具才能 给用户以轻快的使用体验。因此,广大的IM工具运营商都通过不断的优化 启动性能来满足用户对IM工具更高的使用需求。
IM工具包含多个功能模块,每个功能模块又包含多个任务,目前,IM 工具在启动过程中,对所述各个功能模块的任务函数进行统一调度,因此, 调度难度较大,IM工具的启动时延也较长。

发明内容
有鉴于此,本发明实施例的目的在于提供一种即时通讯工具调度任务的 方法和即时通讯工具,以降〗氐IM工具的启动时延。
为达到上述目的,本发明实施例的技术方案具体是这样实现的 一种即时通讯工具调度任务的方法,该方法包括
将任务的执行时延信息和优先级信息预先配置在启动程序配置表中,即时 通讯IM工具按照所述启动程序配置表中的任务信息调度任务。
一种即时通讯工具,该即时通讯工具包括登录流程管理模块和任务调度管 理模块;
所述登录流程管理模块,用于存储启动程序配置表,所述配置表中配置有任务的执行时延信息和优先级信息;
所述任务调度管理模块,用于按照所述启动程序配置表中的任务信息调度 任务。
可见,本发明实施例中,将任务的执行时延信息和优先级信息预先配置在
启动程序配置表中,IM工具按照所述启动程序配置表中的任务信息调度任务。 由于设置了启动程序配置表,且该配置表中既包含任务的执行时延信息,也包 含任务的优先级信息,不同任务的执行时延信息一般不同,优先级信息一般也 不同,因此,IM工具可以按照执行时延信息和优先级信息对任务进行分批调度, 从而降低IM工具的启动时延。


图1是本发明IM工具根据启动程序配置表中的任务信息调度任务的方 法流程图2是本发明即时通讯工具的结构图。
具体实施例方式
本发明实施例中,将任务的执行时延信息和优先级信息预先配置在启动程 序配置表中,IM工具按照所述启动程序配置表中的任务信息调度任务。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 实施例,对本发明进一步详细说明。
本发明实施例中的启动程序配置表中存储了 IM工具的各项任务的任务 信息。所述任务信息包括执行时延信息、优先级信息、任务的接口函数以及 任务类型等信息。其中,任务的接口函数通常是任务函数的指针,可以通过 任务的接口函数执行所述任务。
其中,任务类型信息通常包括四种,分别为"正常登录或上线执行,, (EO-ONLINE)、"离线登录时执行"(EO-OFFLINE) 、"IM工具进程 第一次登录时4丸行"(EO—ONCE—ONLINE )和"正常登录以及离线登录都执行"(EO—ONCE)。 IM工具根据每次登录类型的不同,启动相应类型的 任务,例如,在离线登录时,IM工具启动类型为EO-OFFLINE的任务。IM 工具触发登录操作后,经过所述执行时延信息指明的时长,再调度具有所述 执行时延信息的任务。
启动程序配置表中的任务信息可以以任务列表的形式存储,其中,不同 的任务列表对应IM工具不同的功能模块,下面举例说明任务列表的结构。
tagTasklnfo arTaskInfo[]=
{&UpdateSelflnfo, 1000, EO—ONLINE },
{&UpdateContactList, 1000, EO—ONCE—ONLINE},
{&UpdateContactFolderList, 0, EO—ONLINE}, {&UpdateAUBuddy Status, 0, EO—ONLINE},
};
该任务列表中含有四个任务,第一个任务是更新自身信息,第二个任务 是更新联系人列表,第三个任务是更新联系人文件夹列表,第四个任务是更 新所有状态。
除了第二个任务是IM工具进程第一次登录时运行外,其他三个任务都 是每次正常登录或上线时均执行。前两个任务是开始登录后延时1000毫秒 开始调度,后两个任务是开始登录即调度。
上述四个任务的先后顺序代表了任务的优先级信息,任务优先级按照由 高到低依次为第一任务至第四任务。
启动程序配置表中的任务信息还可以以数据库的形式存储,这时,上述 任务列表可由IM工具在每次启动时,动态地#4居启动程序配置表中的任务
信息生成。
下面详细介绍IM工具根据启动程序配置表中的任务信息调度任务的方法。
图l是本发明IM工具根据启动程序配置表中的任务信息调度任务的方法流程图,如图l所示,该方法包括
步骤101,登录流程管理模块根据启动程序配置表加载任务列表。
本步骤中,当启动程序配置表中的任务信息以任务列表的形式存储时,
IM工具直接加载所述任务列表,当启动程序配置表中的任务信息以数据库 的形式存储时,登录流程模块根据所述任务信息动态生成所述任务列表。 步骤102,登录流程管理模块遍历任务列表,提取每个任务的执行时延信息。
步骤103,判断执行时延是否为0,如果是,执行步骤104,否则,执行步 骤105。
步骤104,登录流程管理模块运行执行时延为0的任务。 步骤105,登录流程管理模块将执行时延不为0的任务注册到任务调度管 理模块,同时设置所述任务的回调接口函数。
步骤106,任务调度管理模块接收任务注册信息,设置调度定时器。 本步骤中,任务调度管理模块为注册的任务设置标识(Identity, ID),建 立所述任务的ID与该任务的任务信息的映射关系表,并为该任务启动相应的调 度定时器,所述调度定时器也以该ID进行标识,所述调度定时器的计时时长为 该任务的执行时延,且每个定时器只运行一次,超时即停止。
步骤107,任务调度管理模块根据调度定时器的状态对任务进行调度。 本步骤中,在调度定时器到期后,任务调度管理模块根据当前到期调度定 时器的ID查询步骤105中建立的映射关系中的任务信息,将该任务信息中的任 务状态字段设置为Ready状态,启动空闲处理Idle定时器,对处于Ready状态 的任务进行调度。
任务调度管理模块在Idle定时器计时期间,对处于Ready状态的任务进行 调度,具体方法为任务调度管理模块遍历步骤105中建立的映射关系表,提 取每个任务信息中的状态字段,判断是否为Ready状态,将处于Ready状态的 任务设置为运行(Running )状态,通过回调接口函数通知登录流程管理模块运 4亍Running 、犬态的1"壬务。步骤108,登录流程管理模块根据任务调度信息运行任务。
本步骤中,登录流程管理模块运行处于Running状态的任务,并在任务运
行完毕后,通知任务调度管理模块,例如,可以通过回调接口函数通知任务调
度管理模块。
步骤109,任务调度管理模块清除运行完毕的任务,直至所有任务运行完 毕,结束本流程。
本步骤中,任务调度管理模块将所述运行完毕任务的任务状态设置为无效 (NONE )状态,清除步骤105建立的映射关系表中NONE状态任务的映射信 息。任务调度管理模块遍历映射关系表中的各个任务状态,只要有处于Ready 状态的任务,则启动或重启Idle定时器,直至所有任务运行完毕为止。
下面给出应用图1所示方法的装置实施例。
图2是本发明即时通讯工具的结构图,如图2所示,该即时通讯工具包括 登录流程管理模块201和任务调度管理模块202。
登录流程管理模块201,用于存储启动程序配置表,所述配置表中配置有 任务的执行时延信息和优先级信息。
任务调度管理模块202,用于按照所述启动程序配置表中的任务信息调度 任务。
登录流程管理模块201还可进一步用于,遍历启动程序配置表中任务的执 行时延信息,对于执行时延不为0的任务,将所述任务注册到任务调度管理模 块202。
任务调度管理模块202还可进一步用于,按照注册的任务的执行时延信息 和优先级信息对所述任务进行调度。
由上述技术方案可见,本发明实施例中,将任务的执行时延信息和优先级 信息预先配置在启动程序配置表中,IM工具按照所述启动程序配置表中的任务 信息调度任务。由于设置了启动程序配置表,且该配置表中既包含任务的执行 时延信息,也包含任务的优先级信息,不同任务的执行时延信息一般不同,优 先级信息一般也不同,因此,IM工具可以按照执行时延信息和优先级信息对任务进行分批调度,从而降低IM工具的启动时延。例如,可以将启动IM工具时,
必须运行的任务的执行时延设置为0,而将其他可以在IM工具启动后运行的任 务的执行时延设置为非0,降低IM工具的启动时延。
而且,当需要在IM工具中增加新的功能模块时,开发人员只需要将新增 加功能模块的各个任务的执行时延、优先级等任务信息添加进启动程序配置表, 即可完成对新增加的功能模块启动过程的管理,提高了 IM工具的可扩展性, 降低了开发人员维护IM工具启动过程的工作量。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护 范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1、一种即时通讯工具调度任务的方法,其特征在于,该方法包括将任务的执行时延信息和优先级信息预先配置在启动程序配置表中,即时通讯IM工具按照所述启动程序配置表中的任务信息调度任务。
2、 如权利要求l所述的方法,其特征在于,所述IM工具按照所述启动程 序配置表中的任务信息调度任务包括IM工具按照执行时延信息显示的任务执行先后顺序,对具有相同执行时延 信息的任务,按照所述任务的优先级信息进行调度。
3、 如权利要求2所述的方法,其特征在于,所述对具有相同执行时延信息 的任务,按照所述任务的优先级信息进行调度包括遍历启动程序配置表中任务的执行时延信息,运行执行时延为0的任务。
4、 如权利要求2所述的方法,其特征在于,所述对具有相同执行时延信息 的任务,按照所述任务的优先级信息进行调度包括遍历启动程序配置表中任务的执行时延信息,对于执行时延不为0的任务, IM工具的登录流程管理模块将所述任务注册到任务调度管理模块,由任务调度 管理模块按照所述任务的执行时延信息和优先级信息对所述任务进行调度。
5、 如权利要求4所述的方法,其特征在于,所述由任务调度管理模块按照 所述任务的优先级信息对所述任务进行调度包括任务调度管理模块接收到任务注册后,为注册的任务赋予标识ID,建立所 述ID与所述任务的任务信息的映射关系表,启动以所述ID作为标识的调度定 时器,将所述调度定时器的计时时长设置为所述任务的执行时延,根据调度定 时器的状态对任务进行调度。
6、 如权利要求5所述的方法,其特征在于,登录流程管理模块将所述任务 注册到任务调度管理模块之后,进一步包括设置所述任务的回调接口函数;所述根据调度定时器的状态对任务进行调度包括调度定时器超时后,查询ID与任务信息的映射关系表,将所述调度定时器的ID对应的任务信息中的任务状态字段设置为准备Ready状态,同时启动空 闲Idle定时器,在Idle定时器计时期间,遍历所述映射关系表,将Ready状态 的任务状态字段设置为运行Running状态,并通过所述任务的回调接口函数通 知登录流程管理模块运行Running状态的任务。
7、 如权利要求6所述的方法,其特征在于,登录流程管理模块运行完Running状态的任务后,将运行完的所述任务的 任务状态字段设置为无效NONE状态,任务调度管理模块清除NONE状态任务 在所述映射关系表中的信息。
8、 如权利要求l所述的方法,其特征在于,当在即时通讯工具中添加新任务时,在所述启动程序配置表中添加所述新 任务的执行时延信息和优先级信息。
9、 一种即时通讯工具,其特征在于,该即时通讯工具包括登录流程管理模 块和任务调度管理模块;所述登录流程管理模块,用于存储启动程序配置表,所述配置表中配置有 任务的执行时延信息和优先级信息;所述任务调度管理模块,用于按照所述启动程序配置表中的任务信息调度 任务。
10、 如权利要求9所述的即时通讯工具,其特征在于, 所述登录流程管理模块进一步用于,遍历启动程序配置表中任务的执行时延信息,对于执行时延不为0的任务,将所述任务注册到任务调度管理模块;所述任务调度管理模块进一步用于,按照注册的任务的执行时延信息和优 先级信息对所述任务进行调度。
全文摘要
本发明实施例公开了一种即时通讯工具调度任务的方法和即时通讯工具。该方法包括将任务的执行时延信息和优先级信息预先配置在启动程序配置表中,即时通讯IM工具按照所述启动程序配置表中的任务信息调度任务。该即时通讯工具包括登录流程管理模块和任务调度管理模块;所述登录流程管理模块,用于存储启动程序配置表,所述配置表中配置有任务的执行时延信息和优先级信息;所述任务调度管理模块,用于按照所述启动程序配置表中的任务信息调度任务。应用本发明,可降低IM工具的启动时延。
文档编号H04L12/24GK101296199SQ200810127578
公开日2008年10月29日 申请日期2008年6月27日 优先权日2008年6月27日
发明者刘晓聪, 斌 李, 李训耕 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1