发明内容
鉴于目前技术存在的上述不足,本发明提供一种基于车联网云服务平台的广告分布式分发系统及方法,利用CDN系统,帮助用户随时随地交互式的更换广告内容,基于强大的云服务器,利用分布式分发的技术来解决上述技术问题。
为实现上述目的,本发明的采用如下技术方案:一种基于车联网云服务平台的广告分布式分发系统,管理端与云服务器、多个用户端、多个终端设备交互,所述管理端包括:管理端服务器,用于接收至少两个用户端的请求,且处理广告内容;管理端数据库,用于过渡存储广告内容;所述云服务器与管理端通信连接,用于接收、存储数据包,向至少两个与用户端对应的终端设备分配数据包。
进一步,所述管理端还包括:存储单元,用于将广告内容过渡存储在管理端的数据库中;
处理单元,用于对数据库中的所述广告内容进行处理、生成数据包,发送给通信单元;
通信单元,用于接收处理单元生成的数据包并发送给分配单元;
监听单元,用于监听数据库中广告内容的变化,通知处理单元将存储在数据库中变化的广告内容生成更新后的数据包。
进一步,所述云服务器包括:分配单元,用于接收、存储数据包,向终端设备分配数据包。
进一步,所述广告内容由图片或视频组成,包含显示特效、显示速度和停留时间等属性。
进一步,所述监听单元将广告内容按标识位、版本、是否需要CRC、是否需要应答、消息ID、厂家、加密方式、终端号、消息流水号、内容总长度、分包位置索引、消息体长度和消息体等方式进行多种形式的单一或者多样组合生成二进制数据包。
进一步,所述分配单元存储数据包的方式是通过云服务器提供的RESTFUL方式上传到云服务器的对象存储。
进一步,所述分配单元根据用户端向管理端发送的请求,管理端通过用户端请求的秘钥激活云服务器中的数据包,云服务匹配秘钥后,向终端设备分配对应的数据包。
进一步,所述终端设备包括车载设备或移动通信设备。
进一步,所述云服务器与管理端通信连接的方式为管理端、终端设备与用户端在云服务器中的CDN系统进行流量负载进行交互,还包括:管理端在云服务器中的应用单元、编辑单元、控制单元和链接生成单元;其中,应用单元包括:请求模块和操作模块;其中,请求模块,用于添加用户端的预申请信息,接收到用户端的申请时,向编辑单元发送编辑预申请信息请求;
操作模块,用于接收处理预申请信息后,根据预申请信息中包含的访问请求,执行相关操作;
编辑单元包括:编辑模块和链接生成单元,其中,编辑模块,用于编辑预申请信息请求;其中,链接生成单元,将编辑后的预申请信息,生成对外访问的文件地址,反馈对外访问的文件地址给应用单元;
控制单元,用于根据CDN系统结合网络负载均衡和路由状况确定处理对外访问的文件地址;向编辑单元反馈网络负载均衡和路由状况,根据CDN系统进行分发及存储对外访问的文件地址;
所述操作模块具体包括:分发子模块、缓存子模块、下载子模块和路由子模块;其中,
分发子模块,用于接收到完成对外访问的文件地址后,根据CDN系统的内容分发请求,按照预先设定的分发策略将存储在内容数据库中的内容提取后注入到CDN系统的内容分发节点;
缓存子模块,用于接收所述内容分发节点的内容进行缓存;根据缓存策略,将用户终端访问过的内容预先缓存在CDN系统的内容缓存节点中,以快速地提供热点内容给邻近的内容下载节点和终端设备使用;
下载子模块,用于根据访问请求,将内容缓存节点中的内容提取出来提供给CDN系统的内容下载节点进行内容流化,并传输给终端设备;
路由子模块,用于根据负载均衡策略及内容分发路径策略动态的为所述内容分发节点和所述内容缓存节点建立网络链接;根据负载均衡策略以及内容下载路径策略动态的为所述终端设备和所述内容下载节点建立网络链接。
进一步,所述相关操作包括:与内容下载访问请求对应的内容分发、内容缓存、内容路由和内容下载。
进一步,所述应用单元还包括负载均衡模块,用于根据所述内容下载节点实时负载情况动态的为终端设备提供下载的服务器节点;根据内容负载分布情况动态确定内容缓存的节点;根据内容分发路径网络情况动态确定内容分发的网络路径;根据内容下载路径网络情况动态确定内容下载网络路径。
进一步,所述控制单元还用于与终端设备数据连接。
进一步,所述终端设备周期性向控制单元主动下发终端心跳消息;控制单元收到心跳消息后,向终端设备发送的心跳包应答消息。
进一步,所述终端设备与控制单元的数据利用TCP方式连接;所述终端设备复位后主动与控制单元建立连接,连接建立后立即向控制单元发送身份鉴权信息且进行鉴权;控制单元验证通过后,反馈应答信息。
进一步,所述应用单元还包括外部应用接口,接收外部指令,对应用单元、和/或编排单元、和/或控制单元、和/或数据转发单元进行调整;
所述应用单元与编辑单元通过北向接口连接;
所述编辑单元与控制单元通过北向接口连接;
所述控制单元与链接生成单元通过南向接口连接。
进一步,所述下载子模块具体用于:根据访问请求,将内容缓存节点中的内容提取出来提供给CDN系统的内容下载节点进行内容流化。
一种基于车联网云服务平台的广告分布式分发方法,包括用户端、管理端、云服务器、终端设备,其特征在于,用户端发送请求至管理端,管理端匹配用户端请求后,激活云服务器中的数据包,云服务器向用户端分配对应的数据包。
进一步,所述用户端下载解析数据包。
进一步,所述终端设备接收用户端下载解析数据包后,展示广告内容。
综合上述技术方案,我们有区别于现有车载广告投放管理系统。本发明的有益效果:利用CDN系统,帮助用户随时随地交互式的更换广告内容,基于强大的云服务器,利用分布式分发的技术来解决现有技术数据拥堵问题,避免系统崩溃。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“外”、“内”、“上”“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“连接”、“设置”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接。当一个元件被表述“连接”另一个元件,它可以是直接连接到另一个元件、或者其间可以存在一个或多个居中的元件。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合;并且,所述的“和/或”包括了“和”与“或”两种可能的实施例。
本发明提供一种基于车联网云服务平台的广告分布式分发系统及方法,如图1、图2、图3所示:一种基于车联网云服务平台的广告分布式分发系统,管理端与云服务器、多个用户端、多个终端设备交互,所述管理端包括:管理端服务器,用于接收至少两个用户端的请求,且处理广告内容;管理端数据库,用于过渡存储广告内容;所述云服务器与管理端通信连接,用于接收、存储数据包,向至少两个与用户端对应的终端设备分配数据包。
进一步,所述管理端还包括:存储单元,用于将广告内容过渡存储在管理端的数据库中;
处理单元,用于对数据库中的所述广告内容进行处理、生成数据包,发送给通信单元;
通信单元,用于接收处理单元生成的数据包并发送给分配单元;
监听单元,用于监听数据库中广告内容的变化,通知处理单元将存储在数据库中变化的广告内容生成更新后的数据包。
进一步,所述云服务器包括:分配单元,用于接收、存储数据包,向终端设备分配数据包。
进一步,所述广告内容由图片或视频组成,包含显示特效、显示速度和停留时间等属性。
进一步,所述监听单元将广告内容按标识位、版本、是否需要CRC、是否需要应答、消息ID、厂家、加密方式、终端号、消息流水号、内容总长度、分包位置索引、消息体长度和消息体等方式进行多种形式的单一或者多样组合生成二进制数据包。
进一步,所述分配单元存储数据包的方式是通过云服务器提供的RESTFUL方式上传到云服务器的对象存储。
进一步,所述分配单元根据用户端向管理端发送的请求,管理端通过用户端请求的秘钥激活云服务器中的数据包,云服务匹配秘钥后,向终端设备分配对应的数据包。
进一步,所述终端设备包括车载设备或移动通信设备。
进一步,所述云服务器与管理端通信连接的方式为管理端、终端设备与用户端在云服务器中的CDN系统进行流量负载进行交互,还包括:管理端在云服务器中的应用单元、编辑单元、控制单元和链接生成单元;其中,应用单元包括:请求模块和操作模块;其中,请求模块,用于添加用户端的预申请信息,接收到用户端的申请时,向编辑单元发送编辑预申请信息请求;
操作模块,用于接收处理预申请信息后,根据预申请信息中包含的访问请求,执行相关操作;
编辑单元包括:编辑模块和链接生成单元,其中,编辑模块,用于编辑预申请信息请求;其中,链接生成单元,将编辑后的预申请信息,生成对外访问的文件地址,反馈对外访问的文件地址给应用单元;
控制单元,用于根据CDN系统结合网络负载均衡和路由状况确定处理对外访问的文件地址;向编辑单元反馈网络负载均衡和路由状况,根据CDN系统进行分发及存储对外访问的文件地址;
所述操作模块具体包括:分发子模块、缓存子模块、下载子模块和路由子模块;其中,
分发子模块,用于接收到完成对外访问的文件地址后,根据CDN系统的内容分发请求,按照预先设定的分发策略将存储在内容数据库中的内容提取后注入到CDN系统的内容分发节点;
缓存子模块,用于接收所述内容分发节点的内容进行缓存;根据缓存策略,将用户终端访问过的内容预先缓存在CDN系统的内容缓存节点中,以快速地提供热点内容给邻近的内容下载节点和终端设备使用;
下载子模块,用于根据访问请求,将内容缓存节点中的内容提取出来提供给CDN系统的内容下载节点进行内容流化,并传输给终端设备;
路由子模块,用于根据负载均衡策略及内容分发路径策略动态的为所述内容分发节点和所述内容缓存节点建立网络链接;根据负载均衡策略以及内容下载路径策略动态的为所述终端设备和所述内容下载节点建立网络链接。
进一步,所述相关操作包括:与内容下载访问请求对应的内容分发、内容缓存、内容路由和内容下载。
进一步,所述应用单元还包括负载均衡模块,用于根据所述内容下载节点实时负载情况动态的为终端设备提供下载的服务器节点;根据内容负载分布情况动态确定内容缓存的节点;根据内容分发路径网络情况动态确定内容分发的网络路径;根据内容下载路径网络情况动态确定内容下载网络路径。
进一步,所述控制单元还用于与终端设备数据连接。
进一步,所述终端设备周期性向控制单元主动下发终端心跳消息;控制单元收到心跳消息后,向终端设备发送的心跳包应答消息。
进一步,所述终端设备与控制单元的数据利用TCP方式连接;所述终端设备复位后主动与控制单元建立连接,连接建立后立即向控制单元发送身份鉴权信息且进行鉴权;控制单元验证通过后,反馈应答信息。
进一步,所述应用单元还包括外部应用接口,接收外部指令,对应用单元、和/或编排单元、和/或控制单元、和/或数据转发单元进行调整;
所述应用单元与编辑单元通过北向接口连接;
所述编辑单元与控制单元通过北向接口连接;
所述控制单元与链接生成单元通过南向接口连接。
进一步,所述下载子模块具体用于:根据访问请求,将内容缓存节点中的内容提取出来提供给CDN系统的内容下载节点进行内容流化。
一种基于车联网云服务平台的广告分布式分发方法,包括用户端、管理端、云服务器、终端设备,其特征在于,用户端发送请求至管理端,管理端匹配用户端请求后,激活云服务器中的数据包,云服务器向用户端分配对应的数据包。
进一步,所述用户端下载解析数据包。
进一步,所述终端设备接收用户端下载解析数据包后,展示广告内容。
每个广告内容由图片或视频组成,包含显示特效(特殊的效果,如连续左移,百叶窗,左上角覆盖等)、显示速度(是指显示屏更新和转换画面的速度,通常用帧/秒来表示)和停留时间(指静止到移动所用的时间)等属性。广告内容分为三大类,文本炫彩字节目,图片节目,视频节目,时间节目;
1、文本炫彩字怎么生成的文本:html(HTML 指的是超文本标记语言 (Hyper TextMarkup Language)) 自带的form upload 控件;文本编辑使用富文本编辑器;保存时自有算法解析文本样式,然后利用 ImageMagick 生成PNG图片。然后写入阿里云服务器上的Mysql数据库;文本重新编辑后,同上。
利用PHP图像处理扩展ImageMagick,先把文字生成PNG透明图片,然后与GIF图片合并,把文字图片作为 GIF图片的水印,最后输出为一个 GIF图片,就是炫彩字的效果。
2、支持的静态图格式(3个),静态图片处理:html(HTML 指的是超文本标记语言(Hyper Text Markup Language)) 自带的form upload 控件。支持图片格式 jpeg、png、bmp;上传至阿里云存储对象OSS。调用阿里云SDK,通过传入宽高参数,动态调整图片宽高;调用图片访问链接(对象存储OSS绑定的域名+图片名称)下载至本地服务器上;节目保存后,写入阿里云服务器上的Mysql数据库。
动态图片处理;html(HTML 指的是超文本标记语言 (Hyper Text MarkupLanguage)) 自带的form upload 控件。支持图片格式 GIF使用 ImageMagick 调整GIF宽高,然后保存在本地服务器上;节目保存后,写入阿里云服务器上的Mysql数据库;利用PHP图像处理扩展ImageMagick,可以处理静态图片、GIF图片指定宽高的缩放功能。目前静态图片使用阿里云的OSS存储功能,可根据传入的宽高参数,自动缩放静态图片宽高。
3、视频支持格式3个,视频处理:html(HTML 指的是超文本标记语言 (Hyper TextMarkup Language)) 自带的form upload 控件;支持常见视频格式。
至少两个用户端将编辑的节目数据由管理端通过API(应用程序接口),提交到服务器数据库中,服务器通过利用 Linux(操作系统名称)中的 cron(在介绍 crontab 命令之前,我们首先要介绍一下 crond,因为 crontab 命令需要 crond 服务支持。crond是Linux 下用来周期地执行某种任务或等待处理某些事件的一个守护进程,和 Windows(操作系统名称)中的计划任务有些类似。),定义一项每秒执行的任务。此任务内容是请求Mysql(数据库名称)中的任务表,如果有新的记录,就读取任务执行,否则不执行返回空。监听数据库中节目内容变化,将节目数据按标识位、版本、是否需要CRC(“循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。”)、是否需要应答、消息ID、厂家、加密方式、终端号、消息流水号、内容总长度、分包位置索引、消息体长度和消息体等方式进行组合生成二进制数据广告内容包。
数据包的分配:将广告内容上传到阿里云(阿里云—阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全、云存储、企业应用及行业解决方案服务)对象存储中需要的准备工作:数据包通过阿里云提供的RESTFUL接口方式(RESTFUL 描述了 HTTP 层里客户端和服务器端的数据交互规则;至少两个用户端通过向服务器端发送 HTTP请求,接收服务器的响应,完成一次 HTTP 交互。这个交互过程中,RESTFUL 架构约定两个重要方面就是 HTTP 请求所采用的方法,以及请求的链接。)上传到阿里云对象存储(简称oss).广告数据包上传过程中需要先在公司对应的云服务器中进行申请OSS所需要的访问秘钥(AccessKey)和查看云服务器对应的物理位置是否开通Region(地域)并新建新的Bucket(存储空间),上传的广告数据包都在此空间下.广告内容上传中根据准备工作中拿到的Bucket和Regio以及AccessKey通过OSS提供的sdk访问访问进行对应参数提供进行上传到阿里云对象存储中.通过对应sdk(sdk使用是也是通过准备工作中的对应参数进行访问不同的地址来返回能够访问的文件链接供设备端进行下载)来获得广告数据包对外访问的文件地址.
广告数据包生成后分发到阿里云的对象存储上,通过阿里云的CDN(内容分发网络)系统进行流量负载(访问量)。通过平台与设备TCP连接(TCP是一种传输控制协议,是面向连接的、可靠的、基于字节流之间的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,TCP完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。)将广告链接分发用户控制卡,节目文件通过服务器转发的方式,传输到LED显示设备。流程如下,LED设备通过板载的LTE 4G模块,主动给服务器定时发送心跳数据保持TCP长连接,服务器记录设备唯一标识。当客户端给服务器提交下发节目任务时,服务器把需要下发的节目文件,转发给LED设备(此时服务器已经和设备建立连接)。在控制卡收到节目下载链接后,开始下载。
CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到控制卡的距离和响应时间等综合信息将该请求重新导向离用户最近的服务节点上。控制卡开始下载该节目文件,在网络信号差,连接不稳定的场景下,会自动进行10次重试(重复10次)和断点续传功能(是在下载时使用的,方便用户多次下载文件的功能。有时用户通过 FTP 下传文件需历时数小时,万一线路中断,不具有 FTP 断点续传的 FTP 服务器就只能从头重传;博远虚拟主机上的 FTP 服务器具有 FTP 断点续传能力,允许用户从上次断掉的地方继续传送,这样大大减少了用户的烦恼),从而达到文件下载稳定性。
至少两个与用户端对应的终端设备接收管理端下发的节目数据进行播放。管理端接收终端设备上报的GPS数据和报警数据,供至少两个用户端进行管理和决策。至少两个与用户端对应的终端设备和管理端之间通过TCP协议进行连接,连接的主要生命周期如下:1、连接的建立及鉴权(是指验证用户是否拥有访问系统的权利。传统的鉴权是通过密码来验证的。这种方式的前提是,每个获得密码的用户都已经被授权。在建立用户时,就为此用户分配一个密码,用户的密码可以由管理员指定,也可以由用户自行申请。这种方式的弱点十分明显:一旦密码被偷或用户遗失密码,情况就会十分麻烦,需要管理员对用户密码进行重新修改,而修改密码之前还要人工验证用户的合法身份。)阶段。至少两个与用户端对应的终端设备与管理端的数据日常采用TCP方式,至少两个与用户端对应的终端设备复位后主动与管理端建立连接,连接建立后立即向管理端发送终端号等身份鉴权信息进行鉴权,管理端会对该终端号进行有效性验证,验证通过后,会返回成功应答信息;2、连接的维持阶段。两端连接建立和终端鉴权成功后,终端周期性向平台方主动下发终端心跳消息(是一种发送源发送到接收方的消息,这种消息可以让接收方确定发送源是否以及何时出现故障或终止。通常,心跳消息从发送源启动时开始发送,直到发送源关闭,期间发送源会不间断的发送周期性或重复消息。当接收方在某个消息接收周期内未收到消息,接收方可能会认为发送源已经关闭、出现故障、或者当前不可用。心跳消息可能常被用于高可用性或容错处理的目的),管理端收到后向至少两个与用户端对应的终端设备发送心跳包应答消息,发送周期由终端参数指定。3、连接的断开阶段。终端设备与管理端都可以主动断开连接,断开规则:平台方断开规则:(1)、主动断开TCP连接;(2)、相同身份,重新建立连接,平台方会主动断开原连接;(3)、在一定时间内未收到终端发出的消息;终端设备断开规则:(1)、主动断开TCP连接;(2)、在消息发送一定的次数后,未能收到平台方的应答数据。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。除非另有定义,本文所使用的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体实施例的目的,不是旨在限制本发明。