备份文件和数据
使用云盘如腾讯微云(https://www.weiyun.com/,10GB免费,4TB/10元/月,付费也提高传输速度)来备份或同步本地文件夹,包括文件、程序、分析结果等。云盘的优点:
在本地硬盘和云盘之间同步文件夹
用手机客户端在线预览文件
手机浏览器或微信下载的文件能上传到云盘
手机客户端自动备份手机中的照片和视频到云盘
通过微信或邮件分享云端文件或文件夹的链接,接收者可以下载或在线预览
参加研究课题的同学使用集群服务器做数据分析时,一定要每周备份数据(原始数据和中间数据)和代码到云盘或本地硬盘,否则一旦丢失数据/代码,可能会让课题延迟数月。
利用多种方式备份数据、文件的多个拷贝,如移动硬盘、USB盘、云盘。把备份的数据放在不同的地点,比如办公室和家里各一份。
如果文件被不小心被删除,尽早用软件恢复,因为删除的只是硬盘目录中的索引,物理文件还可能被恢复。比如安卓手机上的“数据恢复神器”(Hexamob Recovery),或者PC上类似的软件,如EasyRecovery(http://www.skycn.com/soft/appid/26138.html)。
上网安全
不下载“免费软件”、“破解版”,它们大多数包含木马病毒,安装后弹出广告或影响计算机性能。使用单位或公司购买的正版软件。
不连接陌生的免费无线网络。
打开计算机操作系统自动进行安全升级的选项。
留意单位关于夜间停电或系统升级的通知。
计算时间很长的程序
先在少量数据上运行成功、得到预期结果后,再对所有数据进行计算。
在运行过程中监控程序,定时输出部分计算结果的文件,这样即使断电或程序崩溃,部分计算结果还在,重新算时不用从头开始。下面是具体例子。
不要等到所有计算结束后才将结果写入输出文件。 相反,周期性地(例如每1000个基因)写出当前数据并替换输出文件。 例如在R中使用write.table()函数的“append”选项来递增地在输出文件中加入新计算的结果,如下所示:
for (i in 1:10000) {
# your computation code
if (i %% 1000 == 0) { # modulo operation to get remainder
print(i) # can be replaced by write.table
}
}
[1] 1000
[1] 2000
[1] 3000
类似上面的代码还可以监视程序运行进度(print),所以你可以估计代码将总共运行多长时间,并尝试使用更有效的算法来减少计算时间。使用优化的算法或代码减少10倍的计算时间并不少见。 例如, 在R中利用向量和矩阵运算,而不是用循环。更少的计算时间意味着更少的程序中断机会。
友情链接