基于tcp协议多线程的多对多医疗数据传输方法

文档序号:9870096阅读:627来源:国知局
基于tcp协议多线程的多对多医疗数据传输方法
【技术领域】
[0001]本发明涉及计算机应用技术领域,尤其涉及一种基于TCP协议多线程的多对多医疗数据传输方法。
【背景技术】
[0002]随着计算机应用的快速发展,计算机处理器已经广泛的应用在移动通信、数字消费电子和智能控制设备领域,人们对计算机处理器的各项性能的要求也越来越高,TCP传输协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,在医疗领域中,大多采用TCP协议进行传输,然而,在单线程处理器结构中只能发掘一个线程的指令级,传输效率低,多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能,其中,针对多核或多处理器中多线程的并发资源贡献分配如何进行优化,是能充分发挥计算机处理能力中的非常重要的一环,现有的多线程共享资源通常都在资源分配的过程中产生了加锁、解锁的性能消耗和冲突,当一线程正在进行操作时,需要让其他线程等待,需要其他线程等待操作完成之后,解锁并将其释放才能进行操作,这样会导致更新数据时需要频繁的加锁、解锁,造成读写线程等待时间过长,严重降低了多线程处理的效率,因此,需要一种新的多线程处理方法以解决上述问题。

【发明内容】

[0003]有鉴于此,本发明提供一种基于TCP协议多线程的多对多医疗数据传输方法,以解决上述问题。
[0004]本发明提供的基于TCP协议多线程的多对多医疗数据传输方法,包括:
[0005]a.建立用户数据转发会话组,
[0006]b.会话组内的用户通过接收线程、发送线程和用户处理线程将数据实时发送给会话组内的其他用户,同时接收会话组内其他用户发送的数据,所述接收线程、发送线程和用户处理线程之间相互独立。
[0007]进一步,所述步骤b具体包括:
[0008]bl.接收线程将接收用户发送的数据,并将数据加入到接收队列,同时通知用户处理线程,
[0009]b2.用户处理线程从接收队列中获取数据,根据需求将数据分发至对应用户的发送队列,
[0010]b3.发送线程从发送队列中获取数据并发送。
[0011]进一步,所述接收队列为用于存储转发服务器接收到的该用户发送的数据的数据队列;所述发送队列为用户用于存储即将发送给该用户的数据的数据队列。
[0012]进一步,接收线程、发送线程和用户处理线程设置有对应的消息队列,所述消息队列包括接收消息队列、发送消息队列和用户消息队列。
[0013]进一步,所述步骤bl具体包括:
[0014]接收消息队列将添加有用户身份信息的消息发送至接收线程,接收线程根据消息中的用户身份信息获取数据,并加入该用户的接收队列,同时在用户处理消息队列中将添加有该用户身份信息的消息,发送至用户处理线程。
[0015]进一步,所述步骤b2具体包括:
[0016]b21用户处理线程根据用户处理消息队列发送的消息中的用户身份信息,从接收队列中获取数据并进行处理;
[0017]b22.用户处理线程根据数据来源用户的请求查找应接收该数据的待转发用户,并将数据增加到所述待转发用户对应的发送队列中,同时将向所述待转发用户的发送消息队列发送通知消息。
[0018]进一步,所述步骤b3具体包括:
[0019]发送线程接收到所述通知消息,根据身份信息获取对应的发送队列数据并发送。
[0020]进一步,所述接收线程、发送线程和用户处理线程中的每条线程为服务器上的所有用户服务。
[0021]本发明的有益效果:本发明通过构建相互独立的接收线程、发送线程、用户处理线程,有效的解决了用户延迟对服务器的影响,本发明使传输具有实时性强、易于使用、高性能,操作简便实用,可扩展性好的特点,用户可以传输任意形式的数据,如数据流、文件等,为基于TCP协议多线程的多对多医疗数据传输提供了一整套高性能传输的解决方案。
【附图说明】
[0022]下面结合附图和实施例对本发明作进一步描述:
[0023I图1是本发明的原理示意图。
[0024]图2是本发明的实施例的流程不意图。
【具体实施方式】
[0025]下面结合附图和实施例对本发明作进一步描述:图1是本发明的原理示意图,图2是本发明的实施例的流程示意图。
[0026]如图1、2所示,本实施例中的基于TCP协议多线程的多对多医疗数据传输方法,包括:
[0027]a.建立用户数据转发会话组,
[0028]b.会话组内的用户通过接收线程、发送线程和用户处理线程将数据实时发送给会话组内的其他用户,同时接收会话组内其他用户发送的数据,所述接收线程、发送线程和用户处理线程之间相互独立。
[0029]本实施例基于TCP的多对多中转传输,处理会话组内成员数据相互转发,有效解决了用户1延迟对服务器的影响,可扩展性和健壮性良好,用户可以传输任意形式的数据,包括数据流、文件等。本实施例中的多对多传输,首先要用户之间建立一个会话组,会话组中的用户可以相互同步实时分享自己的数据给会话组内每一个用户,同时能接收会话组内所有用户发送过来的数据。数据可以包括文字、文件、实时声音、实时影像等可以转换为二进制流形式的数据。当用户之间确定建立会话组后,任意用户的数据可以同步被同一会话组中所有用户接收,同时用户可以接收来自同一会话组中其他所有用户发送过来的数据。
[0030]在本实施例中,所述步骤b具体包括:
[0031]bl.接收线程将接收用户发送的数据,并将数据加入到接收队列,同时通知用户处理线程,
[0032]b2.用户处理线程从接收队列中获取数据,根据需求将数据分发至对应用户的发送队列,
[0033]b3.发送线程从发送队列中获取数据并发送。
[0034]在本实施例中,所述接收
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1