CN114679436B - 一种会话管理方法、服务器及计算机可读存储介质 - Google Patents
一种会话管理方法、服务器及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114679436B CN114679436B CN202210585986.8A CN202210585986A CN114679436B CN 114679436 B CN114679436 B CN 114679436B CN 202210585986 A CN202210585986 A CN 202210585986A CN 114679436 B CN114679436 B CN 114679436B
- Authority
- CN
- China
- Prior art keywords
- session
- sip
- request
- service
- serialized
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供一种会话管理方法、服务器及计算机可读存储介质,将数据采集设备和请求端之间的关于会话处理的部分划分为三个不同的会话模块,通过不同的会话模块来进行不同的会话处理,各个模块之间功能独立,耦合性极低,降低了会话模块之间的耦合性;其次,各个模块之间的通信只是将对应的请求对象发送至下一个模块对应的队列中,通信简单,而且采用线程的方式进行会话处理和通信,实现了各个模块之间的异步通信,保证了整个会话过程的稳定性和会话的安全性;另外,在生成服务会话时,根据设备标识来生成,一个设备标识对应一个服务会话,当设备标识相同时,多个请求端可共用一个服务会话,提高了会话效率。
Description
技术领域
本申请涉及智慧交通技术领域,尤其是涉及一种会话管理方法、服务器及计算机可读存储介质。
背景技术
视频监控系统是基于GB/T28181(国家标准,安全防范视频监控联网系统信息传输、交换、控制技术要求)标准的系统。在视频监控系统中,当第三方的平台或者用户端需获取监控设备的数据(例如国标摄像机的视频、音频和图像数据)时,需要建立与监控设备之间的会话,而对于监控设备来说,一次建立一个会话。当需要访问监控设备的平台或者用户端存在多个时,一次建立多个会话,会导致网络拥塞,如何高效的管理多个平台或者用户端与监控设备的会话,是急需解决的问题。
发明内容
本申请实施例提供一种会话管理方法、服务器及计算机可读存储介质,降低了会话管理对应的模块之间的耦合性,提高会话管理的效率和会话稳定性。
本申请实施例提供一种会话管理方法,应用于服务器中,所述服务器包括用户态会话模块、服务会话模块和SIP会话模块,所述会话管理方法包括:
通过所述用户态会话模块的用户态消息队列接收来自请求端的会话请求,所述会话请求用于请求与数据采集设备的会话,所述会话请求中包括所述请求端的请求标识和所述数据采集设备的设备标识;
根据所述用户态会话模块的用户态会话线程从所述用户态消息队列中获取所述会话请求,根据所述请求标识生成所述会话请求对应的序列化请求对象,并将所述序列化请求对象发送至所述服务会话模块的序列化消息队列;
根据所述服务会话模块的服务会话线程从所述序列化消息队列中获取所述序列化请求对象,并根据所述序列化请求对象中的设备标识,检测所述设备标识所对应的服务会话是否存在;
若不存在,则生成所述设备标识对应的服务会话,并根据所述服务会话生成所述设备标识所对应的SIP请求对象,将所述SIP请求对象发送至SIP会话模块的SIP对象池;
根据所述SIP会话模块的SIP会话线程从所述SIP对象池中获取所述SIP请求对象,并通过SIP协议栈将所述SIP请求对象发送至所述设备标识所对应的数据采集设备。
同时,本申请实施例还提供一种服务器,包括:用户态会话模块、服务会话模块和SIP会话模块;
所述用户态会话模块,用于通过用户态消息队列接收来自请求端的会话请求,所述会话请求用于请求与数据采集设备的会话,所述会话请求中包括所述请求端的请求标识和所述数据采集设备的设备标识;根据所述用户态会话模块的用户态会话线程从所述用户态消息队列中获取所述会话请求,根据所述请求标识生成所述会话请求对应的序列化请求对象,并将所述序列化请求对象发送至所述服务会话模块的序列化消息队列;
所述服务会话模块,用于通过所述服务会话模块的服务会话线程从所述序列化消息队列中获取所述序列化请求对象,并根据所述序列化请求对象中的设备标识,检测所述设备标识所对应的服务会话是否存在;若不存在,则生成所述设备标识对应的服务会话,并根据所述服务会话生成所述设备标识所对应的SIP请求对象,将所述SIP请求对象发送至SIP会话模块的SIP对象池;
所述SIP会话模块,用于通过所述SIP会话模块的SIP会话线程从所述SIP对象池中获取所述SIP请求对象,并通过SIP协议栈将所述SIP请求对象发送至所述设备标识所对应的数据采集设备。
同时,本申请实施例还提供一种服务器,所述服务器包括一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述处理器和所述存储器相连接,所述一个或多个计算机程序被存储于所述存储器中,并配置为由所述处理器执行上述所述的会话管理方法。
同时,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有多条指令,指令始于处理器进行加载,以执行上述会话管理方法中的步骤。
本申请实施例提供一种会话管理方法、服务器及计算机可读存储介质,将数据采集设备和请求端之间的关于会话处理的部分划分为三个不同的会话模块,通过不同的会话模块来进行不同的会话处理,各个模块之间功能独立,耦合性极低,降低了会话模块之间的耦合性;其次,各个模块之间的通信只是将对应的请求对象发送至下一个模块对应的队列中,通信简单,而且采用线程的方式进行会话处理和通信,实现了各个模块之间的异步通信,保证了整个会话过程的稳定性和会话的安全性;另外,在生成服务会话时,根据设备标识来生成,一个设备标识对应一个服务会话,当设备标识相同时,多个请求端可共用一个服务会话,提高了会话效率。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1为本申请实施例提供的会话管理方法的场景示意图。
图2为本申请实施例提供的会话管理方法的流程示意图。
图3为本申请实施例提供的用户态会话模块的示意图。
图4为本申请实施例提供的服务会话模块的示意图。
图5为本申请实施例提供的SIP会话模块的示意图。
图6为本申请实施例提供的会话管理方法的一流程示意图。
图7为本申请实施例提供的会话管理方法的另一流程示意图。
图8为本申请实施例提供的会话管理方法的又一流程示意图。
图9为本申请实施例提供的服务器的结构示意图。
图10为本申请实施例提供的服务器的另一结构示意图。
图11为本申请实施例提供的连接池句柄描述信息的示意图。
图12为本申请实施例提供的服务会话的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种会话管理方法、装置、服务器及计算机可读存储介质。本申请实施例提供的任一种会话管理方法和会话管理装置,可以集成在服务器中。该服务器既可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
请参阅图1,图1为本申请实施例提供的会话管理方法的场景示意图,在该场景中,包括多个请求端、服务器和多个数据采集设备。其中,请求端可以对应某个平台/系统,也可以是用户端,其中用户端包括但不限于智能手机、平板电脑、笔记本电脑、智能电视、智能机器人、个人计算机(PC,Personal Computer)、可穿戴设备、服务器计算机等,数据采集设备可以是数据采集平台/系统,也可以是用于进行数据采集的摄像头,其中摄像头包括但不限于嵌入式高清摄像头、高清相机、鱼眼摄像头等。
多个请求端、服务器和多个数据采集设备位于无线网络或有线网络中,多个数据采集设备基于国标协议如SIP协议与服务器进行通信,多个请求端可以基于互联网协议如http协议或者websocket协议等与服务器进行通信。其中,请求端将会话请求发送至服务器,服务器的多个会话模块进行一系列的处理,将会话请求对应的信息发送至对应的数据采集设备,以建立与数据采集设备之间的会话,进一步获取该数据采集设备采集的数据等。
下面将对本申请实施例中的会话管理方法、装置、服务器和存储介质进行详细的说明,需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
图2是本申请实施例提供的会话管理方法的流程示意图,该会话管理方法可应用于服务器中,该服务器中包括用户态会话模块、服务会话模块和SIP会话模块,该会话管理方法包括以下步骤。
101,通过用户态会话模块的用户态消息队列接收来自请求端的会话请求,该会话请求用于请求与数据采集设备的会话,该会话请求中包括请求端的请求标识和数据采集设备的设备标识。
用户态会话模块用于处理来自于请求端的会话请求,如会话请求1、……、会话请求N等,用户态会话模块包括用户态消息队列和用户态会话线程池组,该用户态会话线程池组中包括多个用户态会话线程,如用户态会话线程1、……、用户态会话线程N1,如图3所示。
通过用户态会话模块接收来自请求端的会话请求,并将会话请求放入至用户态消息队列。该会话请求用于请求与数据采集设备的会话,该会话请求中包括请求端的请求标识和数据采集设备的设备标识。其中,请求端的请求标识包括请求端所对应设备的ID号和/或MAC地址和/或IP地址等标识信息,数据采集设备的设备标识包括对应的设备ID号和/或IP地址等标识信息。其中,会话请求可以是来自于请求端的TCP请求,该会话请求可以为二进制格式的请求。
将来自于请求端的会话请求放入至用户态消息队列中,通过用户态消息队列接收来自于请求端的会话请求,如此,用户态会话模块可接收来自于不同请求端的会话请求,且每个会话请求都会被处理,降低了会话请求长时间未被处理而丢失的可能性,提高会话的稳定性。
请求端的会话请求可以是请求与数据采集设备的实时会话,对应地,该实时会话用于获取数据采集设备实时采集的数据,还可以是请求与数据采集设备的历史会话,对应地,该历史会话用于获取数据采集设备历史采集的数据,还可以是请求数据采集设备的订阅消息的订阅会话,对应地,该订阅会话用于在数据采集设备出现变动,如数据采集设备的经纬度发生变化时,主动通知请求端。具体如图3所示。
102,根据用户态会话模块的用户态会话线程从用户态消息队列中获取会话请求,根据请求标识生成会话请求对应的序列化请求对象,并将序列化请求对象发送至服务会话模块的序列化消息队列。
当用户态消息队列不空时,用户态会话模块的多个用户态会话线程会持续的从用户态消息队列中获取会话请求。例如,用户态会话线程1处理了一个会话请求之后,会再从用户态消息队列中获取下一个会话请求进行处理,其他每个用户态会话线程都是如此。
每个用户态会话线程的处理逻辑包括:从用户态消息队列中获取一个会话请求,根据会话请求的请求标识生成会话请求对应的序列化请求对象,并将序列化请求对象发送至服务会话模块的序列化消息队列。
其中,上述根据会话请求的请求标识生成会话请求对应的序列化请求对象的步骤,包括:根据请求标识利用用户态会话线程生成会话请求对应的连接池句柄描述信息,根据连接池句柄描述信息,对会话请求进行第一序列化,以得到会话请求对应的序列化请求对象。
根据请求标识利用用户态会话线程生成会话请求对应的连接池句柄描述信息,一个请求标识对应一个连接池句柄描述信息,即一个请求端对应一个连接池句柄描述信息。
由于一个请求端对应一个连接池句柄描述信息,无论一个请求端发送了多少个会话请求,都对应一个连接池句柄描述信息。如此,不同请求端的会话独立运行,例如,连接池句柄描述信息1对应一个实时会话,连接池句柄描述信息2对应一个实时会话,但这两个实时会话可以在不同的线程里面执行,互不干扰,因为是对应不同的请求端的会话。如此,对于每个连接池句柄描述信息来说,只需要管理该对应的一个请求端的所有会话即可,而与其他请求端的会话没有任何关系,避免了现有技术中两个不同的请求端的会话出现竞争的情况。例如,有请求端A和请求端B,请求端A和请求端B分别对应10个会话,那么请求端A和请求端B管理好自己内部的10个会话,请求端A的10个会话和请求端B的10个会话之间不会存在竞争。
在一实施例中,如图11所示,为本申请实施例提供的连接池句柄描述信息的示意图,连接池句柄描述信息包括原子序列号、网络通信句柄、会话模块组、订阅模块组、云控模块组、保存模块、其他业务模块等信息。
其中,原子序列号是针对连接池句柄描述信息的或者是针对请求端的,原子序列号是唯一的,可用正整数来表示。当有请求端连接上服务器,在生成连接池句柄描述信息中确定原子序列号,例如,在生成该会话请求的连接池句柄描述信息之前,原子序列号为6,则该会话请求的连接池句柄描述信息中的原子序列号为7。其中,当请求端连接上服务器后,将原子序列号加一。在请求端断开与服务器的通信连接后,更改对应的连接池句柄描述信息中的原子序列号,如将原子序列号加一。原子序列号的目的是在会话请求的所有逻辑都处理完了之后,当有会话应答回来时,根据原子序列号可确定对应的请求端是否仍在线,若仍在线,则原子序列号保持不变,若掉线,则原子序列号与会话应答中的原子序列号不相同。
网络通信句柄对应的是请求端与服务器的网络通信链路,通过网络通信句柄可以将会话应答返回至对应的请求端。会话模块组对应一个服务会话模块,订阅模块组对应一个订阅会话模块,云控模块组对应一个云控会话模块等等,其中,会话模块组、订阅模块组、云控模块组等不涉及业务逻辑的重叠,它们可以独立处理自己的业务逻辑,本申请中的订阅模块组、云控模块组等的设计实现了各业务之间独立性强,模块可扩展性强。但需要注意的是,会话模块组、订阅模块组、云控模块组所操作的内存区域绝对独立,不重叠。下文中的描述中以服务会话模块(对应会话模块组)为例进行说明,并不涉及订阅模块组、云控模块组。
得到连接池句柄描述信息后,根据连接池句柄描述信息,对会话请求进行第一序列化(例如封装),以得到会话请求对应的序列化请求对象。例如,将连接池句柄描述信息映射为连接池句柄,该连接池句柄对应一个指针,指向连接池句柄描述信息,获取连接池句柄描述信息中的原子序列号以及设备标识如设备ID,将连接池句柄、原子序列号和设备标识信息进行封装,以得到会话请求对应的序列化请求对象。该步骤可以实现根据连接池句柄描述信息对会话请求进行封装,以将会话请求封装为序列化请求对象。其中,若会话请求为二进制格式的请求,封装后的序列化请求对象也为二进制格式的。
将会话请求封装为序列化请求对象之后,方便统一对序列化请求对象进行管理,且序列化请求对象对应的数据量更少,以降低服务会话模块的存储量。
得到序列化请求对象之后,将序列化请求对象发送至服务会话模块的序列化消息队列。
103,根据服务会话模块的服务会话线程从序列化消息队列中获取序列化请求对象,并获取序列化请求对象中的设备标识。
服务会话模块包括序列化消息队列、服务会话线程池组和服务会话组。序列化消息队列用于接收来自于用户态会话模块的序列化请求对象,以及来自于SIP会话模块的序列化应答对象,将序列化请求对象以及序列化应答对象都放入至序列化消息队列中,避免了序列化请求对象以及序列化应答对象长时间未被处理而丢失的可能性,提高会话的稳定性。服务会话线程池组中包括多个服务会话线程,如服务会话线程1、……、用户态会话线程N2,如图4所示。服务会话组中多个服务会话(ServerDialog),后文中会详细描述。
当序列化消息队列不空时,服务会话模块的多个服务会话线程会持续的从序列化消息队列中获取序列化请求对象,并对序列化请求对象进行处理。
服务会话线程从序列化消息队列中获取序列化请求对象,并获取序列化请求对象中的设备标识。
104,检测设备标识所对应的服务会话是否存在。
在检测设备标识所对应的服务会话是否存在之前,先介绍下本申请实施例中的服务会话组。
其中,本申请实施例中的服务会话组中包括三个组,分别为total、uesd、free,其中,total表示所有的服务会话组,uesd表示正在使用的服务会话组,对应正在被观看的视频,free表示可以使用的,空闲的服务会话组。一般正在使用的服务会话使用完毕后,则进入到空闲的服务会话组。
在服务器开始运行的时候,一次性的分配/创建预设数量的服务会话,并将所分配的所有服务会话添加进free所对应的空闲的服务会话组。每次在生成设备标识所对应的服务会话时,从free中确定空闲的服务会话,当free中没有空闲的服务会话时,再新建服务会话,并将新建的服务会话添加进total和used中。如此,total中的服务会话只增不减。服务会话组如此设计,避免频繁的新建服务会话,删除/回收服务会话,产生大量的内存碎片(还有其他的优势后文中涉及到的时候会再进行说明)。
其中,每个服务会话的设计可如图12所示。每个服务会话包括设备标识(如设备ID)、SIP会话标识(如SIP会话ID)、会话状态(状态码)、请求列表、媒体地址(如媒体服务器的IP地址)、RTP端口、P2P端口等字段。其中,对于请求列表可包括多个序列化请求对象信息,每个序列化请求对象信息包括原子序列号和连接池句柄,即请求列表中包括多个原子序列号和对应的多个连接池句柄。
对应地,该步骤中的检测设备标识所对应的服务会话是否存在,即为检测uesd中是否存在设备标识(会话请求中的设备标识如设备ID)所对应的服务会话。具体的,将会话请求中的设备标识与used中的每个服务会话的设备标识进行匹配,若匹配成功,则意味着设备标识所对应的服务会话存在,若匹配不成功,则意味着设备标识所对应的服务会话不存在。
若设备标识所对应的服务会话不存在,则执行步骤105,若设备标识所对应的服务会话存在,则执行步骤107。
105,生成设备标识对应的服务会话,并根据服务会话生成设备标识所对应的SIP请求对象,将SIP请求对象发送至SIP会话模块的SIP对象池。
若服务器中没有预先创建预设数量的服务会话,即不存在服务会话组,则可以是接收到序列化请求对象后,根据序列化请求对象中的设备标识生成对应的服务会话。对应地服务会话线程从序列化消息队列中获取序列化请求对象后,获取表2中所对应的服务会话字段;向媒体服务器发送端口获取请求,该端口获取请求用于获取媒体服务器的媒体地址、RTP端口和P2P端口,其中,媒体服务器通过RTP端口接收数据采集设备采集的数据,通过P2P端口将数据采集设备采集的数据分发至请求端;获取序列化请求对象中的设备标识、原子序列号和连接池句柄,获取会话状态为初始状态;如此,根据服务会话字段和服务会话字段对应的内容来生成设备标识对应的服务会话。
若服务器中存在服务会话组,则上述生成设备标识对应的服务会话的步骤,包括:从空闲的服务会话组中确定一个空闲的服务会话;根据序列化请求对象填充服务会话中的设备标识和请求列表,并更新服务会话中的会话状态,以得到设备标识对应的服务会话;将服务会话添加至正在使用的服务会话组中。
即从free中确定一个空闲的服务会话,根据端口获取请求来获取媒体服务器的媒体地址、RTP端口和P2P端口,利用所获取的媒体地址、RTP端口和P2P端口填充服务会话中对应的字段,并根据序列化请求对象中的设备标识填充服务器会话中的设备标识字段、根据序列化请求对象中的原子序列号和连接池句柄填充服务会话中的请求列表中的相应字段,更新服务会话中的会话状态字段为初始状态,以得到设备标识对应的服务会话,将该服务会话添加至used中。
其中,直接从free中确定一个空闲的服务会话,并填充该服务会话,如此,只需要更新服务会话对应字段的内容即可,对应地,实现起来即为简单的更改一段内存的操作,可最大化的利用CPU,更改内存的操作的执行速度很快,其执行速度大于用户态会话线程的执行速度以及SIP会话线程的执行速度。即服务会话组的设计除了可以降低内存碎片之外,还可以通过简单的更改一段内存的操作来生成对应的服务会话,提高了服务会话生成的速度。
其中,生成的是设备标识对应的服务会话,即一个设备标识对应一个服务会话,例如,请求端A请求一个视频(设备标识为a),请求端B也请求一个视频(设备标识为a),但请求端A和请求端B都请求的是:校园通的视频,那么对于SIP会话模块来说,它们请求的是同一个设备标识的数据采集设备所采集的同一个视频,只需要维护一个SIP会话,而无需维护两个SIP会话,对于服务会话模块来说,只需要维护一个服务会话,而不需要同时维护两个服务会话,即当设备标识相同时,多个请求端可共用一个服务会话和对应的SIP会话,从而对多个请求端请求同一个数据采集设备的数据的所有序列化消息对象进行统一管理,提高会话效率。对应地,将请求端A和请求端B所对应的序列化消息对象信息保存至服务会话的请求列表中。
生成了服务会话之后,接着服务会话线程需要向数据采集设备发送SIP invite请求(会话邀请请求),这个会话邀请打通是需要时间的,这也是为什么再服务会话中设计请求列表的一个原因之一。具体的,上述根据服务会话生成设备标识所对应的SIP请求对象(其完成的功能相当于SIP invite请求)的步骤,包括:获取服务会话的会话状态,当会话状态为预设状态时,将序列化请求对象进行第一格式转换,以生成设备标识所对应的SIP请求对象。
其中,预设状态为初始状态,当服务会话的会话状态为初始状态时,将序列化请求对象进行第一格式转换,通过第一格式转换生成SIP格式的SIP请求对象。在一实施例中,SIP请求对象可以是符合GB/T 28181国家标准格式的请求对象。在其他实施例中,SIP请求对象也可以是不符合GB/T 28181国家标准的请求对象,本申请下文中以该种情况为例进行说明,例如,SIP请求对象虽然是SIP格式的,但其与GB/T 28181所对应的格式有差别,其中,数据采集设备依托的协议为GB/T 28181,该协议是公安一所联合了国内头部的监控设备厂商一起制定的标准规范,理解起来有一定难度,而在SIP会话模块中还需要对SIP请求对象进行管理,为了便于理解和管理,降低学习难度,通过第一格式转换,得到通俗易懂的SIP请求对象。
得到设备标识所对应的SIP请求对象后,将该SIP请求对象发送至SIP会话模块的SIP对象池,其中,SIP请求对象包括SIP会话标识和原子序列号等。发送SIP请求对象后,根据SIP请求对象中的SIP会话标识如SIP会话ID,更新服务会话中的SIP会话标识字段;同时更新服务会话中的会话状态为处理中。
需要注意的是,图4所示的服务会话模块只是一个具体模块的示例说明,在服务器中根据业务的不同,类似于服务会话模块的模块还可以有多个,例如,可针对实时会话创建一个服务会话模块,针对历史会话创建另一个服务会话模块、针对其他会话创建又一个服务会话模块等,如此设计避免业务的重叠,降低模块之间的耦合性,此外,实现了服务器中业务的高扩展性;同时由于业务的独立性,可以对多个业务并行开发。
106,根据SIP会话模块的SIP会话线程从SIP对象池中获取SIP请求对象,并通过SIP协议栈将SIP请求对象发送至设备标识所对应的数据采集设备。
SIP会话模块包括SIP对象池、SIP会话线程池组和SIP格式指令队列。其中,SIP对象池用于接收来自于服务会话模块的SIP请求对象,以及用于接收来自于SIP协议栈的SIP应答对象,将SIP请求对象以及SIP应答对象放入至SIP对象池中,如此,避免了SIP请求对象以及SIP应答对象长时间未被处理而丢失的可能性,提高会话的稳定性;SIP会话线程池组中包括多个SIP会话线程,如包括SIP会话线程1、……、SIP会话线程N3,如图5所示;SIP格式指令队列用于接收来自于SIP会话线程发送的SIP格式指令。
相对于用户态会话线程组,SIP会话线程池组中包括的SIP会话线程远远多于用户态会话线程,即用户态会话线程组为轻量级,SIP会话线程池组为重量级,这是因为用户态线程池组可能同时处理几路、几十路的并发的会话请求,服务器处理起来压力极低,而SIP会话线程池组中涉及到的并发数量很大,例如,某个区域的数据采集设备的接入数量可以是成千上万个,甚至更多,如此,SIP会话线程池组一次性要处理成千上万个数据采集设备的同时接入(将数据采集设备采集的数据进行保存等)。例如,接入数量为7000路,那么一次性要处理7000路的数据采集设备的同时接入,并发数量成百上千倍的提升。
其中,当SIP对象池不为空时,SIP会话模块的多个SIP会话线程会持续的从SIP对象池中获取SIP对象(包括SIP应答对象、SIP请求对象等),并对SIP对象进行一系列的逻辑处理。
在一实施例中,上述通过SIP协议栈将SIP请求对象发送至设备标识所对应的数据采集设备的步骤,包括:通过SIP会话线程获取SIP请求对象之后,将SIP请求对象封装为SIP格式指令;发送SIP格式指令至SIP格式指令队列中;通过SIP协议栈从SIP格式指令队列中获取SIP格式指令,并将SIP格式指令发送至设备标识所对应的数据采集设备。
由于SIP请求对象为通俗易懂的请求对象,因此,将SIP请求对象进行封装,具体地,将SIP请求对象转换为SIP应答的SIP格式指令(例如command命令),以供SIP协议栈读取并发送至数据采集设备。生成SIP格式指令后,将SIP格式指令发送至SIP格式指令队列(command命令)中,将SIP格式指令放入至SIP格式指令队列,不会造成SIP格式指令长时间未被处理而丢失的可能性,提高会话的稳定性。通过SIP协议栈从SIP格式指令队列中获取每个SIP格式指令,并发送至对应的数据采集设备。
可结合图6一起来理解,将会话请求从请求端发送至数据采集设备的整个过程中,用户态会话模块、服务会话模块和SIP会话模块的处理的流程。
在一实施例中,若设备标识所对应的服务会话存在,则执行步骤107。
107,根据序列化请求对象利用服务会话线程更新设备标识对应的服务会话。
若设备标识所对应的服务会话存在,则服务会话线程,根据序列化请求对象更新设备标识对应的服务会话。例如,将序列化请求对象中的原子序列号和连接池句柄加入至服务会话的请求列表中,以更新对应的服务会话。
上述实施例中将数据采集设备和请求端之间的关于会话处理的部分划分为三个不同的会话模块,通过不同的会话模块来进行不同的会话处理,各个模块之间功能独立,耦合性极低,降低了会话模块之间的耦合性;其次,各个模块之间的通信只是将对应的请求对象发送至下一个模块对应的队列中,通信简单,而且采用线程的方式进行会话处理和通信,实现了各个模块之间的异步通信,保证了整个会话过程的稳定性和会话的安全性;另外,在生成服务会话时,根据设备标识来生成,一个设备标识对应一个服务会话,当设备标识相同时,多个请求端可共用一个服务会话,提高了会话效率。
图7是本申请实施例提供的会话管理方法的另一流程示意图,该会话管理方法可应用于服务器中,该会话管理方法包括如下步骤。
201,通过SIP协议栈和SIP会话模块生成数据采集设备的SIP应答消息所对应的序列化应答对象,并将所述序列化应答对象发送至服务会话模块的序列化消息队列。
在一实施例中,上述通过SIP协议栈和SIP会话模块生成数据采集设备的SIP应答消息所对应的序列化应答对象的步骤,包括:通过SIP协议栈接收数据采集设备的SIP应答消息;将SIP应答消息进行第二格式转换,以得到SIP应答消息所对应的SIP应答对象;将SIP应答对象发送至SIP对象池;SIP会话模块的SIP会话线程从SIP对象池中获取SIP应答对象,并对SIP应答对象进行第二序列化,以得到序列化应答对象。
其中,数据采集设备返回基于SIP格式指令的SIP应答消息,该SIP应答消息中包括SIP会话标识、原子序列号(该原子序列号与SIP请求对象中的原子序列号一致)等信息,SIP协议栈接收数据采集设备返回的SIP应答消息。由于数据采集设备依托的协议为GB/T28181,因此该SIP应答消息为符合GB/T 28181的消息,因此需要通过协议栈将其进行第二格式转化,以转换为通俗易懂的SIP应答对象,方便管理,且降低学习难度。将SIP应答对象发送至SIP对象池。
SIP会话模块的SIP会话线程从SIP对象池中获取SIP应答对象,并对SIP应答对象进行第二序列化,以得到序列化应答对象,如此,将SIP格式的SIP应答对象转换为二进制格式的序列化应答对象,并将序列化应答对象发送至服务会话模块的序列化消息队列中。
202,服务会话模块根据序列化应答对象中的SIP会话标识确定对应的服务会话,并根据序列化应答对象将服务会话的服务地址和服务端口返回至请求列表中的序列化请求对象信息对应的请求端。
其中,序列化应答对象中包括SIP会话标识和原子序列号等信息。
其中,上述服务会话模块根据序列化应答对象中的SIP会话标识确定对应的服务会话的步骤,包括:服务会话模块的服务会话线程从序列化消息队列中获取序列化应答对象,并获取序列化应答对象中的SIP会话标识,将该SIP会话标识与服务会话组的used中的每个服务会话中的SIP会话标识进行匹配,匹配成功的则为对应的服务会话。
此时,更新服务会话中的会话状态,这时会话状态可能是成功,也可能是识别,无论成功还是失败,都需要遍历服务会话中的请求列表。其中,会话状态为成功时,则将媒体服务器的媒体地址和服务端口(包括RTP端口和P2P端口)等返回至请求列表中的每个序列化请求对象信息对应的请求端;若会话状态为失败(如可能是不存在设备标识所对应的数据采集设备或者数据采集设备不在线等情况),则将对应的失败信息返回至请求列表中的每个序列化请求对象信息对应的请求端。
其中,上述根据序列化应答对象将服务会话的服务地址和服务端口返回至请求列表中的序列化请求对象信息对应的请求端的步骤,包括:遍历请求列表,检测序列化应答对象中的原子序列号跟请求列表中的原子序列号是否一致;若不存在一致,则从请求列表中删除原子序列号对应的序列化请求对象信息,并丢弃序列化应答对象;若存在一致,根据连接池句柄将服务会话的媒体地址和服务端口返回至序列化请求对象信息对应的请求端。
若原子序列号不存在一致,则意味着原子序列号对应的请求端均已掉线,从请求列表中删除原子序列化对应的序列化请求对象信息,并丢弃该序列化应答对象。若原子序列号存在一致,则是正常的应答情况,根据原子序列号对应的连接池句柄将服务会话中的媒体服务器的媒体地址和服务端口返回至连接池句柄对应的请求端。
因为连接池句柄指向对应的连接池句柄描述信息,连接池句柄描述信息中包括网络通信句柄,通过网络通信句柄可以将体服务器的媒体地址和服务端口返回至请求端。
在一实施例中,请求端得到媒体地址和服务端口后,向媒体服务器的媒体地址的服务端口(P2P端口)注册,以便于媒体服务器将通过服务端口(RTP端口)采集的数据采集设备的数据通过对应的P2P端口发送至请求端。
其中,从数据采集设备发送至SIP协议栈的SIP应答消息也可以理解为从数据采集设备发送的一个SIP请求,需要注意的是,该SIP请求为SIP应答消息,是数据采集设备基于请求端发送的会话请求而返回的。在一些实施例中,从数据采集设备发送至协议栈的还可以是数据采集设备主动发送的SIP请求,例如,将数据采集设备的状态主动发送至订阅了该数据采集设备的请求端或者数据采集设备发送的注销命令等。
可结合图8一起来理解,将SIP请求从数据采集设备返回至请求端的整个过程中,SIP会话模块、服务会话模块和用户态会话模块的处理流程。
在上述实施例中,所述会话管理方法还包括:当检测到服务会话中的请求列表为空时,通过服务会话线程向SIP会话模块发送结束会话请求(BYE请求),该结束会话请求会转换为对应的SIP请求对象,并发送至SIP对象池,SIP会话模块的SIP会话线程从SIP对象池中获取SIP请求对象,并转换为对应的SIP格式指令(结束指令),并将SIP格式指令(结束指令)发送至SIP格式指令队列中,通过SIP协议栈从SIP格式指令队列中获取SIP格式指令(结束指令),以结束与数据采集设备的SIP会话。其中,当请求端都掉线或者发送了不看对应视频的时候,则从请求列表中删除对应的原子序列号和连接池句柄。
在上述实施例中,所述会话管理方法还包括:当检测到数据采集设备发送了SIP请求(如BYE请求),例如数据采集设备发送了注销指令时,会发送BYE请求,由于这个时候数据的产生源没有了,那么需要将该SIP请求通过SIP会话模块、服务会话模块和用户态会话模块发送至请求端。具体地,请参看上面对应的流程,在此不再赘述。
相应的,图9为本申请实施例提供的服务器的结构示意图;请参阅图9,该服务器包括:用户态会话模块、服务会话模块和SIP会话模块。
其中,用户态会话模块,包括用户态消息队列和用户态会话线程池组,用户态会话线程池组中包括多个用户态会话线程,用户态会话模块,用于利用用户态消息队列接收来自请求端的会话请求,所述会话请求用于请求与数据采集设备的会话,所述会话请求中包括所述请求端的请求标识和所述数据采集设备的设备标识;根据用户态会话线程从所述用户态消息队列中获取所述会话请求,根据所述请求标识生成所述会话请求对应的序列化请求对象,并将所述序列化请求对象发送至所述服务会话模块的序列化消息队列。
服务会话模块,包括序列化消息队列和服务会话线程池组、服务会话组,其中,服务会话线程池组中包括多个服务会话线程,服务会话组中包括多个服务会话,服务会话模块,用于利用服务会话线程从所述序列化消息队列中获取所述序列化请求对象,并根据所述序列化请求对象中的设备标识,检测所述设备标识所对应的服务会话是否存在;若不存在,则生成所述设备标识对应的服务会话,并根据所述服务会话生成所述设备标识所对应的SIP请求对象,将所述SIP请求对象发送至SIP会话模块的SIP对象池。
SIP会话模块,包括SIP对象池、SIP格式指令队列、SIP会话线程池组等,SIP会话线程池组包括多个SIP会话线程,SIP会话模块,用于利用SIP会话线程从所述SIP对象池中获取所述SIP请求对象,并通过SIP协议栈将所述SIP请求对象发送至所述设备标识所对应的数据采集设备。
其中,用户态会话模块、服务会话模块和SIP会话模块具体实现的功能可参看上述会话管理方法的任一实施例中的描述,所达到的有益效果也请参看上文中对应部分的描述,在此不再赘述。
相应的,本申请实施例还提供一种服务器,如图10所示,该服务器可以包括射频(RF,Radio Frequency)电路301、包括有一个或一个以上计算机可读存储介质的存储器302、输入单元303、显示单元304、传感器305、音频电路306、无线保真(WiFi,WirelessFidelity)模块307、包括有一个或者一个以上处理核心的处理器308、以及电源309等部件。本领域技术人员可以理解,图10中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部分,或者不同的部件布置。其中:
RF电路301可用于收发信息或通话过程中,信号的接受和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器308处理;另外,将涉及上形的数据发送给基站。存储器302可用于存储软件程序以及模块,处理器308通过运行存储在存储器302的软件程序以及模块,从而执行各种功能应用以及数据处理。输入单元303可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
显示单元304可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
服务器还可包括至少一种传感器305,比如光传感器、运动传感器以及其他传感器。音频电路306包括扬声器,扬声器可提供用户与服务器之间的音频接口。
WiFi属于短距离无线传输技术,服务器通过WiFi模块307可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了WiFi模块307,但是可以理解的是,其并不属于服务器的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
处理器308是服务器的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器302内的软件程序和/或模块,以及调用存储在存储器302内的数据,执行服务器的各种功能和处理数据,从而对手机进行整体监控。
服务器还包括给各个部件供电的电源309(比如电池),优选的,电源可以通过电源管理系统与处理器308逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,服务器还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,服务器中的处理器308会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器302中,并由处理器308来运行存储在存储器302中的应用程序,从而实现以下功能:
通过用户态会话模块的用户态消息队列接收来自请求端的会话请求,所述会话请求用于请求与数据采集设备的会话,所述会话请求中包括所述请求端的请求标识和所述数据采集设备的设备标识;根据用户态会话模块的用户态会话线程从所述用户态消息队列中获取所述会话请求,根据所述请求标识生成所述会话请求对应的序列化请求对象,并将所述序列化请求对象发送至服务会话模块的序列化消息队列;根据所述服务会话模块的服务会话线程从所述序列化消息队列中获取所述序列化请求对象,并根据所述序列化请求对象中的设备标识,检测所述设备标识所对应的服务会话是否存在;若不存在,则生成所述设备标识对应的服务会话,并根据所述服务会话生成所述设备标识所对应的SIP请求对象,将所述SIP请求对象发送至SIP会话模块的SIP对象池;根据所述SIP会话模块的SIP会话线程从所述SIP对象池中获取所述SIP请求对象,并通过SIP协议栈将所述SIP请求对象发送至所述设备标识所对应的数据采集设备。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文的详细描述,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以实现以下功能:
通过用户态会话模块的用户态消息队列接收来自请求端的会话请求,所述会话请求用于请求与数据采集设备的会话,所述会话请求中包括所述请求端的请求标识和所述数据采集设备的设备标识;根据所述用户态会话模块的用户态会话线程从所述用户态消息队列中获取所述会话请求,根据所述请求标识生成所述会话请求对应的序列化请求对象,并将所述序列化请求对象发送至服务会话模块的序列化消息队列;根据所述服务会话模块的服务会话线程从所述序列化消息队列中获取所述序列化请求对象,并根据所述序列化请求对象中的设备标识,检测所述设备标识所对应的服务会话是否存在;若不存在,则生成所述设备标识对应的服务会话,并根据所述服务会话生成所述设备标识所对应的SIP请求对象,将所述SIP请求对象发送至SIP会话模块的SIP对象池;根据所述SIP会话模块的SIP会话线程从所述SIP对象池中获取所述SIP请求对象,并通过SIP协议栈将所述SIP请求对象发送至所述设备标识所对应的数据采集设备。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种会话管理方法及装置、服务器及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (10)
1.一种会话管理方法,其特征在于,应用于服务器中,所述服务器包括用户态会话模块、服务会话模块和SIP会话模块,所述会话管理方法,包括:
通过所述用户态会话模块的用户态消息队列接收来自请求端的会话请求,所述会话请求用于请求与数据采集设备的会话,所述会话请求中包括所述请求端的请求标识和所述数据采集设备的设备标识;
根据所述用户态会话模块的用户态会话线程从所述用户态消息队列中获取所述会话请求,根据所述请求标识生成所述会话请求对应的序列化请求对象,并将所述序列化请求对象发送至所述服务会话模块的序列化消息队列;
根据所述服务会话模块的服务会话线程从所述序列化消息队列中获取所述序列化请求对象,并根据所述序列化请求对象中的设备标识,检测所述设备标识所对应的服务会话是否存在;
若不存在,则生成所述设备标识对应的服务会话,并根据所述服务会话生成所述设备标识所对应的SIP请求对象,将所述SIP请求对象发送至SIP会话模块的SIP对象池,其中,一个设备标识对应一个服务会话;
根据所述SIP会话模块的SIP会话线程从所述SIP对象池中获取所述SIP请求对象,并通过SIP协议栈将所述SIP请求对象发送至所述设备标识所对应的数据采集设备。
2.根据权利要求1所述的会话管理方法,其特征在于,所述生成所述设备标识对应的服务会话的步骤,包括:
从空闲的服务会话组中确定一个空闲的服务会话;
根据所述序列化请求对象填充所述服务会话中的设备标识和请求列表,并更新所述服务会话中的会话状态,以得到所述设备标识对应的服务会话;
将所述服务会话添加至正在使用的服务会话组中。
3.根据权利要求1所述的会话管理方法,其特征在于,所述服务会话包括会话状态,所述根据所述服务会话生成所述设备标识所对应的SIP请求对象的步骤,包括:
获取所述服务会话的会话状态;
当所述会话状态为预设状态时,将所述序列化请求对象进行第一格式转换,以生成所述设备标识所对应的SIP请求对象,其中,所述预设状态为初始状态。
4.根据权利要求1所述的会话管理方法,其特征在于,所述根据所述请求标识生成所述会话请求对应的序列化请求对象的步骤,包括:
根据所述请求标识利用所述用户态会话线程生成所述会话请求对应的连接池句柄描述信息;
根据所述连接池句柄描述信息,对所述会话请求进行第一序列化,以得到所述会话请求对应的序列化请求对象。
5.根据权利要求1所述的会话管理方法,其特征在于,所述通过SIP协议栈将所述SIP请求对象发送至所述设备标识所对应的数据采集设备的步骤,包括:
通过所述SIP会话线程获取所述SIP请求对象之后,将所述SIP请求对象封装为SIP格式指令;
发送所述SIP格式指令至SIP格式指令队列中;
通过SIP协议栈从所述SIP格式指令队列中获取所述SIP格式指令,并将所述SIP格式指令发送至所述设备标识所对应的数据采集设备。
6.根据权利要求1所述的会话管理方法,其特征在于,所述服务会话包括SIP会话标识和请求列表,所述SIP会话标识是在所述SIP请求对象发送至SIP会话模块后更新所述服务会话得到,所述会话管理方法还包括:
通过所述SIP协议栈和所述SIP会话模块生成所述数据采集设备的SIP应答消息所对应的序列化应答对象;
所述服务会话模块根据所述序列化应答对象中的SIP会话标识确定对应的所述服务会话,并根据所述序列化应答对象将所述服务会话的服务地址和服务端口返回至所述请求列表中的所述序列化请求对象信息对应的请求端。
7.根据权利要求6所述的会话管理方法,其特征在于,所述通过所述SIP协议栈和所述SIP会话模块生成所述数据采集设备的SIP应答消息所对应的序列化应答对象的步骤,包括:
通过所述SIP协议栈接收所述数据采集设备的SIP应答消息;
将所述SIP应答消息进行第二格式转换,以得到所述SIP应答消息所对应的SIP应答对象;
将所述SIP应答对象发送至SIP对象池;
所述SIP会话模块的SIP会话线程从所述SIP对象池中获取所述SIP应答对象,并对所述SIP应答对象进行第二序列化,以得到序列化应答对象。
8.根据权利要求6所述的会话管理方法,其特征在于,所述序列化应答对象中包括原子序列号,所述请求列表中的所述序列化请求对象信息包括原子序列号和连接池句柄;所述根据所述序列化应答对象将所述服务会话的服务地址和服务端口返回至所述请求列表中的所述序列化请求对象信息对应的请求端的步骤,包括:
遍历请求列表,检测所述序列化应答对象中的原子序列号跟所述请求列表中的原子序列号是否一致;
若不存在一致,则从所述请求列表中删除对应的序列化请求对象信息,并丢弃所述序列化应答对象;
若存在一致,根据所述连接池句柄将所述服务会话中的媒体地址和服务端口返回至所述序列化请求对象信息对应的请求端。
9.一种服务器,其特征在于,所述服务器包括存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行程序时实现权利要求1至8任一项所述的会话管理方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述权利要求1至8任一项所述的会话管理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210585986.8A CN114679436B (zh) | 2022-05-27 | 2022-05-27 | 一种会话管理方法、服务器及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210585986.8A CN114679436B (zh) | 2022-05-27 | 2022-05-27 | 一种会话管理方法、服务器及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114679436A CN114679436A (zh) | 2022-06-28 |
CN114679436B true CN114679436B (zh) | 2022-08-30 |
Family
ID=82081054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210585986.8A Active CN114679436B (zh) | 2022-05-27 | 2022-05-27 | 一种会话管理方法、服务器及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114679436B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302618B (zh) * | 2023-05-17 | 2023-09-12 | 上海云脉芯联科技有限公司 | 一种会话信息处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904936A (zh) * | 2012-09-25 | 2013-01-30 | 北京小米科技有限责任公司 | 一种建立会话的方法、服务器、装置、系统及设备 |
CN110167190A (zh) * | 2018-02-14 | 2019-08-23 | 华为技术有限公司 | 会话建立方法和设备 |
CN111385666A (zh) * | 2020-03-04 | 2020-07-07 | 北京字节跳动网络技术有限公司 | 通信链路建立方法、装置、设备及存储介质 |
CN111556279A (zh) * | 2020-05-22 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 即时会话的监控方法和通信方法 |
CN113098985A (zh) * | 2021-06-02 | 2021-07-09 | 武汉中科通达高新技术股份有限公司 | 一种会话管理方法及调度服务器 |
WO2022001761A1 (zh) * | 2020-06-30 | 2022-01-06 | 华为技术有限公司 | 通信方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110875914B (zh) * | 2018-09-03 | 2022-06-07 | 中国移动通信有限公司研究院 | 一种基于共享会话链路传输消息的方法及装置 |
US11283846B2 (en) * | 2020-05-06 | 2022-03-22 | Spotify Ab | Systems and methods for joining a shared listening session |
-
2022
- 2022-05-27 CN CN202210585986.8A patent/CN114679436B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904936A (zh) * | 2012-09-25 | 2013-01-30 | 北京小米科技有限责任公司 | 一种建立会话的方法、服务器、装置、系统及设备 |
CN110167190A (zh) * | 2018-02-14 | 2019-08-23 | 华为技术有限公司 | 会话建立方法和设备 |
CN111385666A (zh) * | 2020-03-04 | 2020-07-07 | 北京字节跳动网络技术有限公司 | 通信链路建立方法、装置、设备及存储介质 |
CN111556279A (zh) * | 2020-05-22 | 2020-08-18 | 腾讯科技(深圳)有限公司 | 即时会话的监控方法和通信方法 |
WO2022001761A1 (zh) * | 2020-06-30 | 2022-01-06 | 华为技术有限公司 | 通信方法及装置 |
CN113098985A (zh) * | 2021-06-02 | 2021-07-09 | 武汉中科通达高新技术股份有限公司 | 一种会话管理方法及调度服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN114679436A (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566786B (zh) | 一种获取监控视频的方法、装置及终端设备 | |
CN111580995B (zh) | 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统 | |
CN113568884B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN111447185B (zh) | 一种推送信息的处理方法及相关设备 | |
CN109815025B (zh) | 一种业务模型调用方法、装置及存储介质 | |
CN110413418B (zh) | 缓存同步装置及方法,缓存同步系统、电子设备 | |
CN108200170A (zh) | 消息处理方法、装置及可读存储介质 | |
US20220171011A1 (en) | Positioning method and device, server, storage medium and terminal | |
CN114679436B (zh) | 一种会话管理方法、服务器及计算机可读存储介质 | |
CN110582998A (zh) | 群组的通信方法及装置、计算机存储介质、计算机设备 | |
CN111240858A (zh) | 事件调度方法及组件 | |
Xu et al. | Design of oneM2M-based fog computing architecture | |
CN111935177B (zh) | 一种业务控制方法及装置 | |
WO2018132557A1 (en) | Dynamic protocol switching | |
CN108924773B (zh) | 消息处理方法及装置 | |
CN113553206B (zh) | 数据事件执行方法、装置、电子设备和计算机可读介质 | |
CN112188245B (zh) | 一种前端摄像头实时视频点播方法及装置、电子设备 | |
CN111651146B (zh) | 一种函数生成方法、装置、设备和介质 | |
CN114338830A (zh) | 数据传输方法、装置、计算机可读存储介质及计算机设备 | |
CN112367297A (zh) | 一种业务控制方法及装置 | |
WO2020009797A1 (en) | Efficient resource representation exchange between service layers | |
CN114553928B (zh) | 一种业务处理方法以及装置、电子设备、介质 | |
CN112654021B (zh) | 一种设备间通信的方法、相关设备及系统 | |
CN112188244B (zh) | 一种前端摄像头实时视频点播方法及装置、电子设备 | |
CN113900976B (zh) | 联邦学习中dma连接建立方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |