CN101923470A - 一种支持UPnP和IGRS双协议的DMA-SDK实现方法 - Google Patents
一种支持UPnP和IGRS双协议的DMA-SDK实现方法 Download PDFInfo
- Publication number
- CN101923470A CN101923470A CN2010102600810A CN201010260081A CN101923470A CN 101923470 A CN101923470 A CN 101923470A CN 2010102600810 A CN2010102600810 A CN 2010102600810A CN 201010260081 A CN201010260081 A CN 201010260081A CN 101923470 A CN101923470 A CN 101923470A
- Authority
- CN
- China
- Prior art keywords
- sdk
- dma
- igrs
- agreement
- upnp
- 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
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明通过对IGRS和UPnP协议标准的研究,分析数字Digital MediaAdapter(DMA,数字媒体适配器)产品的共性,结合当前数字家庭媒体共享设计方案,设计并实现了一种支持IGRS与UPnP双协议、模块化且可扩展可配置性强的、容易复用、跨平台的SDK。在本发明的SDK基础上,应用开发商能有效地复用DMA-SDK所提供的相关模块,将开发精力集中在界面开发,以及满足特殊需求的相关模块开发上,从而提高了DMA应用的开发效率,提高产品化速度。
Description
技术领域
本发明属于数字媒体应用方案的SDK设计领域,特别是涉及一种用于支持UPnP和IGRS双协议DMA-SDK设计及其应用。
背景技术
随着计算机网络的发展,普适计算设备(即包括计算机,手持设备等各种可计算设备)性能的提高,3C融合技术,及其相关的应用带给人们生活极大的帮助与便利,相关的消费类电子产品带来了广阔的市场空间。随之而来的是新产品层出不穷,如数字媒体适配器DMA(包括数码相框,电子书阅读器等媒体访问终端),家庭媒体服务器HSS等,从而带动了3C融合技术,加快相关的软件与硬件的研究的发展速度。为实现3C融合的目标,产业群体需要制定一个统一的协议标准,并基于统一标准下进行产品开发将能使不同的应用相互兼容使用、协同服务。当前在国内家庭网络中主要使用的协议是UPnP,IGRS,e家佳。而针对于数字家庭中的音频视频应用(AV应用),则采用UPnP和IGRS标准较多。
目前为止,关于IGRS与UPnP在数字媒体应用的研究状况包含了基础协议栈,AV应用框架以及实际应用开发的研究。起初对这两个协议的研究主要包括其基础协议栈的研究和实现与基础协议栈的改进方案设计。而到了后来关于双协议的协同方面的研究也逐渐增多,主要是根据IGRS与UPnP协议之间在底层设备发现与设备通讯之间的差异,研究如何实现双协议的基础协议栈,以及如何达到两个基础协议栈之间的互相连通。对于AV应用框架的研究则以分析和实验为主,为实现真正的AV应用打下基础。同时,很多关于IGRS和UPnP的AV应用与开发方面的新产品和新思想也不断地出现。这些研究主要分成三类,一类是关于AV框架下媒体服务器的研究,一类属于AV框架下播放器的研究,还有数字媒体适配器的研究。但是,在IGRS与UPnP数字媒体应用的实际项目开发中,开发者只是应用基础协议栈,在此之上进行AV应用框架的实现,然后进行应用层的开发。而在这个过程中的应用开发,其复用的元素通常仅在于基础协议栈,而且AV应用框架的实现和应用层模块之间的耦合度非常高,从而也降低了软件的可维护性和可复用性。
发明内容
本发明的目的在于针对当前数字家庭媒体共享方案遇到的快速开发、模块复用、软件的可维护性所存在的问题,提出了一种双协议DMA-SDK,该SDK不仅仅是对IGRS和UPnP协议的AV应用框架的实现和封装,而是数字家庭媒体共享方案DMA应用的常用工具库的集合。
为实现上述发明目的,采用的技术方案如下:
1、跨平台公共工具库SDK:用面向对象的形式,封装并实现了常用的工具库,并对Linux以及Windows的差异进行屏蔽,提供统一接口。包括Socket库(提供TCP/UDP的同步和异步通讯,select多路复用,广播组播);线程库(提供了Thread类,以及Mutex类用于线程资源的互斥访问);以及Xml库(用于Xml的构造以及分解)。
2、IGRS DMA-SDK:基于IGRS基础协议SDK,实现并封装IGRS AV智能应用框架DMA模型的“拉”模式交互方法;对网络上的IGRS服务,IGRS设备,以及浏览的目录内容等信息进行维护;提供友好的可调用接口。如图1所示。
3、UPnP DMA-SDK:基于UPnP基础协议SDK,实现并封装UPnP AV应用框架DMA模型的“拉”模式交互方法;对网络上的UPnP设备及其服务,以及浏览的目录内容等信息进行维护;提供友好的可调用接口。如图2所示。
4、Http文件访问SDK:基于跨平台公共工具库SDK中的Socket库,实现Http协议下的文件访问。通过Http文件访问SDK访问网络文件如同获取本地文件一样方便。如图3所示。
5、MP3播放器SDK:基于Mad解码库及Http文件访问SDK,MP3播放器SDK提供简单易用的接口;能播放Http协议下即网络上的MP3音乐,以及本地MP3音乐;提供全面的MP3播放进行控制功能。如图4所示。
6、双协议DMA集成软件框架:在IGRS DMA-SDK与UPnP DMA-SDK基础上,对双协议DMA的集成框架进行设计与接口封装,并提供脚本访问接口,便于快速开发和集成构建出双协议DMA应用。如图5所示。
开发者根据DMA应用的特定需要,选择本发明不同的库集成到自身的应用当中,通过复用这些库,提高开发效率,把精力集中在应用层逻辑上。更重要的是,基于双协议DMA-SDK的应用软件的层次性明显,且具有良好的平台适应性,可移植性和可维护性。
本发明提供的双协议DMA-SDK来开发DMA应用,具有以下优点:
1、支持IGRS与UPnP双协议,双协议DMA-SDK采用软件MVC设计模式,通过协议继承达到双协议SDK的功能。采用此方法,还可以很快的复用新数字家庭协议,实现新协议的无缝接入。
2、跨平台,由于双协议DMA-SDK是以跨平台的思想进行设计和实现的。与系统相关的底层库封装在公共工具库SDK集合中,目前能提供Windows和Linux平台的支持。在公共工具库之上进行其他SDK的和应用开发有着平台无关性特点。
3、模块复用,实际的DMA应用如数码相框能很好地复用到双协议DMA-SDK已经实现好的工具库。通过复用这些常用模块,能极大地提高应用的开发效率以及降低开发成本。并且经过测试的这些常用模块,也能提高应用的稳定性。
4、减少代码冗余,双协议DMA-SDK提出并实现了双协议DMA的集成框架,采用面向对象的技术,和工厂设计模式,在最外层提供了一套继承的Browser接口。使用一套接口来实现应用的核心逻辑,有效减少代码冗余,从而优化代码结构,提高代码的可维护性。
附图说明
图1为本发明的IGRS DMA-SDK模块设计图;
图2为本发明的UPnP DMA-SDK模块设计图;
图3为本发明的Http文件访问SDK设计图;
图4为本发明的Mp3播放器SDK设计图。
图5为本发明的双协议DMA集成软件框架的设计图。
图6为本发明的双协议DMA-SDK总体设计图。
图7为本发明的双协议数码相框总体设计图。
具体实施方式
下面结合附图对本发明的实现做进一步的说明。首先介绍本发明双协议DMA-SDK利用不同SDK库的协作开发过程,以及如何通过库与库之间的关系实现高效率的双协议DMA-SDK。
本发明的双协议DMA-SDK是一个工具库的集合,而各工具库所处于的层次不一样,相互之间也存在相互调用关系。双协议DMA-SDK总体设计如图6所示。处于最底层的是跨平台公共工具库,工具库提供XMLParser,Thread,Mutex,Socket类供SDK调用者使用,同时也为其他SDK的实现提供基础类库。基于跨平台工具库实现的其他SDK和应用将具有Linux和Windows的平台适应性。其中,Http文件访问SDK使用公共工具库的Socket类和Thread类来实现其Http的网络通讯,它利用公共工具库,再结合面封装后的面向对象的访问Http文件的请求构造、response响应、http消息分析以及内容的提取,实现HttpFile网络文件访问接口。MP3播放器SDK继承Mp3Player的功能接口,并调用HttpFile实现其对Http协议网络音乐的资源获取。在边下载的同时使用Thread模块启动解码线程,利用Mutex控制线程同步,并应用libmad解码库对资源进行解码,进行播放。IGRS DMA-SDK依赖于公共工具库的XMLParser,Thread,Mutex。IGRS DMA-SDK使用线程库执行IGRS基础协议SDK主流程,与IGRS基础协议SDK交互,并维护设备,服务以及会话。根据IGRS AV智能应用框架构造访问请求动作信息,以及进行回应分析,通过协议栈进行信息发送和接收。最终实现对外接口IgrsBrowser,用于浏览IGRS网络上的媒体服务器(返回设备结构deviceItem),以及浏览服务器上的媒体资源(返回文件结构FileItem)。类似地,UPnP DMA-SDK也依赖于公共工具库的XMLParser,Thread,Mutex。UPnP DMA-SDK使用线程库执行UPnP基础协议SDK主流程,与UPnP基础协议SDK交互,并维护设备,服务等相关信息。根据UPnP AV应用框架构造访问请求动作格式,以及进行回应分析,通过基础协议SDK进行信息发送和接收。实现对外接口UpnpBrowser,用于浏览UPnP网络上的媒体服务器(返回设备结构deviceItem),以及浏览服务器上的媒体资源(返回文件结构FileItem)。
对于单协议支持的DMA应用,可以根据相应的协议直接基于IGRS
DMA-SDK或UPnP DMA-SDK进行开发。而对于双协议DMA应用,可以使用IGRS DMA-SDK与UPnP DMA-SDK来共同组建双协议方案。但更高效的方法是,应用本发明介绍的双协议DMA应用框架。在该框架中,已经基于IGRS
DMA-SDK与UPnP DMA-SDK实现了公共虚基类IAVBrowser和派生类CAVIgrsBrowser和CAVUpnpBrowser,返回统一接口的媒体服务器信息
(AVDevice),和统一接口的文件结构(AVFile)。基于双协议DMA应用框架进行双协议应用的开发,将更高效,避免了处理双协议的差异性的冗余代码,而且基于工厂模型的设计模式让应用的软件结构更为清晰,提供统一、集成的外部接口,为双协议DMA应用开发提供基础,其设计如图6所示。
使用本发明所设计的双协议DMA-SDK被应用到支持IGRS和UPnP双协议的数码相框开发项目。双协议数码相框是典型的IGRS和UPnP双协议支持的DMA。能根据协议的AV智能应用框架,访问家庭媒体服务器的目录内容服务,连接管理服务;浏览和获取媒体服务器上的文件资源;播放本地或媒体服务器上的图片(也提供幻灯片播放等方式),音乐文件(背景音乐);以及实现友好的用户界面和达到稳定的系统性能。
双协议数码相框的核心部分有三个部分,分别是启动界面部分,界面框架部分,以及Widget管理部分(Widget是Qt图形库的窗体基础,不同的视窗内容通常由多个不同的Widget组成)。启动界面部分在双协议数码相框在启动时初始化并执行,包括广告图片显示,以及无线网络连接的相关界面和实体模块。界面框架部分结合Widget管理共同构建其数码相框的核心执行逻辑。当启动完成,选择好无线网络后,界面框架和Widget管理进行初始化,和执行。双协议数码相框底层通过与双协议DMA-SDK交互,根据DMA-SDK返回的事件更新逻辑核心部分的事件处理模块,然后通过slot和signal事件机制来做出界面部分的响应。双协议数码相框总体设计如图7所示。
Claims (7)
1.一种支持UPnP和IGRS双协议的DMA-SDK实现方法,其特征在于包括:
处于最底层的跨平台公共工具库,该公共工具库提供XMLParser,Thread,Mutex,Socket类供SDK调用者使用,同时也为其他SDK的实现提供基础类库;
Http文件访问SDK,其使用公共工具库的Socket类和Thread类来实现Http的网络通讯,它利用公共工具库,再结合封装后的面向对象的访问Http文件的请求构造、response响应、http消息分析以及内容的提取,实现HttpFile网络文件访问接口;
MP3播放器SDK,其继承Mp3Player的功能接口,并调用HttpFile实现对Http协议网络音乐的资源获取,在边下载的同时使用Thread模块启动解码线程,利用Mutex控制线程同步,并应用libmad解码库对资源进行解码,进行播放;
IGRS DMA-SDK,其依赖于公共工具库的XMLParser,Thread,Mutex,并使用线程库执行IGRS基础协议SDK主流程,与IGRS基础协议SDK交互,进行设备、服务以及会话管理,根据IGRS AV智能应用框架构造访问请求动作信息,以及进行回应分析,通过协议栈进行信息发送和接收,最终实现对外接口IgrsBrowser,用于浏览IGRS网络上的媒体服务器并返回设备结构deviceItem,以及浏览服务器上的媒体资源并返回文件结构FileItem;
UPnP DMA-SDK,其也依赖于公共工具库的XMLParser,Thread,Mutex,并使用线程库执行UPnP基础协议SDK主流程,与UPnP基础协议SDK交互,并进行设备、服务管理,根据UPnP AV应用框架构造访问请求动作格式,以及进行回应分析,通过基础协议SDK进行信息发送和接收,实现对外接口UpnpBrowser,用于浏览UPnP网络上的媒体服务器并返回设备结构deviceItem,以及浏览服务器上的媒体资源,并返回文件结构FileItem;
双协议DMA应用框架,在该框架中,已经基于IGRS DMA-SDK与UPnPDMA-SDK实现了公共虚基类IAVBrowser和派生类CAVIgrsBrowser和CAVUpnpBrowser,返回统一接口的媒体服务器信息AVDevice,和统一接口的文件结构AVFile。
2.根据权利要求1所述的支持UPnP和IGRS双协议的DMA-SDK实现方法,其特征在于所述IGRS DMA-SDK是基于IGRS基础协议SDK,实现并封装IGRS AV智能应用框架DMA模型的“拉”模式交互方法,对网络上的IGRS服务、IGRS设备、以及浏览的目录内容信息进行维护,提供友好的可调用接口。
3.根据权利要求1所述的支持UPnP和IGRS双协议的DMA-SDK实现方法,其特征在于所述UPnP DMA-SDK是基于UPnP基础协议SDK,实现并封装UPnPAV应用框架DMA模型的“拉”模式交互方法,对网络上的UPnP设备及其服务、以及浏览的目录内容信息进行维护,提供友好的可调用接口。
4.根据权利要求1所述的支持UPnP和IGRS双协议的DMA-SDK实现方法,其特征在于所述Http文件访问SDK是基于跨平台公共工具库SDK中的Socket库,实现Http协议下的文件访问,使得通过Http文件访问SDK访问网络文件如同获取本地文件一样方便。
5.根据权利要求1所述的支持UPnP和IGRS双协议的DMA-SDK实现方法,其特征在于所述MP3播放器SDK是基于Mad解码库及Http文件访问SDK,MP3播放器SDK提供简单易用的接口,能播放Http协议下即网络上的MP3音乐,以及本地MP3音乐,提供全面的MP3播放进行控制功能。
6.根据权利要求1所述的支持UPnP和IGRS双协议的DMA-SDK实现方法,其特征在于所述双协议DMA应用通过双协议DMA集成软件框架开发和集成构建而成,所述双协议DMA集成软件框架在IGRS DMA-SDK与UPnPDMA-SDK基础上,对双协议DMA的集成框架进行设计与接口封装,并提供脚本访问接口。
7.根据权利要求1所述的支持UPnP和IGRS双协议的DMA-SDK实现方法,其特征在于在双协议数码相框的应用如下:
双协议数码相框包括三个部分,分别是启动界面部分,界面框架部分,以及Widget管理部分;所述启动界面部分在双协议数码相框在启动时初始化并执行,包括广告图片显示,以及无线网络连接的相关界面和实体模块,所述界面框架部分结合Widget管理共同构建其数码相框的核心执行逻辑;当启动完成,选择好无线网络后,界面框架和Widget管理进行初始化和执行,双协议数码相框底层通过与双协议DMA-SDK交互,根据DMA-SDK返回的事件更新逻辑核心部分的事件处理模块,然后通过slot和signal事件机制来做出界面部分的响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102600810A CN101923470A (zh) | 2010-08-20 | 2010-08-20 | 一种支持UPnP和IGRS双协议的DMA-SDK实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102600810A CN101923470A (zh) | 2010-08-20 | 2010-08-20 | 一种支持UPnP和IGRS双协议的DMA-SDK实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101923470A true CN101923470A (zh) | 2010-12-22 |
Family
ID=43338428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102600810A Pending CN101923470A (zh) | 2010-08-20 | 2010-08-20 | 一种支持UPnP和IGRS双协议的DMA-SDK实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101923470A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291437A (zh) * | 2011-07-27 | 2011-12-21 | 武汉天喻信息产业股份有限公司 | 跨平台互联网应用的实现系统及方法 |
CN102522103A (zh) * | 2011-11-15 | 2012-06-27 | 四川九洲电器集团有限责任公司 | 机顶盒mp3流媒体混音的方法 |
CN106338920A (zh) * | 2015-07-06 | 2017-01-18 | 天津九洲云物联科技有限公司 | 用于智能家居的插件式驱动系统 |
CN106469082A (zh) * | 2016-09-29 | 2017-03-01 | 努比亚技术有限公司 | 一种移动终端播放音频的方法及装置 |
CN110347445A (zh) * | 2019-07-12 | 2019-10-18 | 财付通支付科技有限公司 | Sdk调用方法、装置、服务器及存储介质 |
CN113127390A (zh) * | 2021-05-13 | 2021-07-16 | 西安微电子技术研究所 | 一种多协议数据总线适配器引擎架构设计方法 |
-
2010
- 2010-08-20 CN CN2010102600810A patent/CN101923470A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291437A (zh) * | 2011-07-27 | 2011-12-21 | 武汉天喻信息产业股份有限公司 | 跨平台互联网应用的实现系统及方法 |
CN102522103A (zh) * | 2011-11-15 | 2012-06-27 | 四川九洲电器集团有限责任公司 | 机顶盒mp3流媒体混音的方法 |
CN102522103B (zh) * | 2011-11-15 | 2014-10-08 | 四川九洲电器集团有限责任公司 | 机顶盒mp3流媒体混音的方法 |
CN106338920A (zh) * | 2015-07-06 | 2017-01-18 | 天津九洲云物联科技有限公司 | 用于智能家居的插件式驱动系统 |
CN106469082A (zh) * | 2016-09-29 | 2017-03-01 | 努比亚技术有限公司 | 一种移动终端播放音频的方法及装置 |
CN110347445A (zh) * | 2019-07-12 | 2019-10-18 | 财付通支付科技有限公司 | Sdk调用方法、装置、服务器及存储介质 |
CN113127390A (zh) * | 2021-05-13 | 2021-07-16 | 西安微电子技术研究所 | 一种多协议数据总线适配器引擎架构设计方法 |
CN113127390B (zh) * | 2021-05-13 | 2023-03-14 | 西安微电子技术研究所 | 一种多协议数据总线适配器引擎架构设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101923470A (zh) | 一种支持UPnP和IGRS双协议的DMA-SDK实现方法 | |
Yun et al. | A device software platform for consumer electronics based on the Internet of Things | |
CN102316129B (zh) | 一种嵌入式设备与远程数据库进行数据交换的方法 | |
CN102346669B (zh) | 一种基于元数据的移动终端安全中间件系统及方法 | |
CN112383803B (zh) | 信息处理方法及相关装置 | |
CN100531200C (zh) | 面向3c融合的数字家居中间件引擎 | |
CN105573129A (zh) | 基于Cordova的跨平台智能家居移动终端 | |
CN105072507B (zh) | 一种多媒体数据的传输方法及系统 | |
CN104363290B (zh) | 基于插件形式在上位机中实现跨协议组网的方法 | |
CN118214786B (zh) | 高并发多协议通信方法、装置、电子设备及存储介质 | |
CN101083714A (zh) | 一种家庭信息化系统 | |
WO2018014553A1 (zh) | 智能家居系统的搭建方法、装置、智能家居系统及终端 | |
CN104991769B (zh) | 一种无主机的电脑 | |
CN202996084U (zh) | 一种基于sip的教学培训终端 | |
CN103198041A (zh) | 一种实现建立iec61970 gid接口的方法 | |
CN102255961A (zh) | 基于J2ME调用Web Service接口的方法 | |
Harihar et al. | Using Jini to enable pervasive computing environments | |
Kiljander et al. | Opening information of low capacity embedded systems for Smart Spaces | |
CN101483566A (zh) | 一种面向3c融合的中间件 | |
CN101344901A (zh) | 移动游戏综合能力引擎 | |
CN202583822U (zh) | 智能网络云终端控制器 | |
CN102970285A (zh) | 基于dlna的无线局域网系统、实现方法以及无线网络系统 | |
CN105025124A (zh) | 一种可匹配手机电脑的智能手机 | |
Schroeder | Introduction to MeeGo | |
CN102740149A (zh) | 智能手机、平板电脑无线投射至电视机实现装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20101222 |