CN103729189B - 基于lua的播放协议转换方法、***、终端 - Google Patents
基于lua的播放协议转换方法、***、终端 Download PDFInfo
- Publication number
- CN103729189B CN103729189B CN201310754961.7A CN201310754961A CN103729189B CN 103729189 B CN103729189 B CN 103729189B CN 201310754961 A CN201310754961 A CN 201310754961A CN 103729189 B CN103729189 B CN 103729189B
- Authority
- CN
- China
- Prior art keywords
- messaging protocol
- lua
- broadcasting
- control
- agreement
- 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
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开一种基于LUA的播放协议转换方法,包括:S101、调用M2M模块启用导入的LUA插件包;S102、在LUA插件包中实现与第三方***或设备的通信连接;S103、解析播放消息协议或控制消息协议,并根据协议描述到指定的服务器下载素材文件;S104、调用LUA模板引擎把抽取的数据与对应的模板做为参数传入到LUA模板引擎的入口函数,输出转换后的播放消息协议或控制消息协议;S105、把转换后的播放消息协议控制消息协议通过发送播放或控制消息接口发送至终端应用层;S106、终端应用层根据接收到的转换后的播放消息协议或控制消息协议的协议描述加载素材文件进行相应的动作。本发明公开一种基于LUA的播放消息协议转换终端及***。
Description
技术领域
本发明涉及一种基于LUA的播放协议转换方法、***、终端。
背景技术
现有的联网版终端在对接第三方***或设备时,用C程序开发存在如下两个问题:
1.测试及BUG排查过程繁琐:
由于嵌入式设备所采用的芯片一般是ARM、MIPSE架构,所以嵌入式开发过程是在LINUX***通过交叉编译链对C程序进行编译,然后再编译后的生成的各个库文件挂接到嵌入式设备中运行,修改完BUG后要对程序验证,步骤一般是:运行交叉编译程序,执行挂载开发环境,运行主函数三个步骤,每次修改一个小问题,都得重复执行上述几个步骤,对于测试、BUG排查是相当的费时的。
2.在嵌入式设备实现对多种API协议的兼容性往往开发效率不高:
嵌入式设备在实现对多个API协议进行对接,就需要在嵌入式设备程序通过C程序实现对多种API协议的实现,从程序维护角度讲,在程序嵌入对接各种API功能,程序模块耦合性高,给以后代码维护,软件升级增加的难度。从开发效率来讲,在业务逻辑的实现往往采用动态语言(lua)会比采用过程式语言(c)开发效率高,利用动态语言的特性如内存回收特征可以避免C语言内存泄露问题,带来问题排查的复杂性。
发明内容
为解决现有技术终端在对接第三方***或设备时,用C程序开发产生的测试不方便,bug排查过程繁琐、在嵌入式设备实现对多种API协议的兼容性开发效率不高的技术缺陷,本发明提供一种基于LUA的播放协议转换方法及***,使用开发的LUA插件包实现协议的转换,可以支持多种播放消息协议的效果。
本发明采用的一个技术方案是:
提供一种基于LUA的播放协议转换方法,包括步骤:导入LUA插件包,并与第三方***或设备建立通信连接,插件包中包含播放类模板和控制类模板,播放类模板和控制类模板是通过将播放消息协议和控制消息协议中的数据抽取出来用对应变量名称替换生成;按照解析规则解析第三方***或设备发送的播放消息协议或控制消息协议,从解析出的播放信息或控制信息中抽取数据;将抽取的数据填充到模板中对应变量名的相应位置,生成转换后的播放消息协议或控制消息协议并将其发送至终端应用层。
该一种基于LUA的播放协议转换方法,包括:S101、调用M2M模块启用导入的LUA插件包,插件包中包含播放类模板和控制类模板,播放类模板和控制类模板是通过将播放消息协议和控制消息协议中的数据抽取出来用对应变量名称替换生成;S102、在LUA插件包中实现与第三方***或设备的通信连接;S103、当LUA插件包接收到第三方***或设备发送的播放消息协议或控制消息协议时,根据协议描述判定消息类型是播放类型还是控制类型,按照解析规则解析播放消息协议或控制消息协议,并根据协议描述到指定的服务器下载素材文件;S104、从解析出的播放信息或控制信息中抽取数据,然后根据消息类型寻找对应的协议模板,再调用LUA模板引擎把抽取的数据与对应的模板做为参数传入到LUA模板引擎的入口函数,通过入口函数输出转换后的播放消息协议或控制消息协议;S105、调用M2M模块的发送播放或控制消息接口,把转换后的播放消息协议或控制消息协议通过发送播放或控制消息接口发送至终端应用层;S106、终端应用层根据接收到的转换后的播放消息协议或控制消息协议的协议描述加载素材文件进行相应的动作。
本发明采用的另一个技术方案是:
提供一种基于LUA的播放消息协议或控制消息协议转换终端,包括M2M模块,还包括:启用模块,用于调用M2M模块启用导入的LUA插件包,插件包中包含播放类模板和控制类模板,播放类模板和控制类模板是通过将播放消息协议和控制消息协议中的数据抽取出来用对应变量名称替换生成;通信模块,用于在LUA插件包中实现与第三方***或设备的通信连接;解析和下载模块,用于当LUA插件包接收到第三方***或设备发送的播放消息协议或控制消息协议时,根据协议描述判定消息类型是播放类型还是控制类型,按照解析规则解析播放消息协议或控制消息协议,并根据协议描述到指定的服务器下载素材文件;协议转换模块,用于从解析出的播放信息或控制信息中抽取数据,然后根据消息类型寻找对应的协议模板,再调用LUA模板引擎把抽取的数据与对应的模板做为参数传入到LUA模板引擎的入口函数,通过入口函数输出转换后的播放消息协议或控制消息协议;协议发送模块,用于调用M2M模块的发送播放或控制消息接口,把转换后的播放消息协议或控制消息协议通过发送播放或控制消息接口发送至终端应用层;播放执行模块,用于控制终端应用层根据接收到的转换后的播放消息协议或控制消息协议的协议描述加载素材文件进行相应的动作。
本发明采用的另一个技术方案是:
提供一种基于LUA的播放消息协议或控制消息协议转换***,包括第三方***以及与第三方***通信连接的至少一个终端,所述终端是所述的基于LUA的播放消息协议或控制消息协议转换终端,所述第三方***用于发送播放消息协议或控制消息协议至所述终端。
本发明的有益效果是:区别于现有技术中,终端在对接第三方***或设备时,用C程序开发产生的测试不方便,bug排查过程繁琐、在嵌入式设备实现对多种API协议的兼容性开发效率不高的技术缺陷,本发明提供一种基于LUA的播放协议转换方法、***、终端,使用开发的LUA插件包实现协议的转换,将各类协议抽象为模板,通过对第三方设备或***的协议解析将控制或播放信息填入模板得到转换后的协议,然后终端根据转换后的协议实现播放,通过插件的形式导入到终端,可以支持多种播放消息协议的效果。
附图说明
图1是本发明一实施方式中一种基于LUA的播放协议转换方法的执行流程图;
图2是本发明一实施方式中一种LUA的播放消息协议转换***的***框图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
LUA是一个小巧的脚本语言,该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。LUA脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得LUA在应用程序中可以被广泛应用。不仅仅的协议描述加载素材文件进行相应的动作扩展脚本,也可以的协议描述加载素材文件进行相应的动作普通的配置文件,代替XML、Ini等文件格式,并且更容易理解和维护。
LUA由标准C编写而成,代码简洁优美,几乎在所有操作***和平台上都可以编译、运行。一个完整的LUA解释器不过200k,在目前所有脚本引擎中,LUA的速度是最快的。这一切都决定了LUA是的协议描述加载素材文件进行相应的动作嵌入式脚本的最佳选择。
本发明提供一种基于LUA的播放协议转换方法,该方法主要包括如下步骤:
(1)、导入LUA插件包,并与第三方***或设备建立通信连接,插件包中包含播放类模板和控制类模板,播放类模板和控制类模板是通过将播放消息协议和控制消息协议中的数据抽取出来用对应变量名称替换生成;
(2)、按照解析规则解析第三方***或设备发送的播放消息协议或控制消息协议,从解析出的播放信息和控制信息中抽取数据;
(3)、将抽取的数据填充到模板中对应变量名的相应位置,生成转换后的播放消息协议或控制消息协议并将其发送至终端应用层。
下面对上述方法的具体实施方式通过实例予以详述。
一、首先,对本发明LUA插件包结构与M2M结构、LUA开发流程以及终端与第三方***或设备的对接实例加以说明,
(一)、LUA插件包结构与M2M结构:
终端与第三方***或其它设备对接实现,是由终端的M2M去装载终端LUA插件包,对接的业务逻辑实现都放入LUA插件包。
下面对于LUA插件包结构进行说明:
1、LUA插件包的格式:DMB_plugin_name-version.plugin
如:DMB_plugin_his-1.0.plugin
2、插件包文件目录结构
plugin
lua存放lua脚本
lib存放引用的库
LUA主程序脚本文件名称:init.lua
function start()//m2m调用LUA脚本,用于启用LUA插件的入口
function close()//m2m用于停止LUA脚本的运行
function realtimeComplete()//m2m通知lua插件实时表格已下载完成
3、M2M加载与卸载LUA插件包的方式:
LUA插件包可以看作是对终端功能的增加,管理平台下发LUA插件包给终端是按终端升级协议,
在终端升级模块接收到升级消息时,从FTP下载文件并根据文件名规则,例如是否DMB_PLUGIN开头来判断是否是LUA插件包,若是则通知M2M模块进行处理,其中,管理平台是用于管理与控制终端的软件***,管理平台可以是终端所属***,也可以是第三方***。M2M处理流程如下:
(1)解压LUA插件包到/root/dmb/temp/
(2)按照文件名规则截取压缩包的文件名称,如截取DMB_plugin_his-1.0.plugin取出“-”字符前的部份,即取出DMB_plugin_his,根据截取的字符串,到/tmp/dmb/plugin目录寻找是否存在以截取的字符串开头的文件名,若是,停止结构体的对应的插件名线程并删除旧的LUA插件包,若否,则把LUA插件包拷贝到/tmp/dmb/plugin/目录下。
(3)M2M有维护结构体数组,结构体:
终端在启动时,开启M2M扫描线程,M2M扫描线程问隔5秒去扫描/tmp/dmb/plugin目录,M2M每加载LUA插件包就启用一个新线程,并更新dmb_lua_config_item;结构体的值。
扫描线程遍历plugin目录列表名并将列表名与M2M插件包结构体的dmb_lua_name的值进行对比,对插件包进行加载和卸载使结构体dmb_lua_name的值等于plugin目录列表名;
例如:
a)plugin目录下有dmb_lua_A_1.0与dmb_lua_B_1.0,结构体数组只有dmb_lua_A_1.0,则M2M加载dmb_lua_B_1.0插件包。
b)plugin目录下有dmb_lua_A_1.0,结构体数组有两个元素dmb_lua_A_1.0,dmb_lua_B_1.0则M2M卸载dmb_lua_B_1.0插件包
(二)、LUA开发流程
1、把终端涉及到的播放消息协议与控制消息协议分别以协议模板的方式放在LUA插件包的文件夹下;
2、在LUA插件包的init.lua脚本入口函数中开启监听端口或打开设备,并开启一个LUA线程,一直扫描监听端口或设备;
3、当监听端口或设备有数据传递时,接收数据并把接收到的数据传递给LUA消息解析模块;
4、LUA消息解析模块接收到消息时,根据协议描述判定消息的类型是播放类型还是控制类型,按事先约定的包含消息格式的含义的解析规则解析消息协议,抽取消息中的数据,如播放时间、播放素材文件名称等,然后根据消息类型寻找对应的协议模板,再调用LUA模板引擎,把抽取的数据与对应的模板做为参数传入到LUA模板引擎的入口函数,入口函数输出是具体的播放消息协议或控制消息协议,此协议是XML格式;
5、调用M2M的发送播放或控制消息接口sendplaylist,把模板引擎生成的消息协议的协议描述加载素材文件进行相应的动作参数给sendplaylist,此时终端应用层根据接收到的播放消息协议或控制消息协议的协议描述加载素材文件进行相应的动作。
(三)、对接的实例
下面以对接终端通过与HIS的***对接实现排队叫号显示功能为例说明LUA插件包实现协议转换的过程:
LUA插件包实现接口协议采用http+xml,LUA插件包会启用httpServer做为服务端,HIS***通过HTTP协议把数据发送到httpServer端。HIS科室叫号协议:
LUA插件包接收到HIS***的排队叫号协议时,LUA解析模块解析消息头,查询XML根节点是否是<quueu>元素,根据双方约定的根节点是queue时,则表示是科室排队号播放消息协议,则LUA插件包读取播放消息协议模板,在<params>寻找是否有queue,如果寻找到刚表示是科室排队叫号的模板。LUA解析模块解析科室叫号协议,取出医生信息、正在就诊患者信息、候诊患者信息,调用LUA模板引擎把播放消息协议模板与抽取的数据与模板中对应的属性变量名进行匹配,然后将抽取的数据填充模板中与对应变量名相应的位置,最后生成包含抽取的数据的播放信息协议。
二、基于以上原理及实例,下面对本发明的基于LUA的播放协议转换方法及***进行详细阐述。
请参阅图1,是本发明一实施方式中一种基于LUA的播放协议转换方法的执行流程图。该基于LUA的播放协议转换方法包括以下步骤:
步骤S101、调用M2M模块启用导入的LUA插件包,插件包中包含播放类模板和控制类模板,播放类模板和控制类模板是通过将播放消息协议和控制消息协议中的数据抽取出来用对应变量名称替换生成的。
把包含具体播放数据的播放消息协议抽象成播放模板,模板是以XML来描述的,控制类模板用于播放控制,如控制音量大小、工作时间、开关机等。播放类模板用于控制播放内容与播放区域。比如,播放某张广告图片播放时间10分钟,就把涉及播放时间都抽象成时间变量,在生成播放消息协议时把时间变量替换成具体的播放时间,即把播放消息协议中涉及到具体的播放数据都抽取出来用对应变量名称替换。
步骤S102、在LUA插件包中实现与第三方***或设备的通信连接。
步骤S103、当LUA插件包接收到第三方***或设备发送的播放消息协议或控制消息协议时,根据协议描述判定消息类型是播放类型还是控制类型,按照解析规则解析播放消息协议或控制消息协议,并根据协议描述到指定的服务器下载素材文件。
解析规则是业务逻辑中要包括的数据,是对接的终端与第三方***或设备约定的对第三方播放消息协议或控制消息协议的解析规则,协议的结构一般都是以XML形式来组织的,描述信息属于协议的一部份,描述信息包括要播放的素材(文本、图片、视频)、播放时间、播放速度、播放方式、是否播放特效。比如在XML中描述一张图片播放多长时间、使用什么特效,程序在解析时取出对应的数据即可。
步骤S104、从解析出的播放信息和控制信息中抽取数据,然后根据消息类型寻找对应的协议模板,再调用LUA模板引擎把抽取的数据与对应的模板做为参数传入到LUA模板引擎的入口函数,通过入口函数输出转换后的播放消息协议或控制消息协议,此协议是XML格式。
播放信息包括开始播放时间、播放结束时间、播放时长、播放素材文件的名称、素材文件的来源(FTP下载或HTTP下载)、播放的模式(循环播放、插播)、素材文件播放的区域坐标。控制信息包括音量大小、开始工作时间、开始工作结束时间、下载时间、开关机、重启指令。抽取规则是第三方厂家与对接方终端预先协商的播放信息或控制信息中XML各个节点所表示的业务数据含义,对接方终端根据播放模板中所要求的数据,从播放信息或控制信息中取得对应的数据。
步骤S105、调用M2M模块的发送播放或控制消息接口,把转换后的播放消息协议控制消息协议通过发送播放或控制消息接口发送至终端。
步骤S106、终端应用层根据接收到的转换后的播放消息协议或控制消息协议的协议描述加载素材文件进行相应的动作。
在本实施方式中,在LUA插件包中实现与第三方***的通信连接具体包括步骤:
步骤S1021、在LUA插件包启动时,调用作为HTTP或SOCKET连接器的LUA脚本,根据配置的IP端口连接至第三方***;
步骤S1022、每隔一预设间隔时长接收第三方***发送的心跳包并对心跳包进行解析查看心跳包信息描述是否有播放任务更新消息;
步骤S1023、如果查到有任务更新消息时,终端发送查询信息给第三方***,查询信息用于查询任务更新协议;
步骤S1024、接收第三方***发送的播放任务更新协议,所述播放任务更新协议为播放消息协议或控制消息协议。
在本实施方式中,所述步骤S107后还包括步骤:
步骤S108、在播放完成后发送回复消息至第三方***。
下面通过实施例分别说明如何实现终端与第三方***的播放消息协议的对接和终端与第三方设备的播放消息协议的对接。
例如,第三方***有约定一套自有的播放消息协议,当终端通过HTTP或SOCKET的方式与第三方***对接时,需要把第三方的播放消息协议转换成终端的播放消息协议,转换过程具体为:在第三方***进行播放任务的编排并把编排后的任务下发给终端,通过在心跳包信息描述有播放任务更新的消息。终端每接收到心跳包的消息时,都进行心跳包解析,并查看心跳包XML是否有任务更新消息的描述;如果查到有任务更新消息描述,终端发送用于查询任务更新的协议的查询信息给第三方***;第三方***把有关任务播放XML的描述信息通过HTTP的方式推送给终端。终端通过调用LUA协议解析脚本,把接收到任务播放的XML消息作为参数传给LUA解析脚本,解析脚本按双方约定的规则进行对任务播放消息进行解析,抽取播放开始时间,播放结束时间,播放时长,到指定的服务器通过HTTP下载播放素材图片,文本,视频。然后把抽取的数据填充到终端的任务播放消息协议模板中,由模板引擎去生具体的对应的任务播放消息协议,然后LUA调用M2M的sendPlaylist接口,把生成的任务播放XML消息做为参数传给sendPlaylist接口,从而达到在不用重新开发一套播放消息协议,就对实现对第三方***的播放消息协议的转换成终端支持的播放消息协议的效果。
例如,第三方设备通过网络或串口与终端直接进行数据对接时,第三方设备需要把业务数据直接显示在终端的屏幕上,转换过程具体为:终端到素材库下载素材模板;终端在启动的时候,由终端的M2M模块负责启用LUA插件包;LUA插件包启动时,开启串口通信或打开网络连接服务;LUA插件包主动通过网络或串口获取数据或第三方设备主动发送数据给LUA插件包;LUA插件包根据接收到的数据内容分析此数据对应要显示的素材模板类别,取出素材模板;把获取到的数据经过处理后填入素材模板,生成要显示播放的素材内容;由LUA脚本调用M2M的播放控制接口,把素材内容发送给终端,由终端实现播放内容。
本发明还提供一种基于LUA的播放消息协议转换***,该基于LUA的播放消息协议转换***包括第三方***以及与第三方***通信连接的至少一个终端,所述终端是基于LUA的播放消息协议转换终端,上述LUA的播放消息协议转换方法应用于该***中。
请参阅图2,是本发明一实施方式中一种LUA的播放消息协议转换***的***框图。所述基于LUA的播放消息协议转换终端包括启用模块、通信模块、解析和下载模块、协议转换模块、协议发送模块、播放执行模块。
启用模块用于调用M2M模块启用导入的LUA插件包,插件包中包含播放类模板和控制类模板,播放类模板和控制类模板是通过将播放消息协议和控制消息协议中的数据抽取出来用对应变量名称替换生成。
通信模块用于在LUA插件包中实现与第三方***或设备的通信连接。
解析和下载模块用于当LUA插件包接收到第三方***或设备发送的播放消息协议或控制消息协议时,根据协议描述判定消息类型是播放类型还是控制类型,按照解析规则解析播放消息协议或控制消息协议,并根据协议描述到指定的服务器下载素材文件。
协议转换模块用于从解析出的播放信息和控制信息中抽取数据,然后根据消息类型寻找对应的协议模板,再调用LUA模板引擎把抽取的数据与对应的模板做为参数传入到LUA模板引擎的入口函数,通过入口函数输出转换后的播放消息协议或控制消息协议。
协议发送模块用于调用M2M模块的发送播放或控制消息接口,把转换后的播放消息协议控制消息协议通过发送播放或控制消息接口发送至终端应用层。
播放执行模块用于控制终端应用层根据接收到的转换后的播放消息协议或控制消息协议的协议描述加载素材文件进行相应的动作。
在本实施方式中,所述播放信息包括开始播放时间、播放结束时间、播放时长、播放素材文件的名称、素材文件的来源、播放的模式、素材文件播放的区域坐标;所述控制信息包括音量大小、开始工作时间、开始工作结束时间、下载时间、开关机、重启指令。
在本实施方式中,所述通信模块具体包括第一连接子模块、第二连接子模块、查询子模块以及接收子模块。第一连接子模块用于在LUA插件包启动时,调用作为HTTP或SOCKET连接器的LUA脚本,根据配置的IP端口连接至第三方***。第二连接子模块用于每隔一预设间隔时长向第三方***发送心跳包,并对心跳包进行解析查看心跳包信息描述是否有播放任务更新消息;查询子模块用于当查询子模块查到有任务更新消息时,发送查询信息给第三方***,查询信息用于查询任务更新协议。接收子模块用于接收第三方***发送的播放任务更新协议,所述播放任务更新协议为播放消息协议或控制消息协议。
在本实施方式中,所述的一种基于LUA的播放消息协议转换终端还包括回复模块,用于当所述播放执行模块在播放完成后发送回复消息至第三方***。
本发明的有益效果是:区别于现有技术中,终端在对接第三方***或设备时,用C程序开发产生的测试不方便,bug排查过程繁琐、在嵌入式设备实现对多种API协议的兼容性开发效率不高的技术缺陷,本发明提供一种基于LUA的播放协议转换方法、***、终端,使用开发的LUA插件包实现协议的转换,将各类协议抽象为模板,通过对第三方设备或***的协议解析将控制或播放信息填入模板得到转换后的协议,然后终端根据转换后的协议实现播放,通过插件的形式导入到终端,可以支持多种播放消息协议的效果。具体地,本发明的有益效果如下:
1、首先降低了技术门槛,不需要懂嵌入式上的各种开发技术,只需要编写LUA脚本,接口约定即可。
2、通过插件的形式导入到终端,业务逻辑层次在逻辑上是分开的,对于问题的排查,定位变得容易。通过LUA插件包的方式,从软件的角度不会破坏应用层的逻辑,反而是对应用层的很好的扩展与补充,以快速的响应市场上多种***或设备的对接要求。
3、实现热插拔,LUA插件包的导入与删除无启重启终端。
4、实现终端的开放性,只需要告诉第三方厂家的LUA插件包的接口,可由第三方厂家实现开发满足要求的功能插件包,LUA插件包所要求的M2M提供的接口,又能促进嵌入式终端底层的接口的友好性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于LUA的播放协议转换方法,其特征在于,包括:
导入LUA插件包,并与第三方***或设备建立通信连接,插件包中包含播放类模板和控制类模板,播放类模板和控制类模板是通过将播放消息协议和控制消息协议中的数据抽取出来用对应变量名称替换生成;
按照解析规则解析第三方***或设备发送的播放消息协议或控制消息协议,从解析出的播放信息或控制信息中抽取数据;
将抽取的数据填充到模板中对应变量名的相应位置,生成转换后的播放消息协议或控制消息协议并将其发送至终端应用层。
2.根据权利要求1所述的一种基于LUA的播放协议转换方法,其特征在于,其具体包括:
S101、调用M2M模块启用导入的LUA插件包;
S102、在LUA插件包中实现与第三方***或设备的通信连接;
S103、当LUA插件包接收到第三方***或设备发送的播放消息协议或控制消息协议时,根据协议描述判定消息类型是播放类型还是控制类型,按照解析规则解析播放消息协议或控制消息协议,并根据协议描述到指定的服务器下载素材文件;
S104、从解析出的播放信息或控制信息中抽取数据,然后根据消息类型寻找对应的协议模板,再调用LUA模板引擎把抽取的数据与对应的模板做为参数传入到LUA模板引擎的入口函数,通过入口函数输出转换后的播放消息协议或控制消息协议;
S105、调用M2M模块的发送播放或控制消息接口,把转换后的播放消息协议或控制消息协议通过发送播放或控制消息接口发送至终端应用层;
S106、终端应用层根据接收到的转换后的播放消息协议或控制消息协议的协议描述加载素材文件进行相应的动作。
3.根据权利要求2所述的一种基于LUA的播放协议转换方法,其特征在于,在LUA插件包中实现与第三方***的通信连接具体包括步骤:
在LUA插件包启动时,调用作为HTTP或SOCKET连接器的LUA脚本,根据配置的IP端口连接至第三方***;
每隔一预设间隔时长接收第三方***发送的心跳包,并对心跳包进行解析查看心跳包信息描述是否有播放任务更新消息;
当查到有任务更新消息时,终端发送查询信息给第三方***,查询信息用于查询任务更新协议;
接收第三方***发送的播放任务更新协议,所述播放任务更新协议为播放消息协议或控制消息协议。
4.根据权利要求2所述的一种基于LUA的播放协议转换方法,其特征在于,所述“终端应用层根据接收到的转换后的播放消息协议或控制消息协议的协议描述加载素材文件进行相应的动作”后还包括步骤:在播放完成后发送回复消息至第三方***。
5.根据权利要求2所述的一种基于LUA的播放协议转换方法,其特征在于,所述播放信息包括开始播放时间、播放结束时间、播放时长、播放素材文件的名称、素材文件的来源、播放的模式、素材文件播放的区域坐标;所述控制信息包括音量大小、开始工作时间、开始工作结束时间、下载时间、开关机、重启指令。
6.一种基于LUA的播放消息协议或控制消息协议转换终端,包括M2M模块,其特征在于,还包括:
启用模块,用于调用M2M模块启用导入的LUA插件包,插件包中包含播放类模板和控制类模板,播放类模板和控制类模板是通过将播放消息协议和控制消息协议中的数据抽取出来用对应变量名称替换生成;
通信模块,用于在LUA插件包中实现与第三方***或设备的通信连接;
解析和下载模块,用于当LUA插件包接收到第三方***或设备发送的播放消息协议或控制消息协议时,根据协议描述判定消息类型是播放类型还是控制类型,按照解析规则解析播放消息协议或控制消息协议,并根据协议描述到指定的服务器下载素材文件;
协议转换模块,用于从解析出的播放信息或控制信息中抽取数据,然后根据消息类型寻找对应的协议模板,再调用LUA模板引擎把抽取的数据与对应的模板做为参数传入到LUA模板引擎的入口函数,通过入口函数输出转换后的播放消息协议或控制消息协议;
协议发送模块,用于调用M2M模块的发送播放或控制消息接口,把转换后的播放消息协议或控制消息协议通过发送播放或控制消息接口发送至终端应用层;
播放执行模块,用于控制终端应用层根据接收到的转换后的播放消息协议或控制消息协议的协议描述加载素材文件进行相应的动作。
7.根据权利要求6所述的一种基于LUA的播放消息协议或控制消息协议转换终端,其特征在于,所述通信模块具体包括:
第一连接子模块,用于在LUA插件包启动时,调用作为HTTP或SOCKET连接器的LUA脚本,根据配置的IP端口连接至第三方***;
第二连接子模块,用于每隔一预设间隔时长接收第三方***发送的心跳包,并对心跳包进行解析查看心跳包信息描述是否有播放任务更新消息;
查询子模块,用于当查询子模块查到有任务更新消息时,发送查询信息给第三方***,查询信息用于查询任务更新协议;
接收子模块,用于接收第三方***发送的播放任务更新协议,所述播放任务更新协议为播放消息协议或控制消息协议。
8.根据权利要求6所述的一种基于LUA的播放消息协议或控制消息协议转换终端,其特征在于,还包括回复模块,用于当所述播放执行模块在播放完成后发送回复消息至第三方***。
9.根据权利要求6所述的一种基于LUA的播放消息协议或控制消息协议转换终端,其特征在于,所述播放信息包括开始播放时间、播放结束时间、播放时长、播放素材文件的名称、素材文件的来源、播放的模式、素材文件播放的区域坐标;所述控制信息包括音量大小、开始工作时间、开始工作结束时间、下载时间、开关机、重启指令。
10.一种基于LUA的播放消息协议或控制消息协议转换***,其特征在于,包括第三方***以及与第三方***通信连接的至少一个终端,所述终端是权利要求6-9任意一项所述的基于LUA的播放消息协议或控制消息协议转换终端,所述第三方***用于发送播放消息协议或控制消息协议至所述终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310754961.7A CN103729189B (zh) | 2013-12-31 | 2013-12-31 | 基于lua的播放协议转换方法、***、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310754961.7A CN103729189B (zh) | 2013-12-31 | 2013-12-31 | 基于lua的播放协议转换方法、***、终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103729189A CN103729189A (zh) | 2014-04-16 |
CN103729189B true CN103729189B (zh) | 2017-01-04 |
Family
ID=50453275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310754961.7A Active CN103729189B (zh) | 2013-12-31 | 2013-12-31 | 基于lua的播放协议转换方法、***、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103729189B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423079A (zh) * | 2017-03-10 | 2017-12-01 | 武汉斗鱼网络科技有限公司 | 一种同步脚本的方法、解析消息的方法和设备 |
CN107678944B (zh) * | 2017-09-04 | 2020-12-29 | 中国航空工业集团公司西安飞行自动控制研究所 | 基于嵌入式脚本的自动测试方法 |
CN107704606B (zh) * | 2017-10-17 | 2021-01-08 | 南京茂毓通软件科技有限公司 | 基于自定义标签语言的即时聊天协议要素通用抽取方法 |
CN108460002A (zh) * | 2017-12-29 | 2018-08-28 | 中国平安财产保险股份有限公司 | 合作伙伴自动对接方法、装置、设备及存储介质 |
CN109358839B (zh) * | 2017-12-29 | 2022-09-02 | 深圳Tcl新技术有限公司 | 一种嵌入式单片机软件开发的方法及存储介质 |
CN108769132A (zh) * | 2018-05-04 | 2018-11-06 | 武汉灵动在线科技有限公司 | 一种基于lua的游戏协议解析与热更新方法及*** |
CN112153471B (zh) * | 2020-09-25 | 2023-01-24 | 四川封面传媒有限责任公司 | 视频的播放控制方法、装置及存储介质 |
CN113364890B (zh) * | 2021-06-30 | 2022-10-28 | 北京奇艺世纪科技有限公司 | 数据处理方法、装置、网络设备及介质 |
CN114374603A (zh) * | 2022-01-12 | 2022-04-19 | 上海商米科技集团股份有限公司 | 基于api网关的数据处理方法及api网关 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1485997A (zh) * | 2002-09-28 | 2004-03-31 | 华为技术有限公司 | 监控***中控制报文的传输方法 |
CN1642092A (zh) * | 2004-01-12 | 2005-07-20 | 财团法人资讯工业策进会 | 交互式多媒体数据处理***与方法 |
CN1968320A (zh) * | 2006-04-27 | 2007-05-23 | 华为技术有限公司 | 实现语音播放业务的方法 |
CN101695032A (zh) * | 2009-11-02 | 2010-04-14 | 中国电信股份有限公司 | 统一客户端、统一客户端的业务配置方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1771695B (zh) * | 2003-05-30 | 2010-09-29 | Lg电子株式会社 | 家庭网络*** |
-
2013
- 2013-12-31 CN CN201310754961.7A patent/CN103729189B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1485997A (zh) * | 2002-09-28 | 2004-03-31 | 华为技术有限公司 | 监控***中控制报文的传输方法 |
CN1642092A (zh) * | 2004-01-12 | 2005-07-20 | 财团法人资讯工业策进会 | 交互式多媒体数据处理***与方法 |
CN1968320A (zh) * | 2006-04-27 | 2007-05-23 | 华为技术有限公司 | 实现语音播放业务的方法 |
CN101695032A (zh) * | 2009-11-02 | 2010-04-14 | 中国电信股份有限公司 | 统一客户端、统一客户端的业务配置方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN103729189A (zh) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103729189B (zh) | 基于lua的播放协议转换方法、***、终端 | |
US6286033B1 (en) | Method and apparatus for distributing computer integrated telephony (CTI) scripts using extensible mark-up language (XML) for mixed platform distribution and third party manipulation | |
CN110324169B (zh) | 一种接口管理的方法和装置 | |
CN101472140B (zh) | 一种多媒体分发点播*** | |
TW201235072A (en) | Method and apparatus for gaming based on mobile terminal | |
US20210337015A1 (en) | Method and system of application development for multiple device client platforms | |
CN102752369B (zh) | 电视应用服务的提供方法及虚拟化内容服务平台 | |
CN108196764A (zh) | 应用架构部署方法、装置、***及云平台 | |
CN113256095B (zh) | 可拖拽配置的敏捷流程服务构建方法、***、设备及介质 | |
CN104022945A (zh) | 在客户端中实现即时通讯的方法和装置 | |
CN107395385A (zh) | 软件升级方法及装置 | |
CN113076163A (zh) | 一种卡片渲染方法和装置 | |
CN111488286B (zh) | 一种Android模块独立开发的方法及装置 | |
CN106648805A (zh) | 一种智能装置、智能***及智能安装应用的方法 | |
CN111045928A (zh) | 一种接口数据测试方法、装置、终端及存储介质 | |
CN107547217A (zh) | 路由器业务配置方法及路由器 | |
CN110765610A (zh) | Pdm集成方法、装置、计算机设备及存储介质 | |
US20080104524A1 (en) | System and Method for Facilitating Ip Telephony Applications | |
CN109698808A (zh) | 一种加载模板消息的方法、设备和装置 | |
JP2007122647A (ja) | プログラムデータ提供方法、プログラムデータ提供システム及びプログラムデータ提供装置 | |
CN112422566B (zh) | 远程调用处理方法、装置、存储介质及电子装置 | |
CN114116049A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
US9146710B2 (en) | Communication virtual machine | |
CN108833196B (zh) | 可视化ivr实现方法、装置、计算机设备以及存储介质 | |
Hu et al. | Design of extensible forwarding element architecture and its key technology verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160927 Address after: Cangshan District of Fuzhou City, Fujian province 350028 Jinshan Road No. 618 juyuanzhou Ruijie Science Park building 19-22 Applicant after: Fujian Star-net Communication Co., Ltd. Address before: Fuzhou City, Fujian Province, Jinshan Road 350002 No. 618 No. 20 Ruijie orangery Chau Science Park 4 Applicant before: Fujian Starnet e-Video Information System Co., Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |