流媒体服务器执行任务方法、装置及存储介质、终端设备制造方法及图纸

技术编号:21838766 阅读:18 留言:0更新日期:2019-08-10 20:25
本发明专利技术涉及开发辅助、服务管理技术领域,本申请实施例提供的一种流媒体服务器执行任务方法,包括:获取客户端发送的任务请求,解析所述任务请求获得任务执行链接;基于预设链接转换关系将所述任务执行链接替换为跳转链接;依据所述跳转链接确定内部任务,执行所述内部任务,获取与所述任务执行链接相对应的数据,将所述数据反馈给客户端。通过单线程和异步输入输出改变原有服务器为每一个用户访问链接建立线程的状况,避免服务器在多线程情况下的死锁、状态同步等问题。通过建立单线程,使得同样任务的事件能够在对应的单线程下排队进行,通过建立不同类型任务事件的线程,以便于流媒体服务器能够支持最大的同时链接用户量。

Streaming Media Server Task Execution Method, Device, Storage Media and Terminal Equipment

【技术实现步骤摘要】
流媒体服务器执行任务方法、装置及存储介质、终端设备
本专利技术涉及开发辅助、服务管理
,具体涉及一种流媒体服务器执行任务方法、装置及存储介质、终端设备。
技术介绍
传统流媒体服务器在用户访问时,需要为每个用户链接创建了一个线程,即通过多线程的方式实现用户访问量的增加,但每个线程大约要耗费2M的内存,如果一个16G内存的服务器,最多能承载8000个左右的用户,所以服务器怎么支持最大的同时链接用户量就成了一个问题;同时,多线程会出现服务器同时执行多个用户访问的事件,在用户访问量较大时,创建的线程多,会容易出现多线程死锁、状态同步等问题。另外,传统流媒体服务器没有很好的后台和权限管理功能,缺少对用户分权分域和采集设备的管控,无法满足用户日益增长的产品需求;系统功能模块耦合度紧密,对于功能扩展和维护难度大,不易上手。
技术实现思路
为克服以上技术问题,特别是多线程容易出现死锁、状态同步的问题,特提出以下技术方案:本专利技术实施例提供的一种流媒体服务器执行任务方法,包括:获取客户端发送的任务请求,解析所述任务请求获得任务执行链接;基于预设链接转换关系将所述任务执行链接替换为跳转链接;依据所述跳转链接确定内部任务,执行所述内部任务,获取与所述任务执行链接相对应的数据,将所述数据反馈给客户端。可选地,所述方法基于NodeJS构建的流媒体服务器框架实现。可选地,所述基于预设链接转换关系将所述任务执行链接替换为跳转链接,包括:提取所述任务执行链接中所携带的任务执行协议;基于所述预设链接转换关系中的协议映射关系获取所述任务执行协议对应的跳转协议;依据所述跳转协议和所述任务执行链接将所述任务执行链接替换为所述跳转链接。可选地,所述获取客户端发送的任务请求之后,包括:建立检测所述任务请求执行时间的时间检测器;基于所述时间检测器检测到的时间确定当前所述任务请求的执行空段。可选地,所述基于所述时间检测器检测到的时间确定当前所述任务请求的执行空段之后,包括:在当前所述任务请求到达所述执行空段时,获取已触发的其他线程中的未执行事件;在所述执行空段的时间段内,执行其他线程中的所述未执行事件。可选地,所述执行其他线程中的所述未执行事件之后,包括:接收当前所述任务请求的数据,暂停正在执行的其他线程中的所述未执行事件。可选地,所述接收当前所述任务请求的数据之后,还包括:基于NodeJS构建的流媒体服务器框架获取当前所述任务请求与正执行事件对应的用户与权限的关联关系,对比当前所述任务请求与所述正执行事件对应的用户权限;在当前所述任务请求对应的用户权限高于所述正执行事件对应的用户权限时,暂停正在执行的其他线程中的所述未执行事件;在当前所述任务请求对应的用户权限低于所述正执行事件对应的用户权限时,继续执行正在执行的其他线程中的所述正执行事件。可选地,所述基于NodeJS构建的流媒体服务器框架获取当前所述任务请求与正执行事件对应的用户与权限的关联关系之后,还包括:获取用户的权限使用数据和权限置信阈值,依据所述使用数据确定用户的权限置信值;依据所述权限置信值和所述权限置信阈值对用户的权限进行调整。本专利技术实施例还提供了一种流媒体服务器执行任务装置,包括:解析模块,用于获取客户端发送的任务请求,解析所述任务请求获得任务执行链接;替换模块,用于基于预设链接转换关系将所述任务执行链接替换为跳转链接;反馈模块,用于依据所述跳转链接确定内部任务,执行所述内部任务,获取与所述任务执行链接相对应的数据,将所述数据反馈给客户端。本专利技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现任一技术方案所述的流媒体服务器执行任务方法。本专利技术实施例还提供了一种终端设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据任一技术方案所述的流媒体服务器执行任务方法的步骤。本专利技术与现有技术相比,具有以下有益效果:1、本申请实施例提供的一种流媒体服务器执行任务方法,包括:获取客户端发送的任务请求,解析所述任务请求获得任务执行链接;基于预设链接转换关系将所述任务执行链接替换为跳转链接;依据所述跳转链接确定内部任务,执行所述内部任务,获取与所述任务执行链接相对应的数据,将所述数据反馈给客户端。在本申请中通过NodeJS构建的流媒体服务器框架实现流媒体服务器,通过修改客户端到服务器端的链接方法,将该链接对应的任务转换成服务器内部任务,进而提高了服务器并发能力,同时通过NodeJS构建的流媒体服务器框架属于前后端分离状态,利用单线程,远离多线程死锁、状态同步等问题。2、本申请实施例提供的一种流媒体服务器执行任务方法,在服务器内部执行当前任务的工作进程不能得到及时的结果时,可以用于去执行其他线程的业务,即通过异步非阻塞机制提高流媒体服务器并发能力,同时降低服务器的耦合度,因此,在流媒体服务器中的每个工作进程均使用异步非阻塞方式,可以处理多个客户端请求。本专利技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术流媒体服务器执行任务方法的典型实施例中一种实施方式的流程示意图;图2为本专利技术流媒体服务器执行任务装置的典型实施例的结构示意图;图3为本专利技术服务器的一实施例结构示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。本
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本专利技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。本领域技术人员应当理解,本专利技术所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。本申请实施例提供的一种流媒体服务器执行任务方法,在其中一种实施方式中,如图1所示,包括:S100、S200、S300。S100:获取客户端发送的任务请求,解析所述任务请求获得任务执行链接;S200:基于预设链接转换关系将所述任务执行链接替换为跳转链接;S300:依据所述本文档来自技高网
...

【技术保护点】
1.一种流媒体服务器执行任务方法,其特征在于,包括:获取客户端发送的任务请求,解析所述任务请求获得任务执行链接;基于预设链接转换关系将所述任务执行链接替换为跳转链接;依据所述跳转链接确定内部任务,执行所述内部任务,获取与所述任务执行链接相对应的数据,将所述数据反馈给客户端。

【技术特征摘要】
1.一种流媒体服务器执行任务方法,其特征在于,包括:获取客户端发送的任务请求,解析所述任务请求获得任务执行链接;基于预设链接转换关系将所述任务执行链接替换为跳转链接;依据所述跳转链接确定内部任务,执行所述内部任务,获取与所述任务执行链接相对应的数据,将所述数据反馈给客户端。2.根据权利要求1所述的流媒体服务器执行任务方法,其特征在于,所述基于预设链接转换关系将所述任务执行链接替换为跳转链接,包括:提取所述任务执行链接中所携带的任务执行协议;基于预设协议映射关系获取所述任务执行协议对应的跳转协议;依据所述跳转协议和所述任务执行链接将所述任务执行链接替换为所述跳转链接。3.根据权利要求1所述的流媒体服务器执行任务方法,其特征在于,所述获取客户端发送的任务请求之后,包括:建立检测所述任务请求执行时间的时间检测器;基于所述时间检测器检测到的时间确定当前所述任务请求的执行空段。4.根据权利要求3所述的流媒体服务器执行任务方法,其特征在于,所述基于所述时间检测器检测到的时间确定当前所述任务请求的执行空段之后,包括:在当前所述任务请求到达所述执行空段时,获取已触发的其他线程中的未执行事件;在所述执行空段的时间段内,执行其他线程中的所述未执行事件。5.根据权利要求4所述的流媒体服务器执行任务方法,其特征在于,所述执行其他线程中的所述未执行事件之后,包括:接收当前所述任务请求的数据,暂停正在执行的其他线程中的所述未执行事件。6.根据权利要求5所述的流媒体服务器执行任务方法,其特征在于,所述接收当前所述任务请求的数据之后,还包括:基于NodeJS构建的流媒体服务器框架获取当...

【专利技术属性】
技术研发人员:马潜高勇
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1