分类目录: 数据库

开源照片整理系统jAlbum 0.1.3版本发布

第三个版本,jAlbum完整版差不多完工了:https://github.com/shentar/jAlbum/releases/tag/jAlbum_0.1.3

最后解决了文件系统监控的问题。利用Java1.7封装的文件系统的通知回调机制,实现对指定目录的递归监控,避免每次全盘扫描性能太低的问题。

注意对于linux系统对于单个用户能够监听的inotify对象个数做了限制,一般是限制为8192,因此需要修改系统内核的配置:在/etc/sysctl.conf文件中,新增一行:fs.inotify.max_user_watches=1000000,表明将该限制修改为100万个。下次重启后会生效,如果希望当前立即生效,则需要执行命令:sysctl –p 。

对于WatchService,只监控当前目录的变化,当前目录下新增文件或者文件夹时,当前文件夹会有修改事件或者创建事件,但是再下一层的文件夹或者文件发生变更时,并不会有任何事件,因此如果要监控指定的文件夹,需要递归监控到最后一层。没有验证文件系统的notify机制对进程性能和文件系统性能的影响,在树莓派上面简单验证了下,能够非常及时的发现新增文件,进程CPU和内存也没有明显的增加。终于解决了每次都有依赖全盘扫描一遍文件才能发现新增的文件的问题。

具体代码请参见源码中的DirWatchService类。

| 1 分2 分3 分4 分5 分 (5.00- 9票) Loading ... Loading ... | 同时归档在:Java, Jetty, WEB网络, 软件技术 | 标签: , , |

基于Java WEB的本地照片管理系统jAlbum

最近搭建了基于树莓派3的家庭NAS系统,使用btsync工具将家里的各个终端:台式电脑、笔记本和家人的各个手机上面的图片等文件都集中备份到了NAS上面。发现各个设备上面的图片存放时并没有非常严谨的分类,并且有大量的重复照片,就想着做一个管理工具放在树莓派3上面,提供web访问接口,浏览器可以直接访问,生成一个简易相册,供各个终端查看和下载照片。 想到哪儿做到哪儿,并没有非常详尽的需求分析分析和软件设计。最终实现了如下功能:

  1. 定时扫描挂载在树莓派系统上面的硬盘的指定目录,收集所有的照片文件,jpg,png类型。建立一张sqlite3数据表,存储所有照片的路径、时间、指纹和长宽比等信息。系统也支持运行在目前各个主流的操作系统:MS Windows、MAC OS和Linux上面,免安装部署。
  2. 对1步骤生成的照片库根据照片的指纹值进行剔重,生成一张新的表,确保内容相同的照片只存一条记录。并且所有记录按照照片的拍摄时间顺序排列。
  3. 提供RESTful的接口供浏览器访问和获取相册。提供分年、月、日的视图。在前端呈现上面直接使用Java生成web页面,没有用一些高级的Marker组件。
  4. 后台定时产生任务,扫描新增的文件和重建数据表。
  5. 支持mp4视频文件的呈现。(需要在本机支持ffmpeg和ffprobe命令,下载ffmpeg工具:ffmpeg.org,如果是Windows系统,则需要把exe文件直接放入C:\Windows目录下;Linux系统可以直接使用发行版的软件仓库安装该软件。)
  6. 新增后台同步照片到Amazon S3服务功能。建议设置生命周期将桶内的数据转换到Glacier以节省开支。使用最小的成本防止照片数据丢失。
  7. 使用Face++服务实现人像识别,并按照人像对照片进行归集。开启该功能需要根据Face++的提示获取访问API的密钥对。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 16票) Loading ... Loading ... | 同时归档在:Java, Jetty, WEB网络, 软件技术 | 标签: , , , , , |

数据库的最简单实现

作者: 阮一峰

所有应用软件之中,数据库可能是最复杂的。MySQL的手册有3000多页,PostgreSQL的手册有2000多页,Oracle的手册更是比它们相加还要厚。

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.73- 11票) Loading ... Loading ... | 同时归档在:算法数据结构 | 标签: , , |

Google Spanner 全球分布式数据库

原文地址:Spanner: Google’s Globally-Distributed Database 
中文翻译版下载:Google Spanner 中文版
PPT演示文档:spanner-osdi2012.pptx

讲解视频:

| 1 分2 分3 分4 分5 分 (4.75- 12票) Loading ... Loading ... | 同时归档在:云计算/云存储, 架构设计, 算法数据结构 | 标签: , , , |

Google 公布了分布式关系数据库F1的设计论文

该分布式关系型数据库基于Spanner,F1针对AdWords业务设计,兼具NoSQL的高可用性和扩展性,主要用来替代MySQL的集群。早期的时候已经有F1的介绍文档:幻灯片 F1 – The Fault-Tolerant Distributed RDBMS Supporting Google’s Ad Business

这一次,Google公布了其设计文档,阅读链接:

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 4票) Loading ... Loading ... | 归档目录:数据库 | 标签: , |

从数据库之“分久必合,合久必分”看大数据的发展

来自:卢东明 SAP全球数据库解决方案部 技术总监

文档链接:

从数据库之“分久必合,合久必分”看大数据的发展

| 1 分2 分3 分4 分5 分 (5.00- 3票) Loading ... Loading ... | 归档目录:数据库 | 标签: , , |
返回顶部