CN111338747A - 一种数据通信方法、装置、终端设备和存储介质 - Google Patents

一种数据通信方法、装置、终端设备和存储介质 Download PDF

Info

Publication number
CN111338747A
CN111338747A CN202010081798.2A CN202010081798A CN111338747A CN 111338747 A CN111338747 A CN 111338747A CN 202010081798 A CN202010081798 A CN 202010081798A CN 111338747 A CN111338747 A CN 111338747A
Authority
CN
China
Prior art keywords
virtual container
service request
execution result
thread
established
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010081798.2A
Other languages
English (en)
Inventor
谢文龙
李云鹏
吕亚亚
杨春晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visionvera Information Technology Co Ltd
Original Assignee
Visionvera Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Visionvera Information Technology Co Ltd filed Critical Visionvera Information Technology Co Ltd
Priority to CN202010081798.2A priority Critical patent/CN111338747A/zh
Publication of CN111338747A publication Critical patent/CN111338747A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供了一种数据通信方法、装置、终端设备和存储介质,包括:通过预先建立的IOCP模型,接收终端设备发送的业务请求;通过预先建立的终端设备对应的虚拟容器中的连接通道,将业务请求传输至工作线程,以使工作线程执行业务请求对应的操作,并获得执行结果;将执行结果返回至与终端设备对应的虚拟容器;通过预先建立的IOCP模型,将虚拟容器中的执行结果返回至终端设备,本发明实施例通过建立IOCP模型,在处理多个线程的并发问题时,不需要频繁的切换各个线程,提高了服务器的处理效率。

Description

一种数据通信方法、装置、终端设备和存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据通信方法、装置、终端设备和存储介质。
背景技术
随着网络科技的快速发展,视频会议、视频教学等双向通信在用户的生活、工作、学习等方面广泛普及。
服务器和客户端大多采用网络通信协议如TCP、UDP、SRT、RTSP等传输协议框架进行数据通信。服务器端在每个客户端接入后,都要启动新的线程和客户端进行通信,这样有多少个客户端,就需要启动多少个线程,由于需要对这些线程进行处理,***必须在所有的线程之间进行切换,若同时处理多个线程的并发问题,采用上述的处理方式,服务器的处理效率较低。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据通信方法、装置、终端设备和存储介质。
第一个方面,本发明实施例提供一种数据通信方法,应用于服务器,所述方法包括:
通过预先建立的IOCP模型,接收终端设备发送的业务请求;
通过预先建立的虚拟容器中的连接通道,将所述业务请求传输至工作线程,以使所述工作线程执行所述业务请求对应的操作,并获得执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
将所述执行结果返回至与所述终端设备对应的虚拟容器;
通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果返回至所述终端设备。
可选地,所述接收终端设备发送的业务请求,包括:
接收所述终端设备通过上层网络传输协议发送的socket请求,其中,所述socket请求中包括所述上层网络传输协议的协议类型;
相对应地,
所述通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果返回至所述终端设备,包括:
通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果采用与所述上层网络传输协议的协议类型对应的上层网络传输协议返回至所述终端设备。
可选地,所述工作线程至少包括接收子线程和发送子线程,
所述通过预先建立的虚拟容器中的连接通道,将所述业务请求传输至工作线程,以使所述工作线程执行所述业务请求对应的操作,并获得执行结果,其中,所述虚拟容器是与所述终端设备对应设置的,包括:
通过所述预先建立的虚拟容器中的连接通道,将所述业务请求传输到所述接收子线程,以使所述接收子线程按照接收到的所述业务请求的先后顺序执行所述业务请求对应的操作,并生成所述执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
将所述执行结果传输到所述发送子线程。
可选地,所述将所述执行结果返回至与所述终端设备对应的虚拟容器,包括:
通过所述连接通道,将所述发送子线程中的所述执行结果按照先后顺序,返回至与所述终端设备对应的虚拟容器。
可选地,所述上层网络传输协议至少包括TCP、UDP、SRT或RTSP。
第二个方面,本发明实施例提供一种数据通信装置,应用于服务器,所述装置包括:
接收模块,用于通过预先建立的IOCP模型,接收终端设备发送的业务请求;
传输模块,用于通过预先建立的虚拟容器中的连接通道,将所述业务请求传输至工作线程,以使所述工作线程执行所述业务请求对应的操作,并获得执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
返回模块,用于将所述执行结果返回至与所述终端设备对应的虚拟容器;
发送模块,用于通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果返回至所述终端设备。
可选地,所述接收模块,具体用于:
接收所述终端设备通过上层网络传输协议发送的socket请求,其中,所述socket请求中包括所述上层网络传输协议的协议类型;
相对应地,
所述发送模块,具体用于:
通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果采用与所述上层网络传输协议的协议类型对应的上层网络传输协议返回至所述终端设备。
可选地,所述工作线程至少包括接收子线程和发送子线程,
所述传输模块,具体用于:
通过所述预先建立的虚拟容器中的连接通道,将所述业务请求传输到所述接收子线程,以使所述接收子线程按照接收到的所述业务请求的先后顺序执行所述业务请求对应的操作,并生成所述执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
将所述执行结果传输到所述发送子线程。
可选地,所述返回模块,具体用于:
通过所述连接通道,将所述发送子线程中的所述执行结果按照先后顺序,返回至与所述终端设备对应的虚拟容器。
可选地,所述上层网络传输协议至少包括TCP、UDP、SRT或RTSP。
第三个方面,本发明实施例提供一种终端设备,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的数据通信方法。
第四个方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的数据通信方法。
本发明实施例提供的技术方案,应用于服务器,包括:通过预先建立的IOCP模型,接收终端设备发送的业务请求;通过预先建立的终端设备对应的虚拟容器中的连接通道,将业务请求传输至工作线程,以使工作线程执行业务请求对应的操作,并获得执行结果;将执行结果返回至与终端设备对应的虚拟容器;通过预先建立的IOCP模型,将虚拟容器中的执行结果返回至终端设备,本发明实施例通过建立IOCP模型,在处理多个线程的并发问题时,不需要频繁的切换各个线程,提高了服务器的处理效率。
附图说明
图1是本发明的一种数据通信方法实施例的步骤流程图;
图2是本发明的另一种数据通信方法实施例的步骤流程图;
图3是本发明的再一种数据通信方法实施例的步骤流程图;
图4是本发明的又一种数据通信方法实施例的步骤流程图;
图5是本发明的另一种数据通信方法实施例的步骤流程图;
图6是本发明的一种数据通信装置实施例的结构框图;
图7是本发明的一种终端设备的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
名词解释如下:
TCP/IP协议:Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议,是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
UDP/IP协议:User Datagram Protocol,用户数据报协议,UDP为应用程序提供了一种无需建立连接就可以发送封装的IP数据报的方法
SRT协议:Secure Reliable Transport,是新一代低延迟视频传输协议,是一种开源、免费和应用灵活的规范,它的性能与专用的协议一样优秀,同时能够在不同制造商生产的产品之间工作。
RTSP协议:Real Time Streaming Protocol,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输
IOCP:I/O Completion Port,常称I/O完成端口。IOCP模型属于一种通讯模型,适用于能控制并发执行的高负载服务器的一个技术。通俗一点说,就是用于高效处理很多很多的客户端进行数据交换的一个模型。或者可以说,就是能异步I/O操作的模型;IOCP(即完成端口)中”完成”指会在网络I/O操作“完成”之后才会通知***,来自于网络上的数据已经接收完毕了。这可以使得应用程序在I/O传输期间可以做其他事情。IOCP网络通信模式是目前最为广泛应用的支持大并发、高负载的网络通信底层框架。
三层上层协议:这里指通过与三层底层交互实现相关特性协议。如TCP保证三次握手、UDP直发等。
现实大多网络通信协议如TCP、UDP、SRT、RTSP等多种协议多是传输协议框架,这些协议解决传输相关问题,可以把它们定义为三层的上层协议。
三层底层协议:这里指与I/O直接交互,处理高性能并发和快速实时传输的协议框架。
而IOCP模型可模糊理解为三层中的底层协议模式,通过IOCP模式接收数据再到三层中上层协议进行传输。在三层上层协议和底层协议I/O之间增加了一层即增加了IOCP模型,将三层上层协议和三层底层协议相结合,实现了对数据通信的分层处理,同时保留了二者的优点和优势,将网络通信协议和IOCP模型进行无缝对接。
参照图1,示出了本发明的一种数据通信方法实施例的步骤流程图,该方法可以应用于服务器中,具体可以包括如下步骤:
S101、通过预先建立的IOCP模型,接收终端设备发送的业务请求;
具体地,在服务器侧,预先建立IOCP模型,则可以同时通过多个异步I/O接收多个互联网终端设备各自发送的业务请求,其中,各个业务请求包括数据信息和网络通信协议的协议类型。
实际中,每个数据信息可以为互联网终端采用上述互联网网络通信协议对原始数据包进行封装后得到的信息,该互联网网络通信协议即上层网络传输协议,可以但不限于下述通信协议:TCP/IP协议,UDP/IP协议,SRT协议或RTSP协议。
本实施例中的数据信息可以是但是不限于下述信息:登录信息、音视频流数据信息、指令信息等。
S102、通过预先建立的虚拟容器中的连接通道,将所述业务请求传输至工作线程,以使所述工作线程执行所述业务请求对应的操作,并获得执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
具体地,服务器上预先为每个终端设备即互联网终端建立对应的虚拟容器,并为每个虚拟容器设置对应的连接通道,其中,虚拟容器用于存储各个终端设备发送的业务请求中携带的各种参数,包括但并不限制于数据信息、终结点信息和网络通信协议的协议类型。
当服务器通过IOCP接口接收到终端设备发送的业务请求后,将该业务请求存储在与该终端设备对应的虚拟容器中,并通过该虚拟容器中的连接通道,将所述业务请求传输到工作线程进行处理,工作线程执行该业务请求对应的操作,并获得执行结果,并且,在此执行的过程中,都携带有终端设备对应的终结点信息。
S103、将所述执行结果返回至与所述终端设备对应的虚拟容器;
服务器将执行结果通过连接通道返回到与终端设备对应的虚拟容器,也就是根据终结点信息,将执行结果返回到与终结点信息对应的虚拟容器中。
S104、通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果返回至所述终端设备。
具体地,服务器根据终端设备的终结点信息即IP地址和端口号,将虚拟容器中的执行结果通过IOCP模型的I/O接口发送至终端设备。
示例性地,服务器通过预先建立的IOCP模型接收终端设备A发送的登录请求,接收终端设备B发送的直播开启请求,并将这两个请求暂时存储在IOCP模型中;
通过预先为终端设备A对应的虚拟容器A,为终端设备B对应的虚拟容器B,将登录请求暂时存储在虚拟容器A中,并对登录请求进行解析,获得登录数据、用户信息、终结点信息、网络通信协议类型等,将直播开启请求暂时存储在虚拟容器B中,并对直播开启请求进行解析,获得直播数据、终结点信息,网络通信协议类型等;
通过虚拟容器A中的连接通道A,将登录请求发送至工作线程,通过虚拟容器B中的连接通道B,将直播开启请求也发送工作线程,这样,工作线程先接收到登录请求,后接收到直播开启请求,按照接收到的先后顺序进行处理,并获取执行结果,将执行结果分别通过对应的连接通道返回到对应的虚拟容器中,再由虚拟容器按照存储的终结点信息通过IOCP模型发送至对应的终端设备,在此过程中,通过IOCP模型接收各个终端设备的业务请求,不需要频繁的切换各个线程,提高了服务器处理效率,减少了服务器的工作压力。
本发明实施例提供的数据通信方法,通过预先建立的IOCP模型,接收终端设备发送的业务请求;通过预先建立的终端设备对应的虚拟容器中的连接通道,将业务请求传输至工作线程,以使工作线程执行业务请求对应的操作,并获得执行结果;将执行结果返回至与终端设备对应的虚拟容器;通过预先建立的IOCP模型,将虚拟容器中的执行结果返回至终端设备,本发明实施例通过建立IOCP模型,在处理多个线程的并发问题时,不需要频繁的切换各个线程,提高了服务器的处理效率。
本发明又一实施例对上述实施例提供的方法做进一步补充说明。
如图2所示,示出了本发明的另一种数据通信方法实施例的步骤流程图,所述方法还包括:
S201、通过预先建立的IOCP模型,接收所述终端设备通过上层网络传输协议发送的socket请求,其中,所述socket请求中包括所述上层网络传输协议的协议类型;
具体,服务器和终端设备建立socket(套接字)连接,终端设备通过socket向服务器发送业务请求,其中,套接字可以包括在所述互联网通信协议中,可以理解为是应用层协议与传输层协议之间进行交互的接口,其可以用于区分不同应用程序进程间的网络通信和连接。
S202、通过预先建立的虚拟容器中的连接通道,将所述业务请求传输至工作线程,以使所述工作线程执行所述业务请求对应的操作,并获得执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
S203、将所述执行结果返回至与所述终端设备对应的虚拟容器;
S204、通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果采用与所述上层网络传输协议的协议类型对应的上层网络传输协议返回至所述终端设备。
相应地,终端设备以什么类型的网络通信协议发送业务请求至服务器,则服务器就将执行结果以相应的网络通信协议返回至终端设备。
例如,若终端设备以TCP/IP发送业务请求至服务器,则服务器通过预先建立的IOCP模型接收各个终端设备发送的业务请求,并执行该业务请求,获得执行结果,将执行结果也以TCP/IP返回至终端设备,实现了IOCP模型与现有通信传输协议的无缝对接。
需要说明的是,现有通信传输协议包括TCP/IP、UDP/IP,但并不限于此。
由于步骤S202至步骤S203,与图1所示实施例中的步骤S102至S103相同。在图1中已经对步骤S102至S103进行了详细描述,因此,在此不再对步骤S202至步骤S203进行赘述。
如图3所示,示出了本发明的再一种数据通信方法实施例的步骤流程图,所述工作线程至少包括接收子线程和发送子线程,步骤S102,具体包括:
S1021、通过所述预先建立的虚拟容器中的连接通道,将所述业务请求传输到所述接收子线程,以使所述接收子线程按照接收到的所述业务请求的先后顺序执行所述业务请求对应的操作,并生成所述执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
S1022、将所述执行结果传输到所述发送子线程。
具体地,工作线程至少监控子线程、接收子线程和发送子线程,监控子线程用于监控各个终端设备是否发送业务请求,接收子线程用于根据接收到业务请求的先后顺序,存放各个业务请求,并按照存放的顺序进行执行,并获得执行结果;将执行结果存放在发送子线程,即接收子线程接收业务请求并执行完后,将执行结果存放在发送子线程,等待发送子线程进行发送。
如图4所示,示出了本发明的又一种数据通信方法实施例的步骤流程图,所述数据通信方法包括:
S401、通过预先建立的IOCP模型,接收所述终端设备通过上层网络传输协议发送的socket请求,其中,所述socket请求中包括所述上层网络传输协议的协议类型。
S402、通过所述预先建立的终端设备对应的虚拟容器中的连接通道,将所述业务请求传输到所述接收子线程,以使所述接收子线程按照接收到的所述业务请求的先后顺序执行所述业务请求对应的操作,并生成所述执行结果;
S403、将所述执行结果传输到所述发送子线程;
S404、通过所述连接通道,将所述发送子线程中的所述执行结果按照先后顺序,返回至与所述终端设备对应的虚拟容器;
具体地,当接收子线程接收业务请求,并执行该业务请求对应的操作,获得执行结果,并将该执行结果存放在发送子线程,发送子线程按照执行结果的先后顺序,将该执行结果通过连接通道返回至与终端设备对应的虚拟容器中,也就是在各个线程执行操作的过程中,都携带有终端设备的终结点信息,根据该终结点信息,将执行结果返回至与终结点信息对应的虚拟容器中。
S405、通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果采用与所述上层网络传输协议的协议类型对应的上层网络传输协议返回至所述终端设备。
由于步骤S401、步骤S402、步骤S403及步骤404,与图2所示实施例中的步骤S201、步骤S202和S404,和图3所示实施例中的步骤S1021、步骤S1022相同。在图2中已经对步骤S201、步骤S202和S404,和图3中的步骤S1021-步骤S1022进行了详细描述,因此,在此不再对步骤S401、步骤S402、步骤S403及步骤404进行赘述。
如图5所示,示出了本发明的另一种数据通信方法实施例的步骤流程图,所述数据通信方法包括:
S501、在服务器上创建与不同的客户端即终端对应的Socket(套接字),其中,socket中包含有网络通信协议的协议类型,其中,每个终端可采用不同的特定网络传输协议,也可采用相同的特定传输协议,在服务器侧,创建特定网络传输协议A的Socket,特定网络传输协议即为三层的上层网络传输协议;
S502、在服务器侧,创建IOCP模型(I/O完成接口),
S503、采用IOCP模型中的监控线程监听每一路客户端的消息;
S504、在服务器侧,创建客户端对应的虚拟容器SocketUserToken,此虚拟容器中包含了客户端对应的连接通道Connection;
S505、服务器通过IOCP模型接收客户端发送的业务请求,其中,该业务请求中包含上层网络通信协议的协议类型和客户端的终结点信息,例如:登陆、注册、可视电话开启、可视电话结束、直播开启、直播结束、请求会议或举手发言等;
服务器将接收到的业务请求携带的数据存储在与客户端对应的虚拟容器中即SocketUserToken,并在此虚拟容器中可以对接收的业务请求中携带的数据包进行解析,例如拆包等;
S506、通过连接通道Connection将业务请求传输到接收子线程,接收子线程按照接收到的业务请求的先后顺序执行与业务请求对应的操作,获得执行结果;
S507、将执行结果传输到发送子线程,将发送子线程中的执行结果按照先后顺序通过连接通道Connection返回到与终端设备对应的虚拟容器中;
S508、根据与终端设备对应的虚拟容器中存储的终结点信息,服务器将处理后的数据通过IOCP接口采用对应的网络通信协议返回到对应的终端设备上。
本发明实施例提供的数据通信方法,通过通过预先建立的IOCP模型,接收终端设备发送的业务请求;通过预先建立的终端设备对应的虚拟容器中的连接通道,将业务请求传输至工作线程,以使工作线程执行业务请求对应的操作,并获得执行结果;将执行结果返回至与终端设备对应的虚拟容器;通过预先建立的IOCP模型,将虚拟容器中的执行结果返回至终端设备,本发明实施例通过建立IOCP模型,在处理多个线程的并发问题时,不需要频繁的切换各个线程,提高了服务器的处理效率。
本发明另一实施例提供一种数据通信装置,用于执行上述实施例提供的数据通信方法。
参照图6,示出了本发明的一种数据通信装置实施例的结构框图,应用于服务器,所述装置包括:接收模块601、传输模块602、返回模块603和发送模块604,其中:
接收模块601用于通过预先建立的IOCP模型,接收终端设备发送的业务请求;
传输模块602用于通过预先建立的虚拟容器中的连接通道,将所述业务请求传输至工作线程,以使所述工作线程执行所述业务请求对应的操作,并获得执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
返回模块603用于将所述执行结果返回至与所述终端设备对应的虚拟容器;
发送模块604用于通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果返回至所述终端设备。
本发明实施例提供的数据通信装置,通过预先建立的IOCP模型,接收终端设备发送的业务请求;通过预先建立的终端设备对应的虚拟容器中的连接通道,将业务请求传输至工作线程,以使工作线程执行业务请求对应的操作,并获得执行结果;将执行结果返回至与终端设备对应的虚拟容器;通过预先建立的IOCP模型,将虚拟容器中的执行结果返回至终端设备,本发明实施例通过建立IOCP模型,在处理多个线程的并发问题时,不需要频繁的切换各个线程,提高了服务器的处理效率。
本发明又一实施例对上述实施例提供的装置做进一步补充说明。
可选地,所述接收模块601具体用于:
接收所述终端设备通过上层网络传输协议发送的socket请求,其中,所述socket请求中包括所述上层网络传输协议的协议类型;
相对应地,
所述发送模块604具体用于:
通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果采用与所述上层网络传输协议的协议类型对应的上层网络传输协议返回至所述终端设备。
可选地,所述工作线程至少包括接收子线程和发送子线程,
所述传输模块602具体用于:
通过所述预先建立的虚拟容器中的连接通道,将所述业务请求传输到所述接收子线程,以使所述接收子线程按照接收到的所述业务请求的先后顺序执行所述业务请求对应的操作,并生成所述执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
将所述执行结果传输到所述发送子线程。
可选地,所述返回模块603具体用于:
通过所述连接通道,将所述发送子线程中的所述执行结果按照先后顺序,返回至与所述终端设备对应的虚拟容器。
可选地,所述上层网络传输协议至少包括TCP协议、UDP协议、SRT协议或RTSP协议。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的数据通信装置,通过预先建立的IOCP模型,接收终端设备发送的业务请求;通过预先建立的终端设备对应的虚拟容器中的连接通道,将业务请求传输至工作线程,以使工作线程执行业务请求对应的操作,并获得执行结果;将执行结果返回至与终端设备对应的虚拟容器;通过预先建立的IOCP模型,将虚拟容器中的执行结果返回至终端设备,本发明实施例通过建立IOCP模型,在处理多个线程的并发问题时,不需要频繁的切换各个线程,提高了服务器的处理效率。
本发明再一实施例提供一种终端设备,用于执行上述实施例提供的数据通信方法。
图7是本发明的一种终端设备的结构示意图,如图7所示,该电子设备包括:至少一个处理器701和存储器702;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现上述实施例提供的数据通信方法。
本实施例提供的终端设备,通过预先建立的IOCP模型,接收终端设备发送的业务请求;通过预先建立的终端设备对应的虚拟容器中的连接通道,将业务请求传输至工作线程,以使工作线程执行业务请求对应的操作,并获得执行结果;将执行结果返回至与终端设备对应的虚拟容器;通过预先建立的IOCP模型,将虚拟容器中的执行结果返回至终端设备,本发明实施例通过建立IOCP模型,在处理多个线程的并发问题时,不需要频繁的切换各个线程,提高了服务器的处理效率。
本申请又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述任一实施例提供的数据通信方法。
根据本实施例的计算机可读存储介质,通过预先建立的IOCP模型,接收终端设备发送的业务请求;通过预先建立的终端设备对应的虚拟容器中的连接通道,将业务请求传输至工作线程,以使工作线程执行业务请求对应的操作,并获得执行结果;将执行结果返回至与终端设备对应的虚拟容器;通过预先建立的IOCP模型,将虚拟容器中的执行结果返回至终端设备,本发明实施例通过建立IOCP模型,在处理多个线程的并发问题时,不需要频繁的切换各个线程,提高了服务器的处理效率。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据通信方法和一种数据通信装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种数据通信方法,其特征在于,应用于服务器,所述方法包括:
通过预先建立的IOCP模型,接收终端设备发送的业务请求;
通过预先建立的虚拟容器中的连接通道,将所述业务请求传输至工作线程,以使所述工作线程执行所述业务请求对应的操作,并获得执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
将所述执行结果返回至与所述终端设备对应的虚拟容器;
通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果返回至所述终端设备。
2.根据权利要求1所述的方法,其特征在于,所述接收终端设备发送的业务请求,包括:
接收所述终端设备通过上层网络传输协议发送的socket请求,其中,所述socket请求中包括所述上层网络传输协议的协议类型;
相对应地,
所述通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果返回至所述终端设备,包括:
通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果采用与所述上层网络传输协议的协议类型对应的上层网络传输协议返回至所述终端设备。
3.根据权利要求2所述的方法,其特征在于,所述工作线程至少包括接收子线程和发送子线程,
所述通过预先建立的虚拟容器中的连接通道,将所述业务请求传输至工作线程,以使所述工作线程执行所述业务请求对应的操作,并获得执行结果,其中,所述虚拟容器是与所述终端设备对应设置的,包括:
通过所述预先建立的虚拟容器中的连接通道,将所述业务请求传输到所述接收子线程,以使所述接收子线程按照接收到的所述业务请求的先后顺序执行所述业务请求对应的操作,并生成所述执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
将所述执行结果传输到所述发送子线程。
4.根据权利要求3所述的方法,其特征在于,所述将所述执行结果返回至与所述终端设备对应的虚拟容器,包括:
通过所述连接通道,将所述发送子线程中的所述执行结果按照先后顺序,返回至与所述终端设备对应的虚拟容器。
5.根据权利要求2所述的方法,其特征在于,所述上层网络传输协议至少包括TCP、UDP、SRT或RTSP。
6.一种数据通信装置,其特征在于,应用于服务器,所述装置包括:
接收模块,用于通过预先建立的IOCP模型,接收终端设备发送的业务请求;
传输模块,用于通过预先建立的虚拟容器中的连接通道,将所述业务请求传输至工作线程,以使所述工作线程执行所述业务请求对应的操作,并获得执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
返回模块,用于将所述执行结果返回至与所述终端设备对应的虚拟容器;
发送模块,用于通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果返回至所述终端设备。
7.根据权利要求6所述的装置,其特征在于,所述接收模块,具体用于:
接收所述终端设备通过上层网络传输协议发送的socket请求,其中,所述socket请求中包括所述上层网络传输协议的协议类型;
相对应地,
所述发送模块,具体用于:
通过所述预先建立的IOCP模型,将所述虚拟容器中的执行结果采用与所述上层网络传输协议的协议类型对应的上层网络传输协议返回至所述终端设备。
8.根据权利要求6所述的装置,其特征在于,所述工作线程至少包括接收子线程和发送子线程,
所述传输模块,具体用于:
通过所述预先建立的虚拟容器中的连接通道,将所述业务请求传输到所述接收子线程,以使所述接收子线程按照接收到的所述业务请求的先后顺序执行所述业务请求对应的操作,并生成所述执行结果,其中,所述虚拟容器是与所述终端设备对应设置的;
将所述执行结果传输到所述发送子线程。
9.一种终端设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现权利要求1-5中任一项所述的数据通信方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-5中任一项所述的数据通信方法。
CN202010081798.2A 2020-02-06 2020-02-06 一种数据通信方法、装置、终端设备和存储介质 Pending CN111338747A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010081798.2A CN111338747A (zh) 2020-02-06 2020-02-06 一种数据通信方法、装置、终端设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010081798.2A CN111338747A (zh) 2020-02-06 2020-02-06 一种数据通信方法、装置、终端设备和存储介质

Publications (1)

Publication Number Publication Date
CN111338747A true CN111338747A (zh) 2020-06-26

Family

ID=71185799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010081798.2A Pending CN111338747A (zh) 2020-02-06 2020-02-06 一种数据通信方法、装置、终端设备和存储介质

Country Status (1)

Country Link
CN (1) CN111338747A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667359A (zh) * 2020-12-30 2021-04-16 深圳市科思科技股份有限公司 数据透传方法、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100174817A1 (en) * 2009-01-06 2010-07-08 Chetuparambil Madhu K Splicing proxied web requests with callback for subsequent requests
CN103391289A (zh) * 2013-07-16 2013-11-13 中船重工(武汉)凌久高科有限公司 一种基于完成端口模型的多链路安全通信方法
CN108418778A (zh) * 2017-02-09 2018-08-17 北京视联动力国际信息技术有限公司 一种互联网与视联网通信的方法、装置及交互***
CN108881147A (zh) * 2017-12-29 2018-11-23 北京视联动力国际信息技术有限公司 一种视联网的数据处理方法和装置
CN109640120A (zh) * 2018-12-18 2019-04-16 浩云科技股份有限公司 一种高并发音视频媒体数据网络传输方法及装置
CN110392044A (zh) * 2019-06-26 2019-10-29 视联动力信息技术股份有限公司 一种基于视联网的信息传输方法及装置
CN110460644A (zh) * 2019-07-17 2019-11-15 视联动力信息技术股份有限公司 一种数据处理方法和流媒体服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100174817A1 (en) * 2009-01-06 2010-07-08 Chetuparambil Madhu K Splicing proxied web requests with callback for subsequent requests
CN103391289A (zh) * 2013-07-16 2013-11-13 中船重工(武汉)凌久高科有限公司 一种基于完成端口模型的多链路安全通信方法
CN108418778A (zh) * 2017-02-09 2018-08-17 北京视联动力国际信息技术有限公司 一种互联网与视联网通信的方法、装置及交互***
CN108881147A (zh) * 2017-12-29 2018-11-23 北京视联动力国际信息技术有限公司 一种视联网的数据处理方法和装置
CN109640120A (zh) * 2018-12-18 2019-04-16 浩云科技股份有限公司 一种高并发音视频媒体数据网络传输方法及装置
CN110392044A (zh) * 2019-06-26 2019-10-29 视联动力信息技术股份有限公司 一种基于视联网的信息传输方法及装置
CN110460644A (zh) * 2019-07-17 2019-11-15 视联动力信息技术股份有限公司 一种数据处理方法和流媒体服务器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667359A (zh) * 2020-12-30 2021-04-16 深圳市科思科技股份有限公司 数据透传方法、电子设备及存储介质
CN112667359B (zh) * 2020-12-30 2024-01-30 深圳市科思科技股份有限公司 数据透传方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US10893080B2 (en) Relaying multimedia conferencing utilizing software defined networking architecture
JP5629086B2 (ja) 同一ipポートを使用するアプリケーションの複数のインスタンス間で、受信したセッションを送信するための方法およびシステム
CN111294399B (zh) 一种数据传输方法和装置
EP2989800B1 (en) Data communication system and method
CN103348657B (zh) 流媒体播放方法、设备及***
CN106961426B (zh) 智能设备的通讯方法及装置
CN113630439B (zh) 实时通信rtc连接方法、服务器及存储介质
CN105227418B (zh) 数据通道建立方法和通信设备
US10104134B2 (en) Automatic configuration of endpoint communication devices to set up a VOIP network
WO2017020790A1 (zh) 多屏控制方法及装置
CN108306986B (zh) 多类型媒体数据网络地址转换穿越方法、终端及***
EP3576371A1 (en) Method and system for transmitting streaming media resource
CN103107983A (zh) 网络***的数据管理方法及其相关***
JP2019525578A (ja) データグラムベースのトランスポート層を介したカプセル化メディアトラフィックの効率的転送
CN105743852B (zh) 通过http实现跨越网闸进行Socket保持连接通信的方法及***
CN101369987A (zh) 一种建立通信通道的方法及装置
CN111338747A (zh) 一种数据通信方法、装置、终端设备和存储介质
US20240007509A1 (en) Interactive calling for internet-of-things
WO2016114967A1 (en) Systems and methods for adaptive context-aware control of multimedia communication sessions
CN109361671A (zh) 一种基于sip协议的流媒体传输架构方法
JP5311460B2 (ja) 接続制御装置
JP2017027499A (ja) 中継システム、中継方法、及びプログラム
CN104994067A (zh) Sip网络访问rtsp监控网络的***及方法
CN112637382B (zh) 数据发送方法及装置、建立p2p连接的方法及***
CN105991629B (zh) Tcp连接建立方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination