本发明涉及Java程序设计技术领域,尤其涉及一种Java实现存储视频收视率的方法。

背景技术:

在项目研发过程中,遇到这样一个需求。客户想要将用户在机顶盒上观看的直播频道、点播影片等用户行为存储到数据库,包括观看的频道/节目、观看开始时间、观看时长、用户ID、观看类型等。

由于apk已经发行了上线版本,不会去主动调后台接口存储,只能在服务器端想办法存储数据。

开源技术简介:

过滤器:Java过滤器能够对目标资源的请求和响应进行截取,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。

消息中间件:消息队列(MQ)是一种应用程序对应用程序的通信方法。消息传递指的是程序之间通过在消息中发送数据进行通信。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。

Mongo数据库:MongoDB是一个基于分布式文件存储的数据库。它支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。

如果通过以上开源技术解决现有问题倒是一个非常合适的选择。

技术实现要素:

为了解决以上技术问题,本发明提出了一种Java实现存储视频收视率的方法,涵盖Java过滤器、Apache activemq消息队列、收视率数据存储等功能。

本发明的技术方案是:

一种Java实现存储视频收视率的方法,通过Java过滤器、消息中间件、数据库连接工具等,实现请求数据拦截、队列消息发送及接收、数据解析等功能,进而将整理后的收视率数据存储到数据库中。

进一步的,

通过Java过滤器拦截机顶盒请求的视频源url,然后解析url得到用户ID、节目ID、观看时间、观看类型等信息,再通过重定向将真实的视频源url返给机顶盒。

为了避免存储收视率数据耗时影响用户观看体验,进而引入消息中间件,用于队列消息的发送及接收,将存储数据这样相对耗时的工作放在后台执行,用mongo数据库存储数据。

主要操作步骤如下:

1、使用Java编写过滤器函数。该函数可实现拦截机顶盒请求的视频源url,并重定向到正确的视频源url。

2、使用Java编写数据解析函数。该函数可实现解析步骤1拦截到的url,得到用户ID、节目ID、观看时间、观看类型等信息,并拼装成实体类。

3、使用Java编写数据存储函数。该函数用于将步骤2拼装好的实体类按指定格式存储到mongo数据库中。

4、整合Apache activemq消息中间件,定义消息发送者和消息消费者,消息发送者用于将步骤2中拼装后的实体类发送到消息队列,消息消费者负责将接收到的数据消息使用步骤3的方法存储。

附图说明

图1是本发明的工作流程示意图。

具体实施方式

下面对本发明的内容进行更加详细的阐述:

本发明主要操作步骤如下:

1、使用Java编写过滤器函数。该函数可实现拦截机顶盒请求的视频源url,并重定向到正确的视频源url。

2、使用Java编写数据解析函数。该函数可实现解析步骤1拦截到的url,得到用户ID、节目ID、观看时间、观看类型等信息,并拼装成实体类。

3、使用Java编写数据存储函数。该函数用于将步骤2拼装好的实体类按指定格式存储到mongo数据库中。

4、整合Apache activemq消息中间件,定义消息发送者和消息消费者,消息发送者用于将步骤2中拼装后的实体类发送到消息队列,消息消费者负责将接收到的数据消息使用步骤3的方法存储。

具体代码实现:

1、过滤器

2、数据解析函数

3、数据存储函数

4、消息发送者

5、消息消费者

以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

java视频保存_一种Java实现存储视频收视率的方法与流程相关推荐

  1. java 基于类路径搜索_一种基于ClassLoader的自定义类查找方法与流程

    本发明涉及IT技术领域,特别是指一种基于ClassLoader的自定义类查找方法. 背景技术: 随着信息系统的复杂性日益增大,使用反射机制设计的系统越来越多.根据不同的业务需要通过反射去获得相应的处理 ...

  2. java jar 打印_三种Java打印PDF文档的实例代码

    以下内容归纳了通过Java程序打印PDF文档时的3种情形.即: 1 静默打印 2 显示打印对话框打印 3 打印PDF时自定义纸张大小 使用工具:Spire.PDF for Java Jar文件获取及导 ...

  3. java native 原理_一种Java+Native应用的系统架构的制作方法

    本发明涉及智能卡技术领域,特别是要求支持Java功能的智能卡领域. 背景技术: Java卡是Sun微系统为智能卡开发平台而制定的一个开放的标准.使用Java卡平台创建的智能卡上存有Java apple ...

  4. java 字符拼接_七种java字符串拼接详解

    01."+"号操作符 要说姿势,"+"号操作符必须是字符串拼接最常用的一种了,没有之一. String chenmo = "沉默"; Str ...

  5. 服务器基线加固脚本_一种基于WebLogic的安全基线加固方法与流程

    本发明涉及一种安全基线加固方法,尤其涉及一种基于weblogic的安全基线加固方法. 背景技术: weblogic是一个基于javaee架构的中间件,用于开发.集成.部署和管理大型分布式web应用.网 ...

  6. unity 陶瓷质感_一种基于Unity3D的虚拟陶瓷设计方法与流程

    本发明涉及虚拟现实领域,特别涉及一种基于Unity3D的虚拟陶瓷设计方法. 背景技术: 陶艺工艺制作环境要求严格:不仅在拉坯成型需要利用旋转机器,在烧制过程则需要窑炉锻造,如何将陶瓷制作工艺与虚拟现实 ...

  7. 树展示 移动端_一种手机端树形数据结构的展现方法与流程

    本发明涉及数据结构的展现领域,尤其涉及一种手机端树形数据结构的展现方法. 背景技术: 在企业中,组织结构表现为部门.员工.职称等一种群体关系图,它形象的反映了企业内部各部门和员工上下左右之间的相互关系 ...

  8. 手机室内地磁定位软件_一种基于地磁的智能手机实时定位方法与流程

    本发明涉及室内地磁定位导航方法,具体涉及一种基于地磁的智能手机实时定位方法,属于移动计算和室内定位技术领域. 背景技术: 随着室内定位导航的日益需求,利用地磁信息作为位置指纹的室内定位导航技术显示出其 ...

  9. python 回声程序_一种回声消除系统及回音消除方法与流程

    本发明涉及通信技术领域,具体涉及一种回声消除系统及回音消除方法. 背景技术: 回声消除器通常由滤波器和算法组成,根据具体应用和性能要求的不同可以有多种选择. 滤波器有FIR(有限长度冲激晌应)滤波器和 ...

最新文章

  1. Python编写Hive UDF
  2. 2030全球新出行产业报告:2.2万亿美元蛋糕将这样分
  3. session过期情况下ajax请求不会触发重新登录的问题
  4. hadoop 源码编译---Win7(64位)
  5. 【个人感悟】效率,天道酬勤
  6. linux下获取时间的函数
  7. MySQL数据步骤管控_数据管理的发展过程分为哪三个阶段
  8. ECSHOP 如何去掉配送区域
  9. 疯狂的Web应用开源项目
  10. 【SPOJ - NSUBSTR】Substring(统计长度为x的子串最多出现的次数--后缀自动机)
  11. macOS中安装secoclient
  12. c语言标准之c99下载,C语言标准中的C99与最新的C11
  13. 64行代码实现简单人脸识别
  14. geoserver样式(SLD方式)—— 图层元素在不同比例尺显示不同样式
  15. 计算机音乐谱子 追光者,精选追光者简谱
  16. 手把手带你调参Yolo v5 (v6.2)(训练)
  17. CXPlain: Causal Explanations for Model Interpretation under Uncertainty
  18. 「小猪佩奇」:成功儿童IP背后的商业逻辑和方法论
  19. 计算机应用700字自我鉴定,有关计算机应用自我鉴定
  20. 考试末名的英国教授获诺贝尔奖

热门文章

  1. Android 原生设置Settings.apk恢复出厂页面操作体验优化
  2. UML类图-软件需求分析与设计(很详细,很详细,很详细)
  3. Ubuntu下升级安装gcc-7.5.0
  4. matlab中simulink和flightgear联合仿真
  5. 【FTP局域网配置共享文件】
  6. Android开发定位
  7. 80篇各ajax框架入门教程
  8. ejb 3 开发快速入门 2 建立EJB工程
  9. 《深入浅出Python》与《Python网络数据采集》读后感
  10. 使用立体声混音(Stereo Mix)录制音频的补充