一种利用引用计数实现高性能环回设备的方法

文档序号:8402739阅读:191来源:国知局
一种利用引用计数实现高性能环回设备的方法
【专利说明】一种利用引用计数实现高性能环回设备的方法
[0001]
技术领域
[0002]本发明涉及计算机数据传输技术和通信领域,具体的说就是一种利用引用计数实现高性能环回设备的方法。
【背景技术】
[0003]在计算机数据传输技术和通信领域,系统中经常用同一系统内的发送数据和接收数据的通信过程。例如:在上层通信软件开发时,可以先利用环回设备进行数据通信,能够在测试发现缺陷时确定不是硬件网络设备引入的,从而给定位缺陷位置缩小了范围,加快了处理缺陷的速度。
[0004]环回设备用于同一系统中数据传输的通信,内存中的数据拷贝过程,在计算机系统是比较耗时的,传统环回设备在连接发送者和接收者之间数据通信时,采用先拷贝数据到环回设备的缓存中,发送者便完成了发送过程,接收者从环回设备接收数据时,需要把数据从环回设备的缓存中拷贝出去,这种处理方式需要多次数据拷贝,在计算机系统中进行多次数据拷贝是比较耗时的,会导致性能下降明显。

【发明内容】

[0005]为了达到实现高性能环回设备的目的,提出了一种利用引用计数实现高性能环回设备的方法。
[0006]本发明所述一种利用引用计数实现高性能环回设备的方法,解决上述技术问题采用的技术方案如下:该方法采用引用计数技术,推迟释放发送者使用的数据内存,让接收者直接使用发送者申请的内存,然后再释放内存;其主要实施过程包括发送者发送数据、换回设备传输数据和接收者接收数据三个步骤。
[0007]优选的,该方法采用引用计数技术,假设约定引用计数用ref变量表示,每增加一个使用内存者则引用计数ref加1,每减小一个使用者则引用计数ref减1,当引用计数ref为O时表示已经没有使用者继续使用了,引用计数ref为O时则释放内存。
[0008]优选的,发送者使用含有引用计数管理的内存申请函数申请内存,发送者使用此内存存放将要发送的数据,此时设置引用计数ref为I。
[0009]优选的,发送者调用环回设备提供的发送函数发送数据。
[0010]优选的,环回设备的发送函数将引用计数ref加I ;表示环回设备作为一个内存使用者正在使用此块内存,此时引用计数ref的值等于2。
[0011]优选的,环回设备在发送函数中操作引用计数ref后,发送函数执行完成,调用环回设备发送函数的发送者得知发送成功,则调用含有引用计数管理的内存释放函数。
[0012]优选的,内存释放函数中的处理步骤:先把引用计数ref减1,再判断引用计数ref是否为0,如果引用计数ref已经等于O则释放掉内存,如果引用计数ref不等于O则不真正释放内存。
[0013]优选的,环回设备通知接收者接收数据,接收者将引用计数ref加1,此时引用计数ref的值等于2 ;然后接收者接收数据、使用数据,接收者使用完毕后调用含有引用计数管理的内存释放函数释放内存,此时引用计数ref的值等于1,同时接收者通知环回设备已经处理完毕。
[0014]优选的,接收者处理完毕后,环回设备不再使用此块内存,则调用含有引用计数管理的内存释放函数释放内存;这次含有引用计数管理的内存释放函数运行过程中,把引用计数ref减I后引用计数ref的值等于0,表明内存真正释放掉。
[0015]本发明的一种利用引用计数实现高性能环回设备的方法与现有技术相比具有的有益效果是:该方法考虑环回设备应用于同一硬件系统之上,采用引用计数的方式管理内存的释放过程,使发送者申请的内存推迟释放,避免数据传输过程中的多次数据拷贝,减少多次数据拷贝节省计算机处理时间,提高从发送者到接收者之间的数据传输速度,提高整个软件系统的性能。
【附图说明】
[0016]附图1为利用引用计数实现高性能环回设备的方法的示意图。
【具体实施方式】
[0017]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参考附图,对本发明所述一种利用引用计数实现高性能环回设备的方法进一步详细说明。
[0018]本发明所述一种利用引用计数实现高性能环回设备的方法,主要考虑减少多次数据拷贝节省计算机处理时间,采用引用计数技术使发送者存储数据的内存推迟释放,让接收者直接使用发送者申请的内存,避免了传统环回设备数据传输过程的多次数据拷贝,这样减少了多次数据拷贝的时间,大大提高了软件系统性能。
[0019]实施例:
本实施例所述一种利用引用计数实现高性能环回设备的方法,采用引用计数技术,推迟释放发送者使用的数据内存,让接收者直接使用发送者申请的内存,然后再释放内存,这样减少了多次数据拷贝的时间,极大提高了环回设备的处理性能。
[0020]该利用引用计数实现高性能环回设备的方法,主要包括发送者发送数据、换回设备传输数据和接收者接收数据三个步骤;假设约定引用计数用ref变量表示,每增加一个使用内存者则引用计数ref加1,每减小一个使用者则引用计数ref减1,当引用计数ref为O时表示已经没有使用者继续使用了,引用计数ref为O时则释放内存。
[0021]本实施例所述利用引用计数实现高性能环回设备的方法,如附图1所示,其具体实施流程如下:
发送者使用含有引用计数管理的内存申请函数申请内存,发送者使用此内存存放将要发送的数据,此时设置引用计数ref为1,表示此内存有一个使用者;
发送者调用环回设备提供的发送函数,发送数据;
环回设备的发送函数将引用计数ref加1,表示环回设备作为一个内存使用者正在使用此块内存,把引用计数ref加I也就标识了当前内存不能被释放,此时引用计数ref的值等于2ο
[0022]环回设备在发送函数中操作引用计数ref后,发送函数执行完成,调用环回设备发送函数的发送者得知发送成功,则调用含有引用计数管理的内存释放函数。此内存释放函数中的处理步骤是先把引用计数ref减1,再判断引用计数ref是否为0,如果引用计数ref已经等于O则释放掉内存,如果引用计数ref不等于O则不真正释放内存。所以当发送者调用环回设备的发送函数发送完毕,再调用含有引用计数管理的内存释放函数后,此时引用计数ref的值等于I。
[0023]环回设备通知接收者接收数据,接收者将引用计数ref加1,此时引用计数ref的值等于2,然后接收者接收数据、使用数据,接收者使用完毕后调用含有引用计数管理的内存释放函数释放内存,此时引用计数ref的值等于I。接收者处理完毕以上描述的接收数据和使用数据后,通知环回设备已经处理完毕。
[0024]接收者处理完毕后,环回设备将也不需要再使用此块内存,则调用含有引用计数管理的内存释放函数释放内存,这次含有引用计数管理的内存释放函数运行过程中,把引用计数ref减I后发现引用计数ref的值已经等于0,于是就把内存真正释放掉了。
[0025]综合以上流程描述,从发送者到环回设备,再从环回设备到接收者,整个数据传输过程不涉及数据拷贝,也达到了从发送者到接收者的数据传输目的,减少多次数据拷贝节省计算机处理时间。
[0026]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【主权项】
1.一种利用引用计数实现高性能环回设备的方法,其特征在于,采用引用计数技术,推迟释放发送者使用的数据内存,让接收者直接使用发送者申请的内存,然后再释放内存;其主要实施过程包括发送者发送数据、换回设备传输数据和接收者接收数据三个步骤。
2.根据权利要求1所述一种利用引用计数实现高性能环回设备的方法,其特征在于,该方法采用引用计数技术,假设约定引用计数用ref变量表示,每增加一个使用内存者则引用计数ref加1,每减小一个使用者则引用计数ref减1,当引用计数ref为O时表示已经没有使用者继续使用了,引用计数ref为O时则释放内存。
3.根据权利要求2所述一种利用引用计数实现高性能环回设备的方法,其特征在于,发送者使用含有引用计数管理的内存申请函数申请内存,发送者使用此内存存放将要发送的数据,此时设置引用计数ref为I。
4.根据权利要求3所述一种利用引用计数实现高性能环回设备的方法,其特征在于,发送者调用环回设备提供的发送函数发送数据。
5.根据权利要求4所述一种利用引用计数实现高性能环回设备的方法,其特征在于,环回设备的发送函数将引用计数ref加I。
6.根据权利要求5所述一种利用引用计数实现高性能环回设备的方法,其特征在于,环回设备在发送函数中操作引用计数ref后,发送函数执行完成,发送者得知发送成功,则调用含有引用计数管理的内存释放函数。
7.根据权利要求6所述一种利用引用计数实现高性能环回设备的方法,其特征在于,内存释放函数中的处理步骤:先把引用计数ref减1,再判断引用计数ref是否为O,若引用计数ref等于O则释放掉内存,若引用计数ref不等于O则不真正释放内存。
8.根据权利要求7所述一种利用引用计数实现高性能环回设备的方法,其特征在于,环回设备通知接收者接收数据,接收者将引用计数ref加1,然后接收者接收数据、使用数据,接收者使用完毕后调用含有引用计数管理的内存释放函数释放内存,此时引用计数ref的值等于1,同时接收者通知环回设备已经处理完毕。
9.根据权利要求8所述一种利用引用计数实现高性能环回设备的方法,其特征在于,接收者处理完毕后,环回设备不再使用此块内存,则调用含有引用计数管理的内存释放函数释放内存,把引用计数ref减I后引用计数ref的值等于O,内存真正释放掉。
【专利摘要】本发明公开一种利用引用计数实现高性能环回设备的方法,涉及计算机数据传输技术和通信领域,采用引用计数技术,推迟释放发送者使用的数据内存,让接收者直接使用发送者申请的内存,然后再释放内存;其主要实施过程包括发送者发送数据、换回设备传输数据和接收者接收数据三个步骤。通过本发明避免数据传输过程中的多次数据拷贝,节省计算机处理时间,提高从发送者到接收者之间的数据传输速度,提高整个软件系统的性能。
【IPC分类】G06F13-38
【公开号】CN104731735
【申请号】CN201510131122
【发明人】张光华, 李美欣
【申请人】浪潮集团有限公司
【公开日】2015年6月24日
【申请日】2015年3月24日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1