一种IM系统的独立业务线程模型实现方法技术方案

技术编号:8562834 阅读:176 留言:0更新日期:2013-04-11 04:27
本发明专利技术公开了一种IM系统的独立业务线程模型实现方法,该方法中独立业务线程的实现方式是标准的动态库模块,在所述模块内提供任务操作函数;所述独立业务线程包括:纯虚接口类及接口函数定义、实现定义、创建和结束线程、实现接口函数、定义任务的执行。所述独立业务线程完全分离界面线程,将业务处理置于独立业务线程中。在某种程度上减小界面线程阻塞,提高用户界面响应速度和平滑性,保护业务执行中的数据一致性。

【技术实现步骤摘要】

本专利技术涉及软件线程,特别是涉及一种IM系统的独立业务线程模型实现方法
技术介绍
现有的IM(Instant Messaging,即时通讯、实时传讯)客户端软件中线程包括主线程、UI (User Interface,用户界面)线程、业务线程。其中,业务线程是指软件中与业务相关的数据的加工过程,一般可以分为以数据处理为核心的数据流,以及以控制调度为核心的控制流,在软件系统中起着核心的、支撑的作用。用户界面是软件用来接受用户操作和向用户反馈信息的接口。用户可以通过它启动、监控和终止软件中业务逻辑,可以说几乎任何软件都离不开用户界面。目前,公司几乎所有的软件中,用户界面和业务线程都紧紧地耦合在一起,基本上形成了一个有机的整体。主要体现在如下几个方面1)在控制类事件处理函数中执行业务逻辑相关的操作,如在云台控制按钮的单击响应函数中发送云台控制命令;2)在执行业务逻辑的线程中向界面主线程发送消息,如解码线程中发送消息实现视频解码。但是,用户界面和业务逻辑间的紧耦合,不仅会降低软件的模块化、层次化程度,同时在某种程度上可能阻塞界面线程,影响用户界面响应速度和平滑性。
技术实现思路
本专利技术提供了一种頂系统的独立业务线程模型实现方法,所述独立业务线程完全分离界面线程,将业务处理置于独立业务线程中,在某种程度上减小界面线程阻塞,提高用户界面响应速度和平滑性。为达到上述目的,本专利技术的技术方案是这样实现的一种頂系统的独立业务线程模型实现方法,其中独立业务线程的实现方式是标准的动态库模块,在所述模块内提供任务操作函数;所述独立业务线程包括纯虚接口类及接口函数定义,实现定义,创建和结束线程,定义任务的执行; 独立业务线程的所述接口,使功能组件将任务排队放入线程队列。在上述方法中,所述接口定义包括定义纯虚接口类和接口函数。在上述方法中,所述接口函数包括开始任务函数,创建任务函数,增加任务函数,停止任务函数。在上述方法中,所述实现定义包括从所述纯虚接口类中派生具体接口实现定义;实现所述接口函数派生定义。在上述方法中,所述创建和结束线程包括;在开始函数中创建所述独立业务线程;在停止函数中发送终止所述独立业务线程消息。在上述方法中,所述实现接口函数包括实现所述标准的动态库模块注册到框架的函数、以及实现退出函数;创建任务函数实现创建任务和参数内存的分配;增加任务函数实现增加业务消息到业务线程中。在上述方法中,所述参数内存的分配包括为任务中的输入输出参数进行内存分配。在上述方法中,所述独立业务线程的实现包含在任务服务组件模块中;所述任务服务组件模块的实现包括定义服务组件接口和调用目标组件。所述定义服务组件接口包括定义组件的接口及功能函数;所述调用目标组件包括在独立业务线程中实现调用目标组件的标准命令接口。在上述方法中所述定义任务的执行包括对于事件型任务的执行查找参数中指定的组件,应用查找得到的组件指针调用组件的执行命令函数来执行命令功能,最后销毁参数的内存;对于普通型任务的执行查找参数中指定的目标组件,应用查找到的组件指针调用组件的执行命令函数来执行命令功能,再通过查找参数中指定的目标组件,应用查找到的组件指针调用组件的执行命令函数的方法来实现源回调功能。其中源回调是指在任务的参数中指定调用目标功能指定回调的返回参数,调用回调功能函数,最后销毁参数的内存。该方法进一步包括在下行业务中,界面线程添加任务到独立业务线程中;所述独立业务线程通过执行命令的方式对上层业务进行调用;所述上层业务通过执行命令的方式对下层业务进行调用;所述下层业务通过执行命令的方式对网络层的功能进行调用;所述网络层再将数据进行发送。该方法进一步包括在上行业务中,下层业务通过执行命令的方式对网络层的功能进行调用,所述网络层根据接收到的数据进行解析,并反馈给所述下层业务;下层业务添加任务到所述独立业务线程中;所述独立业务线程通过执行命令的方式对上层业务进行调用;所述上层业务添加任务到界面线程。由上述可见,本专利技术提供了一种頂系统的独立业务线程模型实现方法,该方法中独立业务线程的实现方式是标准的动态库模块,在所述模块内提供任务操作函数;所述独立业务线程包括接口定义,实现定义,创建和结束线程,定义任务的执行。所述独立业务线程完全分离界面线程,将业务处理置于独立业务线程中,在某种程度上减小界面线程阻塞,提高用户界面响应速度和平滑性。附图说明图1是本专利技术的独立业务线程模块示意图;图2是本专利技术实例中独立业务线程模型切换示意图;图3是本专利技术中独立业务线程实现方法中添加任务到独立业务线程的方法。具体实施例方式为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。图1是本专利技术的独立业务线程模块示意图。为完成分离界面线程,创建独立业务线程,将业务处理置于独立业务线程中,使其不阻塞界面线程,提高用户界面响应速度和平滑性。并且在所述独立业务线程中使用消息机制,因为所述独立业务线程一般为单线程,且并提供接口使功能组件将任务排队进入线程队列,减少了不必要的同步开支。其中,只应用于Windows的PostThreadMessage消息发送机制。并且对于重要消息也不需要重复发送。PostThreadMessage函数功能该函数将一个消息放入(寄送)到指定线程的消息队列里,不等待线程处理消息就返回独立业务线程的实现方式是标准的动态库模块,在所述模块内提供任务操作函数;所述独立业务线程包括纯虚接口类及接口函数定义,实现定义,创建和结束线程,定义任务的执行。另外,所述独立业务线程的实现包含在任务服务组件模块中,所述任务服务组件模块的实现包括定义服务组件接口、调用目标组件。其中,所述定义服务组件接口包括定义组件接口及功能函数;所述调用目标组件包括独立业务线程实现中调用目标组件的标准命令接口。独立业务线程实现独立业务线程的实现方式是标准的动态库模块,在模块内提供任务操作函数,并且独立业务线程的接口,使功能组件将任务排队放入线程队列。所述独立业务线程实现包括纯虚接口类及接口函数定义,实现定义,创建和结束线程,实现接口函数,定义任务的执行。1、纯虚接口类及接口函数定义其中所述接口函数包括开始任务函数,创建任务函数,增加任务函数,停止任务函数。2、实现定义所述实现定义从定义的接口中派生,即从所述纯虚接口类中派生具体接口实现定义,并在实现定义中实现接口函数派生定义。3、创建和结束线程在开始函数中创建独立业务线程。在停止函数中发送终止独立业务线程消息。4、实现接口函数实现接口函数包括创建任务函数、增加任务函数、和实现模块注册到框架的函数、以及实现退出函数。其中创建任务函数是指实现创建任务和参数内存的分配;增加任务函数是指实现增加业务消息到独立业务线程中。所述参数内存的分配包括为任务中的输入输出参数进行内存分配。5、定义任务的执行对于不同的任务类型,采用不同的任务执行方式。A、事件型任务对于事件性任务的执行首先,查找参数中指定的组件,应用查找得到的组件指针调用组件的执行命令函数来执行命令功能,最后销毁参数的内存。B、普通型任务对于事件性任务的执行首先,查找参数中指定的目标组件,应用查找到的组件指针调用组件的执行命令函数来执行命令功能,再通过查找参数中指定的目标组件,应用查找到的组本文档来自技高网...

【技术保护点】
一种IM系统的独立业务线程模型实现方法,其特征在于,独立业务线程的实现方式是标准的动态库模块,在动态库模块内提供任务操作函数;所述独立业务线程的实现包括:纯虚接口类及接口函数定义,实现定义,创建和结束线程,实现接口函数,定义任务的执行;独立业务线程的接口,使功能组件将任务排队放入线程队列。

【技术特征摘要】
1.ー种頂系统的独立业务线程模型实现方法,其特征在干, 独立业务线程的实现方式是标准的动态库模块,在动态库模块内提供任务操作函数;所述独立业务线程的实现包括纯虚接ロ类及接ロ函数定义,实现定义,创建和结束线程,实现接ロ函数,定义任务的执行; 独立业务线程的接ロ,使功能组件将任务排队放入线程队列。2.根据权利要求1所述的方法,其特征在于,所述接ロ函数包括开始任务函数、创建任务函数、増加任务函数、停止任务函数。3.根据权利要求1所述的方法,其特征在于,所述实现定义包括 从所述纯虚接ロ类中派生具体接ロ实现定义; 实现所述接ロ函数派生定义。4.根据权利要求2所述的方法,其特征在于,所述创建和结束线程包括; 在开始函数中创建所述独立业务线程; 在停止函数中发送终止所述独立业务线程消息。5.根据权利要求2所述的方法,其特征在于,所述实现接ロ函数包括 实现所述标准的动态库模块注册到框架的函数,以及实现退出函数; 创建任务函数实现创建任务和參数内存的分配; 増加任务函数实现增加业务消息到业务线程中。6.根据权利要求5所述的方法,其特征在于,所述參数内存的分配包括 为任务中的输入输出參数进行内存分配。7.根据权利要求1所述的方法,其特征在于,所述独立业务线程的实现包含在任务服务组件模块中; 所述任务服务组件模块的实现包括定义服务组件接ロ、调用目标组件; 所述定义服务组件接ロ包括定义组件的...

【专利技术属性】
技术研发人员:郝永建杨挺方顺豹
申请(专利权)人:北京神州泰岳软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1