- 博客(73)
- 资源 (4)
- 收藏
- 关注

原创 淘宝Fourinone四合一分布式计算框架整体介绍
FourInOne(中文名字“四不像”)是一个四合一分布式计算框架,在写这个框架之前,我对分布式计算进行了长时间的思考,也看了老外写的其他开源框架,当我们把复杂的hadoop当作一门学科学习时,似乎忘记了我们想解决问题的初衷:我们仅仅是想写个程序把几台甚至更多的机器一起用起来计算,把更多的cpu和内存利用上,来解决我们数量大和计算复杂的问题,当然这个过程中要考虑到分布式的协同和故障处理。如果仅仅是
2011-09-01 13:29:04
1024
Fourinone-4.17.10 新版本发布:单机毫秒完成上亿大数据常规统计
虽然现在最火的是AI,但是大数据和计算能力仍然是机器学习/AI算法的重要支撑,我们的业务场景大部分是通过手机终端、服务器日志不断产生日志数据,通过消息通道发送到大数据平台进行存储、加工和统计,然后在统计数据之上提供算法挖掘用户偏好行为和画像,为此,我们的关键任务是需要从海量数据里统计分析每项产品的去重用户、新增用户、pv、uv、dau(日活)、mau(月活)等指标,这个过程存储占用越少,计算时间...
2017-12-22 11:39:23
219
搞懂深度学习到底需要哪些数学知识
为了彻底理解深度学习,我们到底需要掌握哪些数学知识呢?经常看到会列出一系列数学科目:微积分、线性代数、概率论、复变函数、数值计算等等。这些数学知识有相关性,但实际上这是一个最大化的知识范围,学习成本会非常久,本文尝试归纳理解深度学习所需要的最小化数学知识和推导过程。http://blog.youkuaiyun.com/wemedia/details.html?id=41335...
2017-07-28 16:36:31
782
1
原创 Fourinone如何实现并行计算和数据库引擎
本文整理自优快云架构师专家群技术分享内容:关于并行计算的概念有非常多,硬件落地其实就只有两种,CPU上的并行计算和GPU上的并行计算,GPU做点积这样的矢量计算(矩阵计算)有优势,但目前还运行不了操作系统和数据库,比较多用于研究性质的计算。在我们生产系统中运用最多的是CPU上的并行计算,其落地方式也只有两种,多线程和多进程。围绕多线程、多进程结合通信技术的灵活设计,它的应用范围非常广泛,不光...
2016-03-03 14:05:07
381
原创 强烈谴责辱骂抹黑开源作者的恶劣行为
近日收到以下低素质用户的辱骂邮件,真的让人愤慨 fourinone到底挖了谁家的祖坟,至于这样变态吗? 一个坚持创新并自由分享的开源软件,居然一直有这种阴暗卑鄙的人对作者做人身攻击,并且到处黑。如果觉的不能给自己带来帮助,可以去选择自己喜欢的产品,作者又没有强迫别人来用。作者根据业余爱好编写和维护一个开源产品有错吗,怎么就得罪了一些小人的利益了呢。 对恶意攻击fourinone和我本人的行为由...
2015-12-08 16:26:53
307
原创 Fourinone-4.15.08(四不像)新版本发布
4.15.08升级版主要增强了CoolHash以下功能:为了方便在Tomcat等多线程服务器内调用,开通了CoolHash的多线程客户端支持(4.05版由于jvm安全隔离性考虑只支持多进程客户端),提升数据库引擎对单条数据读写的高并发低延迟处理能力,做到1000-5000级别多线程并发读写几毫秒完成(网络访问,单server,8核8g内存普通配置)。详见自带Demo:ThreadClient.j...
2015-08-24 17:24:18
270
原创 Fourinone-4.15.08(四不像)新版本发布
CoolHash数据库引擎介绍:http://www.iteye.com/news/29025-Fourinone-CoolHash4.15.08升级版主要增强了CoolHash以下功能:1、为了方便在Tomcat等多线程服务器内调用,开通了CoolHash的多线程客户端支持(4.05版由于jvm安全隔离性考虑只支持多进程客户端),提升数据库引擎对单条数据读写的高并发低延迟处理能力,做...
2015-08-24 14:12:35
219
原创 CoolHash数据库引擎压测对比报告
Coolhash当前性能指标:读写吞吐量超过百万,千万级别查询1秒完成,连续48小时打满CPU强压力运行稳定。redis官方公布读写性能在10万tps,leveldb官方公布写性能在40万tps,读在6万tps,redis和leveldb都是倾向k/v高速读写,但不具备高效检索功能,没有join关联设计。coolhash可以拿去pk世界上任何的数据库引擎产品。下面以redis为例进行了详细测试和...
2014-07-09 21:09:05
167
原创 CoolHash数据库的产品宣言(Fourinone4.0版)
Fourinone4.0版新特性:一个高性能的数据库引擎CoolHash(酷哈嘻)一、前言:如何写一个数据库如果将操作系统和业务应用之间的软件都统称中间件的话,那么最重要的软件无疑是数据库,它比web应用服务器市场更大,几乎所有的业务系统都需要数据库,所有的企业都会购买数据库。无论是早期的商业智能也好,数据分析挖掘也好,近年的分布式存储也好,大数据也好...围绕数据变着花样的新理念新技术再
2014-05-19 20:48:21
839
CoolHash数据库的产品宣言(Fourinone4.0版)
Fourinone4.0版新特性:一个高性能的数据库引擎CoolHash(酷哈嘻)[b]一、前言:如何写一个数据库[/b]如果将操作系统和业务应用之间的软件都统称中间件的话,那么最重要的软件无疑是数据库,它比web应用服务器市场更大,几乎所有的业务系统都需要数据库,所有的企业都会购买数据库。无论是早期的商业智能也好,数据分析挖掘也好,近年的分布式存储也好,大数据也好...围绕数据变着花...
2014-05-06 21:29:34
157
《大规模分布式系统架构与设计实战》图书上市
感谢java图书出版权威机械工业出版社出版了《大规模分布式系统架构与设计实战》一书,该书相对于技术博客和指南更加详细完整的介绍了fourinone的设计思想和架构原理,收集了众多典型示例并附有大量图示步骤,手把手教你掌握分布式核心技术。详细参见:[url=http://product.china-pub.com/3769476#con_a_1]http://product.china-pub....
2014-03-17 19:58:00
216
如何设计一个实时流计算系统
实时流计算的场景归纳起来多半是:[color=red]业务系统根据实时的操作,不断生成事件(消息/调用),然后引起一系列的处理分析,这个过程是分散在多台计算机上并行完成的,看上去就像事件连续不断的流经多个计算节点处理,形成一个实时流计算系统。[/color] 市场上流计算产品有很多,主要是通过消息中枢结合工人模式实现,大致过程如下: 1、开发者实现好流程输入输出节点逻辑,上传job...
2013-08-11 11:56:52
633
原创 下载地址和指南说明
Fourinone当前最新版本为4.17.10版本,原Google code迁移到github code,原国内oschina code和csdn code合并到gitee code技术博客内容为时间倒排,新来朋友可以翻到最后一页按照数字标示查阅。[url]https://github.com/fourinone/fourinone[/url][url]https://gitee....
2013-08-09 14:42:59
176
fourinone-3.04.25最新版升级发布
fourinone-3.04.25最新版升级内容:1、编译和运行环境升级为jdk7.0版本;2、计算中止和超时中止的支持,比如多台计算机工人同时执行查找,一旦某台计算机工人找到,其余工人全部中止并返回。以及可以由工人控制或者框架控制的计算过程超时中止。3、一次性启动多工人进程支持,可以通过程序api一次性启动和管理“ParkServer/工头/工人”多个进程,并附带良好的日志输出功能,...
2013-04-25 16:32:38
190
3月14日圆周率日—使用并行计算求圆周率π
关于圆周率大家再熟悉不过了:我们从课本上学习到早在一千多年前,祖冲之将圆周率计算到3.1415926到3.1415927之间…计算机诞生后,计算圆周率被用来检测计算机的硬件性能,昼夜燃烧cpu看会不会出问题…另外一些人也想看看这个无限延伸的神秘数字背后是否有规律,能发现一些宇宙的秘密…[align=center][img]http://dl.iteye.com/upload/attachm...
2013-03-14 15:09:46
712
计算过程中的故障和容灾处理
使用Fourinone可以完成大部分分布式并行计算需求, 但是计算过程中的故障和容灾处理是怎么进行的呢, 这里详细分析一下:[color=red]总的来说,Fourinone框架不会在设计中抛弃错误不处理或者容忍错误导致框架崩溃,框架通常会捕获所有的错误反馈给开发者去处理,但是框架本身不自作主张,替开发者考虑处理方案,只有这样框架才能从特定场景中抽象出来,给开发者更灵活的发挥和去满足各种更...
2013-03-04 13:29:47
391
原创 使用并行计算大幅提升递归算法效率
前言:无论什么样的并行计算方式,其终极目的都是为了有效利用多机多核的计算能力,并能灵活满足各种需求。相对于传统基于单机编写的运行程序,如果使用该方式改写为多机并行程序,能够充分利用多机多核cpu的资源,使得运行效率得到大幅度提升,那么这是一个好的靠谱的并行计算方式,反之,又难使用又难直接看出并行计算优势,还要耗费大量学习成本,那就不是一个好的方式。由于并行计算在互联网应用的业务场景都比
2012-12-19 10:59:07
3747
1
使用并行计算大幅提升递归算法效率
[color=red]前言:无论什么样的并行计算方式,其终极目的都是为了有效利用多机多核的计算能力,并能灵活满足各种需求。相对于传统基于单机编写的运行程序,如果使用该方式改写为多机并行程序,能够充分利用多机多核cpu的资源,使得运行效率得到大幅度提升,那么这是一个好的靠谱的并行计算方式,反之,又难使用又难直接看出并行计算优势,还要耗费大量学习成本,那就不是一个好的方式。[/color]...
2012-12-19 10:28:13
453
原创 fourinone分布式协调设计解析
分布式协同是分布式应用中不可缺少的,通常担任协调者的角色,或者说是将多机协同的职责从分布式应用中独立出来,以减少系统的耦合性和增强扩充性。Apache的Zookeeper, google的Chubby都是分布式协同的实现者。fourinone实际上可以单独当做Zookeeper用,它使用最少的代码实现了Zookeeper的所有功能,并且力图做到功能更强但是使用更简洁。一、实现原理fou
2012-11-06 16:50:02
1082
fourinone分布式协调设计解析
分布式协同是分布式应用中不可缺少的,通常担任协调者的角色,或者说是将多机协同的职责从分布式应用中独立出来,以减少系统的耦合性和增强扩充性。Apache的Zookeeper, google的Chubby都是分布式协同的实现者。[url=http://fourinone.iteye.com]fourinone[/url][color=red]实际上可以单独当做Zookeeper用,它使用最少的代码实现...
2012-11-06 16:26:46
132
原创 大数据机遇和挑战
本ppt完整介绍了大数据的背景、机遇和挑战,并且相关的落地技术和业界状况,为大数据的研究提供全面的参考http://download.youkuaiyun.com/detail/fourinone/4624883
2012-10-09 10:43:34
838
淘宝校招鸡蛋篮子算法题标准答案
又到一年校招时,阿里集团虽然今年休养生息,缩紧招聘,但是现在继续开放校招,不过只招a类学生,也就是重点学校的最优学生(面试官认为),以往多半是研究生居多,本科生录用比率减少,但是编程逻辑思维好的学生仍然是不多的,这是去年出的一道原创题和它的标准答案,做对的人非常少。[color=red]题目:把N个鸡蛋放到M个篮子里,每个篮子不能为空,要求满足:任意给出一个不超过N的数量,都能找到其中某几...
2012-09-24 10:40:37
381
原创 淘宝校招鸡蛋篮子算法题标准答案
又到一年校招时,阿里集团虽然今年休养生息,缩紧招聘,但是现在继续开放校招,不过只招a类学生,也就是重点学校的最优学生(面试官认为),以往多半是研究生居多,本科生录用比率减少,但是编程逻辑思维好的学生仍然是不多的,这是去年出的一道原创题和它的标准答案,做对的人非常少。 题目:把N个鸡蛋放到M个篮子里,每个篮子不能为空,要求满足:任意给出一个不超过N的数量,都能找到其中某几个篮子的鸡蛋和等于它。
2012-09-21 16:12:06
1587
原创 分布式计算多机部署与配置
在分布式计算上手demo指南,分布式计算sayhello,分布式计算完整demo中,对于工人(worker)、工头(ctor),parkserver在多台计算机上的部署和配置:每台计算机放置实现类,fourinone.jar,config.xml文件即可,parkserver的ip配置要保持一致(也可以用域名)假设有192.0.0.1,192.0.0.2,192.0.0.3三台计算机:
2012-08-27 10:09:23
1475
原创 分布式计算互相sayhello
假设你已经看过分布式计算上手demo指南,对fourinone基本的分布式并行计算方式有了初步了解。本demo演示了工头和几个工人之间互相sayhello的简单例子,从而了解到集群计算节点之间互相交互,以及工头批量处理和工人互相传递数据(多用于合并)的功能。HelloCtor:是一个工头实现,它实现giveTask接口,它首先通过getWaitingWorkers获取到一个线上工人
2012-08-27 09:59:54
866
分布式计算多机部署与配置
在[url=http://fourinone.iteye.com/blog/1171541]分布式计算上手demo[/url],[url=http://fourinone.iteye.com/blog/1569747]分布式计算sayhello[/url],[url=http://fourinone.iteye.com/blog/1171544]分布式计算完整demo[/url]中,对于工人(...
2012-07-19 18:21:36
193
分布式计算互相sayhello
假设你已经看过[url=http://fourinone.iteye.com/blog/1171541]分布式计算上手demo指南[/url],对fourinone基本的分布式并行计算方式有了初步了解。本demo演示了工头和几个工人之间互相sayhello的简单例子,从而了解到集群计算节点之间互相交互,以及工头批量处理和工人互相传递数据(多用于合并)的功能。HelloCtor:是一...
2012-06-28 10:55:47
121
分布式计算自动部署
对于一个分布式计算的应用,如果不需要自动部署,将工头工人程序文件分别部署到相应机器运行即可,不需要过多配置。fourinone2.0可以支持自动化class和jar包部署,class和jar包只需放在工头机器上, 各工人机器会自动获取并执行,兼容操作系统,不需要进行安全密钥复杂配置.假设有一个分布式计算job,包括三个程序文件:JobCtor:包工头实现JobWorker:...
2012-06-26 17:43:25
213
淘宝分布式框架Fourinone2.0正式版发布
淘宝Fourinone2.0提供了一个4合1分布式框架和简单易用的编程api,实现对多台计算机cpu,内存,硬盘的统一利用,从而获取到强大计算能力去解决复杂问题。Fourinone框架提供了一系列并行计算模式(农民工/包工头/职介绍/手工仓库)用于利用多机多核cpu的计算能力;提供完整的分布式缓存和小型缓存用于利用多机内存能力;提供像操作本地文件一样操作远程文件(访问,并行读写,拆分,排它,复制,...
2012-06-04 11:03:05
152
原创 Fourinone2.0对分布式文件的简化操作
Fourinone2.0里通过FttpAdapter和FileAdapter实现文件io的支持。其中,FttpAdapter提供对远程文件的操作,FileAdapter提供对本地文件的操作,两者api和使用相似,这里主要说明FttpAdapter:FttpAdapter提供了对分布式文件的便利操作, 将集群中所有机器的硬盘资源利用起来,通过统一的fttp文件路径访问,并且windows和l...
2012-05-30 14:17:08
367
操作分布式文件之八:如何批量并行读写远程文件和事务补偿处理
FileBatch类提供了一系列对批量并行读写操作支持(包括对FttpAdapter和FileAdapter),它跟并行读写的区别是不需要检查结果,会等到所有并行读写任务全部完成才返回,并在发生异常时提供事务补偿支持。 1、批量并行读:public Result<byte[]>[] readAllBatch(TryByteReadAdapter[] fras)实现对多个Fttp...
2012-05-30 13:51:23
135
操作分布式文件之七:如何并行读写远程文件
FttpAdapter是通过FttpReadAdapter的tryReadAll方法进行并行读FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log");Result<byte[]> rs = fa.getFttpReader().tryReadAll(); 调用tryReadAll会立即返回一...
2012-05-30 13:37:39
157
原创 操作分布式文件之六:如何解析远程文件
假设通过FttpAdapter已经读取到远程文件中一部分数据,如下:FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log");FttpReadAdapter reader = fa.getFttpReader();byte[] bts = reader.readAll();上面得到一个byte数组,那么如何解...
2012-05-30 11:55:36
104
原创 Fourinone 分布式框架 2.0 正式版发布
Fourinone2.0提供了一个4合1分布式框架和简单易用的编程api,实现对多台计算机cpu,内存,硬盘的统一利用,从而获取到强大计算能力去解决复杂问题。Fourinone框架提供了一系列并行计算模式(农民工/包工头/职介绍/手工仓库)用于利用多机多核cpu的计算能力;提供完整的分布式缓存和小型缓存用于利用多机内存能力;提供像操作本地文件一样操作远程文件(访问,并行读写,拆分,排它,复制,解析
2012-05-29 15:49:46
958
原创 Fourinone2.0对分布式文件的简化操作
Fourinone2.0里通过FttpAdapter和FileAdapter实现文件io的支持。其中,FttpAdapter提供对远程文件的操作,FileAdapter提供对本地文件的操作,两者api和使用相似,这里主要说明FttpAdapter:FttpAdapter提供了对分布式文件的便利操作, 将集群中所有机器的硬盘资源利用起来,通过统一的fttp文件路径访问,如:windows:f
2012-05-29 15:45:45
670
原创 操作分布式文件之八:如何批量并行读写远程文件和事务补偿处理
FileBatch类提供了一系列对批量并行读写操作支持(包括对FttpAdapter和FileAdapter),它跟并行读写的区别是不需要检查结果,会等到所有并行读写任务全部完成才返回,并在发生异常时提供事务补偿支持。1、批量并行读:public Result[] readAllBatch(TryByteReadAdapter[] fras)实现对多个FttpReadAdapter任务
2012-05-29 15:35:15
932
原创 操作分布式文件之七:如何并行读写远程文件
FttpAdapter是通过FttpReadAdapter的tryReadAll方法进行并行读FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log");Result rs = fa.getFttpReader().tryReadAll();调用tryReadAll会立即返回一个Result,但是不能马
2012-05-29 15:34:18
825
fourinone架构原理
2012-09-19
Fourinone分布式计算框架性能、压力、容灾测试报告
2012-02-27
Fourinone分布式计算框架
2011-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人