0 0

java排重算法0

设备上安装的app应用,用户点击一次就会调用我们的接口,记录下信息:用户id,打开应用起始时间,结束时间,app名称等等。这些信息会生成log文件,log每一行就是上面记录的信息。这些数据要通过分析之后转存到DB里,为了以后可以在界面统计不同用户点击的次数:按小时、天、月、年。规则就是:如果是按小时,那么同一个用户一小时不管点击多少次都算做1次;如果是按天,一天内不管点击多少次也只算做1次,以此类推。
我要做的就是,分析log的信息,数据库存储应该把这些时间单位都考虑进去。DB就是最终数据,以后我如果想在页面按小时、(天、周、月、年)来统计,直接从表里取数据就可以了。
现在问题就是:我该用什么逻辑或者算法,来把log信息转换成我想要的DB信息呢?而且还要考虑按照时间来去除重复数据。
2014年11月18日 16:41

2个答案 按时间排序 按投票排序

0 0

推荐你看看这篇文章:http://finallygo.iteye.com/admin/blogs/2153014
建议你使用redis:
使用2.8.9以上版本,有一个 hyperloglog 的结构,天生就是来解决uv问题的,但是这个可能会有少量的误差
如果你需要完全精确,可以采用set集合,但是内存占用会比hyperloglog多

2014年11月19日 12:32
0 0

log4j或者log4net都有DBAppender,可以把log直接输入到DB的表里面去。
之后你可以写SQL或者程序去查询,加工数据。

2014年11月18日 18:42

相关推荐

    1204 Java 遗传算法排课java sqlserver.rar_java排课算法_排课_排课系统java_遗传算法Java

    在排课问题中,每个解代表一种课程安排,遗传算法会不断迭代,生成更优的排课方案。 2. **Java编程**:Java是一种跨平台的面向对象编程语言,具有丰富的库和工具,适用于开发复杂的应用程序,如本案例中的排课系统...

    Java基于遗传算法的自动排课系统源码.zip

    Java基于遗传算法的自动排课系统源码.zipJava基于遗传算法的自动排课系统源码.zipJava基于遗传算法的自动排课系统源码.zipJava基于遗传算法的自动排课系统源码.zipJava基于遗传算法的自动排课系统源码.zipJava基于...

    快排算法java

    在Java中,快速排序广泛应用于对象排序,而对于基本数据类型则更倾向于使用其他算法,如双轴快速排序或插入排序。 ### 快速排序的基本思想 快速排序的基本思想是将待排序数组分为两个部分:一部分的所有元素都比另...

    基于Java的车间调度智能排产集成框架设计源码

    总的来说,基于Java的车间调度智能排产集成框架设计源码为制造型企业提供了一种高效、灵活的生产管理工具,通过智能排产算法优化生产流程,提升生产效率,降低生产成本。对于学习者来说,深入研究此框架,不仅可以...

    java编写的APS(高级排产系统)

    吐血上传,这可是全球著名IT公司ILog的APS高级排产优化引擎,就连SAP、Oracle等ERP中的物料需求计划与生产计划算法都来源于ILog。我研究了好久,中间的性线求解算法可真谓难呀。其中tutorialcndlg.htm是帮助文件,...

    山东大学 大数据实验二 倒排索引算法Java实现

    基于hadoop集群系统(也可以在伪分布式系统上运行)系统使用Java编写的倒排索引实现,具有使用停词表功能,使用正则表达式选择规范的单词。代码重构了setup(),map(),combiner(),partitation()和reducer()函数,...

    基于遗传算法的排产算法测试,使用CXF

    在这个项目中,"基于遗传算法的排产算法测试"利用了遗传算法的特性来解决生产调度问题。 CXF(Apache CXF)是一个开源的Java框架,用于构建和开发服务导向架构(SOA)和RESTful应用程序。在这里,CXF被用作通信桥梁...

    java编写的快排算法

    在Java编程中,我们可以使用递归的方式来实现这个算法。以下是关于Java实现快速排序的详细解释: 1. **分治法**:快速排序的核心在于分治,即将一个大数组分为两个子数组,然后对这两个子数组分别进行排序。在Java...

    模拟退火算法的java实现

    模拟退火算法,java实现TSP问题的解决实例,把代码放在了TXT里面,直接copy运行就可以了

    Java实现所有算法(代码)

    在编程领域,Java是一种广泛应用的高级编程语言,尤其在企业级应用、大数据处理以及算法实现等方面有着广泛的用途。本资源“Java实现所有算法(代码)”是一个专为教育目的设计的项目,它提供了用Java语言编写的各类...

    基于Java的贪婪算法实现排课系统.zip

    在本项目中,我们探讨的是一个基于Java编程语言实现的排课系统,它利用了贪婪算法来优化课程安排。贪婪算法是一种求解最优解的策略,通常在每一步选择中都采取当前状态下最好或最优的选择,希望以此得到全局最优解。...

    GA_java.rar_JAVA 遗传算法_遗传算法 _遗传算法 java_遗传算法源码

    《JAVA实现遗传算法详解》 遗传算法是一种模拟自然选择和遗传...遗传算法不仅可以解决最优化问题,还可以应用于机器学习中的特征选择、网络路由优化、排程问题等多种复杂问题,是计算机科学领域中极具价值的工具之一。

    JAVA冒泡排序算法

    选择排序是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 每种排序算法根据其应用场景,数据的大小、...

    算法课程设计——分治法(java实现)

    算法课程设计——分治法(java实现) 本课程设计报告的主要内容是对分治法的详细分析和讲解,并使用 Java 语言对其进行实现。分治法是一种经典的排序算法,它的主要思想是将问题分解为两个子序列,然后对子序列进行...

    java算法大全源码包

    Java算法大全源码包是一个集合,包含了众多使用Java语言实现的算法示例代码。这个压缩包为学习和理解计算机科学中的各种算法提供了宝贵的资源。在Java编程中,掌握算法是提升编程技能和解决复杂问题的关键。下面将...

    JAVA经典算法收集整理

    【JAVA经典算法收集整理】 在计算机科学中,算法是解决问题或执行任务的精确步骤序列,它们对于编程至关重要,特别是对于性能敏感的应用。JAVA作为一种广泛使用的编程语言,拥有丰富的算法实现。以下是一些经典的...

    java 数据结果和算法

    在Java编程领域,数据结构和算法是至关重要的组成部分,它们是高效解决问题的基础。"Java 数据结果和算法"第二版深入探讨了如何利用Java语言来理解和实现各种数据结构以及算法,帮助开发者提升编程技能和问题解决...

    Java排列组合算法分析和代码实现

    本资源深入讲解了如何在Java中实现这两种基本算法。 首先,让我们来理解排列(Permutation)的概念。排列是指从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列的所有可能的方法。在Java中,递归是一种...

Global site tag (gtag.js) - Google Analytics