[发明专利]基于Qt信号槽机制的获取数据的方法及终端有效
| 申请号: | 201710512988.3 | 申请日: | 2017-06-29 | 
| 公开(公告)号: | CN107329842B | 公开(公告)日: | 2020-11-10 | 
| 发明(设计)人: | 廖锐峰 | 申请(专利权)人: | 福建新和兴信息技术有限公司 | 
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;H04L29/08 | 
| 代理公司: | 福州市博深专利事务所(普通合伙) 35214 | 代理人: | 林志峥 | 
| 地址: | 350003 福建省福州市鼓楼区铜*** | 国省代码: | 福建;35 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 基于 qt 信号 机制 获取 数据 方法 终端 | ||
本发明提供了一种基于Qt信号槽机制的获取数据的方法及终端,包括步骤:数据请求模块定义一个槽;数据请求模块通知对象管理模块根据所述槽对应的接口请求参数在接口列表中请求对应的接口以获取数据;对象管理模块从对象池中获取一个对象,并为所述对象设定与所述槽对应的接口和接口请求参数;对象管理模块通过Qt信号槽连接模板建立所述对象的信号与数据请求模块的槽之间的连接;对象管理模块控制所述对象向服务器发送所述的数据请求;所述对象接收服务器发送的响应信号;所述对象通过Qt信号槽将响应信号发送给数据请求模块的槽。实现数据请求模块与服务器之间路由的透明化,提高开发效率。
技术领域
本发明涉及对象池应用技术领域,特别涉及一种基于Qt信号槽机制的获取数据的方法及终端。
背景技术
Qt信号槽机制与windows下消息机制类似,消息机制是基于回调函数,Qt中用信号与槽来代替函数指针,使程序更安全简洁,信号和槽机制是Qt的核心机制,可以让编程人员将互不相关的对象绑定在一起,实现对象之间的通信。在Qt平台中,对于信号,当对象改变其状态时,信号就由该对象发射(emit)出去,而且对象只负责发送信号,它无需关心另一端是谁在接收这个信号;对于槽,用于接收信号,而且槽只是普通的对象成员函数,一个槽并不知道是否有任何信号与自己相连接,而且对象也无需了解具体的通信机制。在信息系统开发过程中,我们每次从服务器获取接口数据的过程中都需要一个中间对象建立起服务器到客户端的消息通路,一般情况下都是即用即走,对象用完就舍弃不用了。
在单一原子性的操作情况下,对系统的开销并不显现。但是频繁的原子性操作情况下,原子性对象没有被复用,对系统的开销和资源的消耗就会成线性增长。如果仅采用单一对象池,池中资源被大量的原子性对象请求消耗之后就会出现一种资源争夺的现象,出现数据断层、延迟、丢失等现象。同时随着信息系统的业务复杂度的增加,原子性对象变得越来越臃肿,信息系统内部的层次也会越来越模糊,直接导致系统的耦合度攀升。
对于一次性原子数据请求操作,系统CPU就需要开辟一条数据请求通道,数据通过之后,这条数据通道仍然存在,如果对象没有销毁,没有及时的移除相关的信号槽,那么再次复用这个对象去请求其他数据的请求,数据的流向就会继续通过原有的数据通道,到达不可预知的槽,触发不可预知的事件。如有对象需要销毁,系统CPU就需要进行对象的销毁动作,势必占用CPU运行时间;如果对象没有被销毁,也没有被复用,那么对象将在应用系统的生命周期内永久占用系统内存。一次请求消耗一点系统内存,那么频繁的请求,就会逐步的对系统内存利用率进行累积性的侵蚀。
对于重复频繁的原子性操作来说,如果没有复用原子性对象,对CPU系统内存资源侵蚀成线性增长;如果复用原子性对象,虽然会控制住对CPU内存系统资源消耗,但是频繁的数据请求,势必对现有原子对象资源造成争夺,例如,10个原子性对象执行200个原子性请求,按照排队模式,一次性解决10个,那么第11个请求就处于等待状态,10个请求完毕再被复用,资源马上被争夺完。如果复用的速度跟不上请求的速度,那么就会出现请求数据的滞后现象,最直接的表现就是在人机交互的体验上非常差。
其次,对象信号槽的路由过程相对于开发者来说是一个不透明的过程,开发者在设定路由的通道的时候需要明确信号的发送者、信号的接收者以及信号接收者的槽,在一个业务应用场景中需要几条请求,就需要确定几个原子性对象和相应的业务信号接收者之间的信号槽的连接,这几个原子对象被相应的业务请求模块圈定之后,同时就不能在其他的业务模块中得到复用。
发明内容
本发明所要解决的技术问题是:提供一种基于Qt信号槽机制的获取数据的方法及终端,使得对象信号槽的路由过程透明化,并降低对终端CPU资源的开销,提高终端系统运行速度,解决频繁数据请求带来的数据吞吐滞后断层问题,提高人机交互界面的流畅性。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于Qt信号槽机制的获取数据的方法,包括步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建新和兴信息技术有限公司,未经福建新和兴信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710512988.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多人交互下的交易流程的实现方法和系统
- 下一篇:谐振式煤矿瓦斯抽采装置





