本发明涉及网络通信领域,尤其涉及实时定向推送差异性广告的系统及方法。
背景技术:
Android系统是近些年新兴起的一个操作系统,由于其系统的开源性、高可靠性以及用户体验性好迅速的占据了手机移动设备操作系统的市场。伴随着Android操作系统的发展成熟,越来越多的终端设备选择了Android操作系统,例如电视机、平板电脑、售卖机、广告机等。根据对目前技术的分析以及市场的需求,长虹智能售油机也选择了当前主流和稳健的Android操作系统。
由于Android是一个较年轻的系统,目前市场上的带操作系统的终端广告机多数都是基于window,unix和linux,基于Android操作系统的广告终端机相对还较少,描述向Android终端设备实时定向推送差异性广告的资料也较罕见。广告播放是长虹智能售油机的一项重要的功能。实时定向向智能售油机推送差异性广告是长虹智能售油机项目面向市场的一个重要要求。
技术实现要素:
本发明要解决的技术问题是:提供一种实时定向推送差异性广告的系统及方法,向Android广告机终端实时定向推送差异性广告。
为解决上述问题,本发明采用的技术方案是:实时定向推送差异性广告的系统,包括服务器端和Andriod广告机终端;所述服务器端包括web前端模块、数据写入模块、检索模块和数据库模块,所述Andriod广告机终端包括获取模块和播放模块;
所述web前端模块用于以web页面形式呈现给用户,用户通过登陆web页面配置Android广告机终端的设备信息表和广告信息列表;所述广告信息列表包含Android广告机终端的设备Id和广告内容;
所述数据写入模块用于将用户在web前端模块配置的信息写入到数据库模块中;
所述数据库模块用于存储数据写入模块写入的配置信息;
所述检索模块用于根据获取模块发送的获取请求在数据库中检索对应的广告信息列表,将检索到的广告信息列表从数据库中提取,并转发给获取模块;
所述获取模块用于通过网络定时向检索模块发送获取请求,其中,获取请求至少包括Android广告机终端的设备Id;还用于接收检索模块检发送的广告信息列表,并转发给播放模块;
所述播放模块用于播放获取模块发送的广告信息列表。
进一步的,数据写入模块和检索模块通过sql技术与数据库模块进行交互。
进一步的,服务器端和Andriod广告机终端采用http网络通信的方式交换数据,交换的数据格式采用json数据格式。
实时定向推送差异性广告的方法,其特征在于,包括步骤:
a.用户通过登陆web页面配置Android广告机终端的设备信息表和广告信息列表;并将配置的信息保存到数据库模块中;其中,所述广告信息列表包含Android广告机终端的设备Id和广告内容;
b.Android广告机终端通过网络定时地发送获取广告播放信息列表的请求,其中,获取请求至少包括Android广告机终端的设备Id;
c.服务器端根据Android广告机终端发送的获取请求在自身的数据库中检索对应的广告信息列表,将检索到的广告信息列表从数据库模块中提取,并发送给Android广告机终端;
d.Android广告机终端对服务器端发送的广告信息列表进行播放。
进一步的,服务器端和Andriod广告机终端采用http网络通信的方式交换数据,交换的数据格式采用json数据格式。
本发明的有益效果是:
(1)Android广告机终端定时主动向服务器端查询获取相应的播放信息列表的方式不用建立Android广告机终端和服务端的网络长连接,而服务器端向广告机终端推送广告信息列表的方式需要建立网络长连接,相对而言,前者的系统开销更低。
(2)Android广告终端定时主动向服务器端查询获取相应的广告信息列表的方式更加的灵活,广告机终端可以通过设置定时访问服务器的间隔时间来调整访问服务器的频率。缩短访问服务器的间隔时间则增加广告播放信息列表更新的实时性,延长访问服务器的间隔则可以减低访问服务器的频率,因此可以减少服务器的开销。用户可以根据需要对访问时间间隔进行设置。
附图说明
图1是本发明的结构示意图;
图2是本发明终端设备信息表的示意图;
图3是本发明广告信息列表的示意图;
图4是Android广告机终端启动定时任务实现代码示意图;
图5是广告信息列表的实例图;
图6是设备信息表的实例图。
具体实施方式
下面通过实施例对本发明做进一步说明。
如图1所示,本发明包括服务器端和Andriod广告机终端;所述服务器端包括web前端模块、数据写入模块、检索模块和数据库模块,所述Andriod广告机终端包括获取模块和播放模块。以下分别对各个功能模块进行说明:
所述web前端模块用于以web页面形式呈现给用户,用户通过登陆web页面配置Android广告机终端的设备信息表和广告信息列表;Web前端可采用主流的html、jsp等前端技术实现。数据写入模块通过和广告信息列表检索模块通过sql技术和数据库进行交互。
如图2所示,端设备信息表包含了2个字段,分别为terminalId和videoList,其中termianlId表示Android广告机终端的设备Id,其数据类型为长整型(long);videoList表示广告终端设备的广告播放信息列表,其数据类型为是字符串类型(String)。图3为广告信息列表,该表包含了2个字段,分别为videoId和url,其中videoId是标识广告视频的唯一标识符,其数据类型为长整型(long);url是广告视频的url链接,即广告视频的访问的网络地址。
所述数据写入模块用于将用户在web前端模块配置的信息写入到数据库模块中。所述数据库模块用于存储数据写入模块写入的配置信息。所述检索模块用于根据获取模块发送的获取请求在数据库中检索对应的广告信息列表,将检索到的广告信息列表从数据库中提取,并转发给获取模块。其中,数据写入模块和检索模块可以通过sql技术与数据库模块进行交互。
所述获取模块用于通过网络定时向检索模块发送获取请求,其中,获取请求至少包括Android广告机终端的设备Id;还用于接收检索模块检发送的广告信息列表,并转发给播放模块。采用Android的Timer类(计时器)和TimerTask类(定时任务)实现,具体实现代码如图4所示,图中的”task”表示定义的定时任务,”getVideoList()”表示向服务器端请求广告视频播放列表,”timer.schedule(task,2000,60000)”表示启动定时任务task,任务首次启动的时间是该指令运行后的2000毫秒后,以后每隔60000毫秒执行任务task。
所述播放模块用于播放获取模块发送的广告信息列表。广告播放模块采用Android的VideoView控件实现播放。
服务器端和Android广告机终端采用网络通信的方式交换数据,其通信遵循标识的互联网http协议,交换的数据格式采用json数据格式。
实施例
下面给以2个Android广告机终端和6个广告视频为例,给出整个系统运行的实例:
(1)用户访问web前端,在前端输入6个广告视频的信息,其标识符别为1,2,3,4,5,6,广告视频对应的url地址分为A,B,C,D,E,F,提交后输入信息,系统在数据库的广告信息列表中写的数据如图5所示。然后在web页面中配置2台Android广告终端设备,其设备Id分别1,2,给设备1配置广告信息列表1,2,3,个设备2配置广告信息列表4,5,6如图6所示。
(2)数据写入模块将配置的信息写入到数据库模块中。
(3)终端设备1开启,启动定时任务,向服务器传送器设备Id”1”,传送的json格式的数据为{“terminalId”:1}。
(4)服务器端检索出1号终端设备的广告信息列表,并将广告信息列表终端传送给1号终端,传送的json格式的数据为[{url:A},{url:B},{url:C}]。
(5)终端广告信息列表定时获取模块将json格式的终端广告信息列表转化为Java格式,若获取的终端广告播放信息列表与当前的广告设备终端的播放信息列表不一致,则更新广告设备终端的播放信息列表。
(6)由于定时任务间隔一定的时间后重复执行,当服务器端1号终端设备的广告播放信息列表发生变化时,1号终端设备下次执行定时任务时就能立即感知变化,然后更新终端的播放信息列表。
同理,2号广告终端设备同样可以根据其设备Id号获取其json格式的终端广告信息列表[{url:D},{url:E},{url:F}],并且通过间隔性的执行定时任务及时更新广告播放列表。
通过以上执行步骤,保证了广告视频列表的定向推送,通过终端推送不同的终端广告信息列表,达到了差异性推送的效果;另外通过增加定时任务的执行频率,则达到了实时推送的效果。
需要指出的是,上面所述只是用图解说明本发明的一些原理,由于对相同技术领域的普通技术人员来说是很容易在此基础上进行若干修改和改动的。因此,本说明书并非是要将本发明局限在所示和所述的具体结构和适用范围内,故凡是所有可能被利用的相应修改以及等同物,均属于本发明所申请的专利范围。