Bitcoin任务分配随想

Bitcoin 所共享的数据就是一大堆 block,那么一个 block 里装有什么内容呢?见图1: 图5:一个Block的内容,以及Block链 一个block的主要内容是“最近的交易列表”和“上一个block的hash值”。交易列表记录着产生当前block这段时间内整个Bitcoin网络的所有交易记录,包括汇出地址、汇入地址、金额等。“上一个block的hash值”用于定位上一个block,有这个数据之后所有block就可以按顺序地形成一条链。一条完整的链记录着Bitcoin网络从诞生一刻开始直到未来所有的交易记录,这些记录会共享到每一个运行Bitcoin的节点。这里有个网站可以浏览每一个block和每一笔交易的具体内容:http://blockexplorer.com/ 。(题外话:在这个链当中的第一个block是比较特殊的,它是创始人Satoshi Nakamoto人为创造的,所以称为 Genesis Block)。 假如Bitcoin得到广泛应用,每个block中的交易列表会相当庞大,那么每个运行Bitcoin的节点会耗费大量的储存空间,到时可能更多人不再运行Bi[……]

继续阅读 »

Bitcoin P2P技术详解

Bitcoin网络不存在服务器或者中心节点,所以所有block都是从其他人所运行的Bitcoin程序处(下面称为节点)下载的,同时你已经下载的block也会共享给其他还没下载的节点。那么 Bitcoin是如何发现网络上其他节点的呢? 运行 Bitcoin 时它会首先连接一个指定的IRC(一种古老的网络聊天服务)服务器(irc.lfnet.org),然后加入 “#bitcoin”聊天频道并声明自己的IP地址,当 Bitcoin 程序查询当前聊天频道的用户时,就能获取网络上其他节点的IP地址了,然后bitcoin会自动连接一定数量的节点,可见IRC在Bitcoin网络中充当着媒介角色。假如IRC服务器当掉,那么第一次运行Bitcoin 程序时程序会调出内置的一批IP地址(称为“种子节点”)然后试图连接这些节点。Bitcoin 连接到某个节点之后还能通过那个节点获取更多其他节点,即所有节点同时也充当媒介角色,这样一个P2P网络就形成了。 Bitcoin 程序所有的功能都依赖于 Bitcoin P2P网络,有时运行 Bitcoin 程序会发现连接数(见图1窗口中底部的 connection[……]

继续阅读 »

WordPress: 利用xmlrpc的metaWeblog.newMediaObject方法上传图片

metaWeblog.newMediaObject (blogid, username, password, struct) 方法说明: 1.参数:blogid、username、password,blogid代表blog的id,在wordpress里一般是1;username、password分别是WordPress的用户名密码;struct是一种struct结构,必须包含name、type和bits三个元素,其中name就是数据名字,type之mime type,bits为经过base64编码的数据流,类型为string 2.返回值:如果调用成功,返回一个struct,至少包含一个url元素,代表数据的HTTP或者FTP URL 关于参数: 1.参数struct,name不用多说,提供字符串名字即可 2.type可以利用mime_content_type()函数获取(限于PHP5.3以下,这个函数5.3不用了,可以用fileinfo()代替) 3.bits元素,需要将媒体(图片)等打开,利用xmlrpcval类来进行base64 编码操作,不能直接[……]

继续阅读 »

PHP移除数组重复元素并重新索引: array_unique 和 array_values

问题: PHP中移除数组重复元素用的函数是array_unique。该函数移除重复的元素,但是剩下来这些元素的索引没有变化,这样的话如果用for循环调用这个数组元素的时候就会发生错误了,因为for循环的时候是按照数字递增,而且大多数人用的是count($test_array_unique)来获得数组的大小,这样就会造成一些元素被遗漏 解决办法: 当然,这里解决办法太多了,我介绍的只是一种我觉得比较简单的方法,那就是函数array_values,array_values是返回数组的值,跟索引没有关系,这样处理后会形成一个新的数组,严格按照数字递增的索引,这样再使用for循环输出边一切OK了! 转载自:http://www.fotree.com/tag/array-unique/[……]

继续阅读 »

WordPress 利用XML-RPC写远程日志,支持Custom Fields

采用metaWeblog.newPost而不是Weblog.newPost方法,支持添加Custom Fields字段

function post($result){
include(“xmlrpc.inc”);
$GLOBALS[‘xmlrpc_internalencoding’] = ‘UTF-8’;
$c = new xmlrpc_client(“xmlrpc.php”,”example.com”, 80);
$content[‘title’]=”title”;
$content[‘description’]=”content”;
$content[‘mt_keywords’]=”tag1,tag2″;
$content[‘wp_password’]=””;
$content[‘categories’] = array(“label”);
$content[‘custom_fields’] = array(
array( ‘key’ => ‘city’, ‘value’ => ‘Sacramento’ )
);[……]

继续阅读 »

集群并行文件系统 lustre 安装配置

自:http://www.goc.ac.cn/liuag/html/gnulinux_lustre_deployment.html 一 引言 Lustre是一个开源的、基于对象存储技术的集群并行文件系统,它具有很高的可扩展性、可用性、性能、易用性等,在高性能计算系统中被广泛使用。它主要包括三个部分:元数据服务器MDS (Metadata Server)、对象存储服务器OSS (Object Storage Server)和客户端Client。中科院高能所的BESIII 实验将使用网格计算技术(Grid Computing) 进行物理计算和分析,为此高能所计算中心正在基于gLite网格中间件搭建一个网格实验平台BES-GRID。传统的网络文件系统NFS在性能和可靠性等方面都存在问题,因此我们决定使用Lustre来替代NFS为网格环境提供共享存储空间。 下面我们在BES-GRID环境下进行Lustre部署。如果在其他计算环境下安装,请根据实际情况作相应改动。[……]

继续阅读 »

[转载]关于运维的一些经验

原文地址:http://www.forzw.com/archives/599 1、IP规划 IP最后位:1-30 为保留IP; IP最后位:31-240为服务器IP; IP最后位:241-254为网络设备IP; 服务器IP以31开始从小到大排列; 网络设备IP以254开始从大到小排列; DHCP分配IP从101开始; 内网地址建议抛弃192段,使用10段,无论涉及的网络规模大小,原因有三: 可扩展容量更大 减少输入次数 传说中的10段比192段更高性能; 硬件管理模块,如IMM、ILO,使用DHCP方法获取IP; 2、主机命名 所有主机,无论是unix、linux、windows系统,均采取统一主机名加域名命名办法,并确保内部DNS服务器可用。 3、用户管理 具有远程权限的用户,如root、administrator,绝对不允许具有远程登录权限,需要使用系统权限的,使用普通用户进行切换; 在当系统映像大于10的时候,应采取统用户的统一认证,推荐Windows DC 或者ldap; 4、备份管理 当备份与被备份对象[……]

继续阅读 »

redhat 5.6(RHEL5) 连接10T iSCSI SAN存储(DELL MD32xxi)

  1. 为iSCSI配置主机的网卡
    修改用于iSCSI的网卡配置文件,这里假设eth2为对应的网卡
    vim /etc/sysconfig/network-scripts/ifcfg-eth2
    DEVICE=eth2
    HWADDR=00:11:22:33:44:aa
    ONBOOT=yes
    BOOTPROTO=none
    NETMASK=255.255.255.0
    IPADDR=10.1.2.3
    TYPE=Ethernet
  2. 安装配置iSCSI initiator
    用rpm安装iSCSI Initiator:
    rpm -qa | grep iscsi
    rpm -ivh iscsi-initiator-utils-6.2.0.872-6.el5.x86_64.rpm

    配置/etc/iscsi/iscsid.conf,确保node.startup = automatic 以保证自动登录;另外根据存储的要求配置其他选项
    查看主机的iqn,用于与存储连接:
    cat /etc/iscsi/isc[……]

    继续阅读 »

PHP函数fgetcsv 支持中文

  1. PHP文件及页面编码为UTF-8
  2. csv文件编码为UTF-8
  3. 使用setlocale()设置: setlocale(LC_ALL, ‘zh_CN.UTF-8’);

[……]

继续阅读 »

结构洞和弱连接

结构洞 在我们所认识的人中,有两种现象。 第一种,和他们所谈论的内容,发现和另外某些人也谈过,他们认识的人,同时也是自己的朋友,罗纳德称此为重复关系人(当若干关系人都介绍给你同样的人,提供给你同样的信息,他们就成为重复关系人)。 第二种,他们各自有不同的信息,通过他们,总是能认识更多的人,于是称之为非重复关系人。 “非重复人被隔离开来,简单地说他们彼此之间没有直接联系,或者说,一个人拥有的关系对另一个人而言具有排他性。”则他们之间就存在结构洞。 与我们有直接联系的关系人称为初级关系人,通过他们,我们间接联系的关系人则称为次级关系人。在建立关系网络时,我们大可不必将每一个人都摆到初级关系人的地位,那样我们维持这个关系网络所付出的成本太高,我们可以通过少量的初级关系人,与次级关系人的保持利益联系。 研究结构洞的主要目的在于最大化每个人人际关系网络的收益,通过打造和占有结构洞,做一个“渔翁”,来使自己的人际关系网络规模和质量发挥到极致。 关于结构洞最为简单的解释是:人总是信任特定的人,并依赖于特定的人产生交换。因此,当两方关系并不十分密切时,与双方关系都很密切的第三个人就占[……]

继续阅读 »