`
文章列表
APDPlat提供了web接口的数据库备份与恢复,支持手工操作和定时调度,可下载备份文件到本地,也可把备份文件发送到异地容错,极大地简化了数据库的维护工作。   设计目标: 1、多数据库支持 2、横切关注点隔离 3、异地容错   下面阐述具体的设计及实现:   1、为了支持多数据库,统一的接口是不可避免的,如下所示:   /** * 备份恢复数据库接口 * @author 杨尚川 */ public interface BackupService { /** * 备份数据库 * @return 是否备份成
Amazon Dynamo的NWR模型,把CAP的选择权交给了用户,让用户自己选择CAP中的哪两个。   N代表N个副本(replication),W代表写入数据时至少要写入W份副本才认为成功,R表示读取数据时至少要读取R份副本。对于R和W的选择,要求W+R > N。    优化写性能(AP) 当我们需要优化写性能(写多读少)的时候,可以配置W = 1 (写完一个副本就成功,其他的副本就异步去慢慢复制都可以),如果N=3,那么根据公式W+R>N,则R = 3(读取数据的时候需要读3个副本以判断数据是否有冲突)。 这种情况只要写任何节点成功就认为成功,但是读的时候必须从所 ...
APDPlat提供了业务日志和监控日志,以便对用户操作进行审计、对系统性能进行调优。   业务日志主要包括数据的增删改日志、备份恢复日志以及用户登录注销日志。监控日志主要包括用户请求响应时间、内存使用情况、全文索引重建情况、系统启动关闭事件。   设计目标:   1、灵活,可以很容易地启用或停用 2、性能,不对正常的业务操作造成影响 3、开放,容易和第三方系统整合   下面阐述具体的设计及实现:   1、在灵活性方面,可以在配置文件config.properties或config.local.properties中指定选项来启用(true)或停用(false),如下所 ...
HDFS is a filesystem designed for storing very large files with streaming data access patterns, running on clusters of commodity hardware. Let’s examine this statement in more detail: Very large files“Very large” in this context means files that are hundreds of megabytes, gigabytes, or terabytes i ...
With respect to CAP, HBase is decidedly CP. HBase makes strong consistency guarantees. If a client succeeds in writing a value, other clients will receive the updated value on the next request.In HBase, data is only served by one region server (even if it resides on multiple data nodes). If region ...
项目托管于Github   1、接口 /** *报纸采集器 * @author 杨尚川 */ public interface PaperCollector { /** * 下载当日报纸,一个文件对应一个版面 * @return 报纸 */ List<File> collect(); /** * 下载指定日期的报纸,一个文件对应一个版面 * @param date 指定日期 * @return 报纸 */ List<File> ...
APDPlat使用slf4j来做日志框架,由于slf4j不支持国际化日志,所以APDPlat使用自定义的APDPlatLogger类来支持国际化日志。使用方法如下:   1、构造日志对象 private static final APDPlatLogger LOG = new APDPlatLogger(SystemListener.class);    2、输 ...
  Hadoop的发行版除了社区的Apache Hadoop外,Cloudera,Hortonworks,MapR,EMC,IBM,Intel,华为等都提供了自己的商业版本。商业版主要是提供了专业的技术
APDPlat是Application Product Development Platform(应用级产品开发平台)的缩写。 项目官网 发布日志 APDPlat提供了应用容器、多模块架构、代码生成、安装程序、认证授权、备份恢复、数据字典、web service、系统监控、操作审计、统计图、报表、机器绑定、防止破解、数据安全、内置搜索、数据转换、maven支持、WEB组件、内容管理、工作流、Web资源优化等功能。 APDPlat使用的技术主要有: Web前端使用EXT JS 前端控制器使用Struts2 IOC容器使用Spring ORM使用JPA,默认实现是Hibernate ...
1. HDFS使用集中式单一节点架构(NameNode)来维护文件系统元数据,而在Swift中,元数据分布在整个集群中并拥有多个副本。注意:集中式元数据存储使HDFS存在性能、单点故障和扩展性问题,因此规模越大就性能越低,就越容易不可用,就越难扩展甚至不能扩展,所幸的是HDFS2使用NameNode HA和HDFS Federation解决了这三个问题。 2. Swift在设计时考虑到了多租户架构,而HDFS没有多租户架构这个概念。 3. HDFS针对大文件作了优化(HDFS关注吞吐量,常用于批量数据处理),而Swift被设计成可以存储任意大小的文件。 4. 在HDFS中,文件只能写入 ...
wget http://mirrors.hust.edu.cn/apache/hadoop/common/stable2/hadoop-2.2.0.tar.gz tar -xzvf hadoop-2.2.0.tar.gz cd hadoop-2.2.0 vi etc/hadoop/hadoop-env.sh 修改: export  JAVA_HOME=/home/ysc/jdk1.7.0_17 vi etc/hadoop/slaves 修改localhost为
使用JSoup+CSSPath采集和讯网人物信息   代码见github   模型类:   public class Person { private String name; //基本信息 private Map<String, String> basicInfos; //教育经历 List<String> educations; //工作经历 List<String> jobs; //重要事件 List<String> importants ...
对于搜索引擎来说,索引存放在成千上万台机器上,如何进行分布式搜索呢?   假设搜索结果是以分页的方式显示,以PageNumber代表当前页,从1开始,以PageSize代表页面大小,默认为10,以N代表搜索服务器数量。最简单的分布 ...
search托管于github   如何利用Java来调用谷歌搜索,更多细节请到github上查看search   自己没搜索引擎,又想要大规模的数据源,怎么办?可以对谷歌搜索善加利用,以小搏大,站在巨人的肩膀上。有很多的应用场景可以很巧妙地借助谷歌搜索来实现,比如网站的新闻采集,比如技术、品牌的新闻跟踪,比如知识库的收集,比如人机问答系统等,我之前做的一个准确率达百分之九十几的人机问答系统的数据源,其中一部分就是充分利用了谷歌搜索。  package org.apdplat.search; import java.io.IOException; import java.i ...
search托管于github   如何利用Java来调用百度搜索,更多细节请到github上查看search   自己没搜索引擎,又想要大规模的数据源,怎么办?可以对百度搜索善加利用,以小搏大,站在巨人的肩膀上。有很多的应用场景可以很巧妙地借助百度搜索来实现,比如网站的新闻采集,比如技术、品牌的新闻跟踪,比如知识库的收集,比如人机问答系统等,我之前做的一个准确率达百分之九十几的人机问答系统的数据源,其中一部分就是充分利用了百度搜索。我们可以很容易地扩展到其他的搜索引擎,使用JSoup+CSSPath技术,轻松获取页面的自定义的内容。   package org.apdplat. ...
Global site tag (gtag.js) - Google Analytics