作者归档:admin

坚果云招聘内容编辑

我们将致力于创作一些高质量的文章,以给用户和业界贡献有价值的内容,包括这些文章: 1, 2, 3 。如果你对创作文章来影响他人感兴趣,那么请您考虑加入坚果云。

如下是招聘启事的详细内容:
亦存网络是一个充满朝气和创意的创业公司,身处创新前沿的互联网和云计算市场,核心产品“坚果云”拥有领先的技术和独特的产品定位,在业内颇受好评。

目前坚果云产品正处于品牌建立的早期,市场工作由具备经验丰富的外部合作伙伴以及资深的投资人帮助,但还需要一名伙伴,与我们一起编写新闻稿、联系知名博主编写博文、创造微博、论坛的话题。在创业公司,你将了解市场推广工作的全部内容和窍门、学会如何创造话题、如何建立自己的人际网络。 继续阅读

为什么应该放弃或减少使用MD5

MD5是一种常用的单向哈希算法。它被广泛用于以下几个用途:

  1. 检查数据是否一致。将两地存储的数据进行哈希,比较结果,如果结果一致就无需再进行数据比对。这是利用了其“抵抗冲突”(collision- resistant)的能力,两个不同的数据,其哈希值只有很小的几率一致。相当多数据服务,尤其是网盘服务,利用类似的做法来检测重复数据,避免重复上传。
  2. 存储用户密码。将密码哈希后的结果存储在数据库中,以做密码匹配。这是利用了其做为单向哈希的特点,从计算后的哈希值不能得到密码。
  3. 校验数据正确性。将数据和数据哈希后的结果一并传输,用于检验传输过程中数据是否有损坏。这是利用了很难找到两个不同的数据,其哈希结果一致的特点。

下面我们将说明为什么对于上面三种用途, MD5都不适用。 继续阅读

坚果云如何提高存储空间有效率

这个内容本是回答知乎上的一个问题。我的回答解释坚果云是如何采取措施更好的检测文件内和文件间重复数据,因此与大家分享。根据我们有限的了解,坚果云在提高存储空间利用率方面在整个业界(国内和国外)都是非常优秀的,即使是和Amazon,Google, Microsoft, IBM, EMC等有深厚积累的巨头相比。当然,巨头们也很可能有没有披露的秘密方案,我们也是这样 :-)

这只是坚果云采取的众多机制的一种。其他方面的技术我们会适时披露。

如果您对这些内容感兴趣,给我们一封邮件,我们欢迎您的加入。 邮件至joinus@nutstore.net 继续阅读

如何安全的存储密码

过去一段时间来, 众多的网站遭遇用户密码数据库泄露事件, 这甚至包括顶级的互联网企业–NASDQ上市的商务社交网络Linkedin, 国内的就更多了。

层出不穷的类似事件对用户会造成巨大的影响,因为人们往往习惯在不同网站使用相同的密码,一家“暴库”,全部遭殃。

那么在选择密码存储方案时, 容易掉入哪些陷阱, 以及如何避免这些陷阱? 坚果云,作为一个用于同步、备份文件的云存储服务提供者,在安全方面有一些心得,记录于此,与大家分享。 继续阅读

互联网系统重启日

北京时间今天早上7:59:59,坚果云的所有Linux 操作系统 (CentOS 6.2)都出现CPU利用率暴涨的现象,主要影响的进程包括Java,MySQL等。直接重启Java和MySQL不能解决问题。后得知,该现象不仅发生在坚果云的服务器,很多互联网公司的服务器都在这一刻出现了不同程度的CPU利用率增长!

经过我们紧急的分析和调试,发现是因为操作系统内核在处理闰秒的时候,导致部分试图获取当前系统时间的进程出现Live Lock,也就是说,某个进程/线程在查询系统时间的时候,进入了一种类似死循环的状态,CPU利用率很高,同时不能完成时间查询。

我们猜测JVM和MySQL试图通过CPU硬件晶振的数据获得当前精确的时间,由于闰秒的关系,这个时间和操作系统维持的墙上时间(Wall Time,也就是显示给用户看的时间)不一致,导致了这个问题。

系统时间对于各种服务器程序尤为重要,例如在坚果云的系统中,很多节点都定期收集和报告系统状态,如果系统时间无法获取,可能导致部分节点被误判为故障,自动引起一系列不必要的故障恢复动作。

通过twitter, 邮件列表,论坛等其他媒体,我们发现很多互联网服务商都碰到类似问题,并且给出的方法多是重启服务器。坚果云团队戏称这是互联网全网统一重启服务器的日子。

与大家一样,我们首先选择的方式是按照顺序重启所有服务器,重新启动服务器确实能够解决这个问题。不过这个过程耗时长,而且容易出错。

幸运的是,谢谢Mozilla的一篇blog, 也谢谢Google快速灵活的实时索引,我们在重启服务器的过程中,发现了如下更简单的解决办法:

$ cat files/bin/leap-second.sh
# this is a quick-fix to the 6/30/12 leap second bug

if [ ! -f /tmp/leapsecond_2012_06_30 ]
then
/etc/init.d/ntpd stop; date `date +"%m%d%H%M%C%y.%S"` && /bin/touch /tmp/leapsecond_2012_06_30
fi

这个脚本只是简单的强制重置系统时间,从而让系统中所有时间回到同步的状态。完成后,你可以确认所有服务的状态回到正常,然后手动重启ntp服务。类似mozilla, 我们也使用puppet将该脚本在所有服务器上执行。

或许碰到问题的管理员都可以用这个办法解决。这是使用这个方法后的CPU利用率变化。

最后,希望航空航天,医疗等等重要系统不会受到这个问题的影响。在这些领域,重启系统很可能会造成巨大的伤害。

 

如何避免和解决文件冲突

出现文件冲突通常是由于本地的文件和云端文件数据内容不一致,为了不让数据丢失,客户端在同步时会在本地保存云端的文件,并将本地的文件命名为冲突文件,其内容为另一份修改的版本,冲突文件和源文件会同步到到所有电脑上。

以下情况可能引发冲突:

  • 您和您的伙伴同时修改了同一个文件
  • 同步应用程序自动生成文件时(例如QQ聊天记录、eclipse自动编译结果等),如果多个电脑同时运行该应用程序,则很容易产生冲突
  • 解除绑定同步文件夹后,修改了文件夹内的文件内容,再次绑定后,被修改文件一定会冲突
  • 在未打开坚果客户端的情况下,在两台电脑上修改了同一个文件

坚果云重命名的冲突文件的文件名在windows上带有“-冲突”字样,在linux和mac上带有“-NSConflict”字样。如果该同步文件夹还会和用户同步,那么冲突文件名字中会加上产生该冲突文件的用户昵称。

具体如下图所示:

文件冲突发生后,你可以在本地搜索所有带有“-冲突”(Windows)字样或”-NSConflict”(Mac OS X或Linux)的文件,采取以下措施:

  • 如果确定文件内容没有实质修改,或者冲突文件内容应该被云端文件覆盖,那么可以直接移除所有冲突文件。即使出现误操作,仍然可以从坚果云的历史版本中恢复出该冲突文件,进行内容比对。
  • 如果明确两份文件的内容有区别(此情景常发生于多人同步),您需要手动打开两个文件,比对内容,然后将冲突文件中的修改挪到原文件中,随后删除冲突文件。 对于文本文档,可以采用winmerge等工具进行比对;对于Word文档,可以采用Word自带的文件内容比较进行比对(Office 2003:工具->比较并合并文档,Office 2007以上:审阅->比较)。
  • 如果因为卸载客户端或者“取消同步”后修改了文件导致内容和云端不一致,在重新安装客户端和“恢复同步”后产生的冲突,那么可以确信冲突文件应该是更新版本。您可以删除云端同步下来的文件,然后将冲突文件重命名为原来的名字。

文件发生冲突给同步带来了不便,因此需要尽量避免冲突发生。以下是一些避免发生冲突的建议:

  1. 邀请伙伴与您同步时,请尽量控制伙伴的操作权限,如果伙伴仅需读取文件,那么请将他的权限设置为“只读”。
  2. 如果伙伴需要与您一起操作同步文件夹,那么指定某个用户对内容分类和管理,其他的用户只负责添加、编辑文件,而避免移动和删除文件。另一种思路是,每个用户创建的文件都放在以个人名字命名的子文件夹下。用户尽可能将文件名字赋予意义和容易理解。
  3. 与不同伙伴同步的文件最好放在不同的同步文件夹中,并分别邀请不同伙伴加入,这样可以很好的控制同步文件夹的参与人数,减少冲突发生的频率。
  4. 避免将未同步完成的文件手动拷贝到其他电脑,这样容易引发冲突,尤其是office文件。通常情况下,坚果云的局域网同步能够很好的处理这个场景。
  5. 避免取消同步某个同步文件夹,然后再将其恢复同步。因为取消同步后,修改了文件夹内的文件内容,再次恢复同步后,被修改文件一定会冲突。
  6. 同步应用程序自动生成文件时(例如QQ聊天记录、eclipse自动编译结果等),避免该应用程序同时在多台电脑上运行。针对QQ聊天记录,请务必在坚果云完成对云端数据的同步后再启动和登录QQ,否则因为QQ自动修改聊天记录, 很容易造成冲突。

我们如何重视用户数据安全?

坚果云一直将”安全”做为最重要的目标之一. 不幸的是, “安全”二字标榜起来容易, 真要做到, 颇为艰难. 最近的一件工作就反映了这个情况.

百度对于大部分使用”https”访问的安全页面都不收录, 造成我们的主页迟迟不能出现在搜索引擎的首页结果上.  我们想了各种办法, 包括 “为百度爬虫指定单独的HTTP页面”, “通过百度的各个工具提交页面”,  “比对同类型网站的主页”, “咨询认识的百度的朋友”, 得出的结论是最好将主页制定为http版本, “见效快, 疗效好”, 同时主页打开的速度还够快.

不过我们仍在坚持使用https版本做为登录主页. 否则,  登录后的用户一旦直接在浏览器中输入”jianguoyun.com”,  用户身份信息(cookie)将直接明文传输. 如果用户处在不安全的网络环境, 例如咖啡店, 星巴克, 机场, 或者其他使用代理上网的场合,  只需一个简单工具, 用户数据将瞬间可以被其他人访问.

甭管用了什么本地加密, 也甭管用了多复杂的密码, 只要一个链条松动, 用户放在”云存储”中的数据将瞬间暴露. 这是做一个”安全云存储”困难的地方, 也是我们为什么将”安全”做为最重要的目标之一.

BTW: 有认识百度爬虫团队的人吗? 我们还在继续寻找解决办法.

企业网盘坚果云如何改变我们的生活?

这是一个用户告诉我们的真实故事:

“前两天不慎将钥匙锁在家里, 连开锁王都没办法打开. 无奈之中, 只好让出差中的家人将钥匙寄回上海.

剩下的一个大问题就是, 正在审核中的合同报价明天一早就要交给客户, 笔记本锁在了家里, 而且好像忘记了把这个编辑中的文档放进坚果云, 怎么办?

到了朋友家, 发愁的我用手机上坚果云试试看, 果然没有最近这份合同. 不过同事分享的报价资料却在里面. 当时真觉得“柳暗花明又一村”, 虽然麻烦点,明天早上总算能交差了.

现在算是真正体会到云存储的意义了, 以前只是用坚果云来做分享. 现在觉得随时随地访问确实很有用. 以后的文件干脆统统扔进去. 不过, 坚果云要更给力啊, 安全可靠我们才能更放心.”

很高兴坚果云能帮助到我们的用户. 也谢谢这位用户的分享. 如果你也有类似的故事和我们分享,新浪微博@坚果云,或扫描下方二维码关注坚果云微信公众号联系我们:

新版本Android应用

我们推出了新的Android版本, 主要包括如下更新(AppMarket下载):

  • 多同步文件夹支持:如果您有多个同步文件夹,那么Android客户端右上角会出现一个同步文件夹图标,点击即可进入不同的同步文件夹:

  • 查看最近访问的文件:客户端屏幕右上角有一个最近访问历史按钮,点击后即可查看最近访问的文件,为您访问文件提供了快速入口:
  • 文件、文件夹删除:长按待删除的文件、文件夹,在弹出菜单中选择“删除”:

  • 文件另存为:长按文件,在弹出菜单中选择“另存为”,然后在外部存储浏览界面选择要存放的地方:

当然, 我们也修正了一些bug, 增加了稳定性和用户友好. 来试试吧? 你可以到AppMarket下载, 也可以用手机拍摄如下的QR Code:

多文件夹同步

坚果铺子的目标是为用户提供简单灵活的文件同步和备份功能. 我们一直希望能为用户提供多文件夹同步, 因为它可以帮助用户:

  1. 更直观的文件夹分类. 公司的文件无需同步到家里,  家里的文件也没道理同步到公司. “选择性同步”能提供类似的功能,  不过它最多也只是一个应急措施.
  2. 更便捷的文件管理.  和他人协同同步的文件完全和私人文件隔离开;否则, 出现了误操作怎么办? 需要备份和需要同步的文件可以分开; 否则, 也只是白白浪费流量.
  3. 无需改变任何用户使用习惯.  已有文件没必要挪动地方. 用户拥有对文件完全控制. 开句玩笑, 您的文件您作主, 忘记X盘和XX盘吧, 消除不必要的限制也是对体验的重大提升.

很长时间以来, 我们一直在反复推敲和思考这个功能. 因为, 我们担心多文件夹同步会让交互流程更复杂, 用户体验反而变差, 正如这篇著名的讨论.

不过这次, 我想我们找到了解决的办法, 交互流程仍然很简单, 多文件夹同步的功能却依旧强大. 就像这样, 右键点击文件夹, 选择”同步”, 剩下的一切交给我们, 当然, 必要时还得记住不同文件夹的用途, 对不同的伙伴赋予不同的权限, “别让老板看到您在外面潇洒的照片”.

据我们所知, 竞争对手中, 我们应该是第一个用这种方式来提供多文件夹同步.

我们不只是也不愿单纯模仿, 我们在不断创新.