residenza permanente .永久居留 长期
.PASSAPORTO . 副照
.PERMESSO DI SOGGIORNO . 居留许可
.CONTRATTO AFFITTO DI CASA . 租赁合同.住家合同
.CERTIFICATO COMUNE IDONIETA ALLOGGIATIVA . 住家合格证.证书的通用
.1 titolo di proprieta 物业所有权证明
.2 concessione edilizia 建筑许可
.3 approvazione del progetto 经审批的项目
.CARTA IDENTITA . 身份证
.CODICE FISCALE . 緑卡税码
.CERTIFICATO RESIDENZA . 居留证
.STATO DI FAMIGLIA . 家庭状况
.CERTIFICATO CASELLARIO GIUDIZIALE E CORICHI PENDENTI (TRIBUNALE )
.1证书及刑事法律程序申请躺下(法院)
.2 无罪工证
.LICENZA MEDIA .
在软件项目中加入Sunisoft在线更新软件,用户监测软件版本更新时自动检测和下载新版本软件。软件功能比较简单,主要是对sqlite文件的读取。但是使用过程中发现只要连接上sqlite数据库,更新软件就会认为sqlite数据库文件已被修改,与服务器上的版本不符,需要更新该文件。通过md5比较,数据库被打开的时候并没有做任何修改。后来通过测试发现,只要文件被通过可写的方式打开,Sunisoft软件就会认为文件已经被修改,即使打开之后不做写操作。
找到原因,接下来就容易解决了。由于软件不需要对sqlite文件进行些操作,主要都是查询操作,因此可以以只读方式连接sqlite数据库。sqlite3提供只读方式打开文件接口。
int sqlite3_open_v2( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb, /* OUT: SQLite db handle */ int flags, /* Flags */ const char *zVfs /* Name of VFS module to use */ );
第一个参数为数据库文件路径,第二个参数是输出参数,为数据库操作指针地址。第三个参数为数据库访问方式,可通过此参数配置只读方式打开数据库,可以是SQLITE_OPEN_READONLY,SQLITE_OPEN_READWRITE和SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE中的一个,用于控制数据库的打开方式,可以和SQLITE_OPEN_NOMUTEX,SQLITE_OPEN_FULLMUTEX, SQLITE_OPEN_SHAREDCACHE,以及SQLITE_OPEN_PRIVATECACHE结合使用。第四个参数zVfs允许客户应用程序命名一个虚拟文件系统(Virtual File System)模块,用来与数据库连接。VFS作为SQlite library和底层存储系统(如某个文件系统)之间的一个抽象层,通常客户应用程序可以简单的给该参数传递一个NULL指针,以使用默认的VFS模块。
有三台机器:A、B、C(三个主从复制,两个分片)
1、分别在 A、B、C 三台机器上启动 两个分片、主从服务,命令如下:
bin/mongod --shardsvr --replSet shard1 --port 27017 --dbpath /data/shard1_1 --logpath /data/shard1_1/shard1_1.log --logappend --fork
注意修改分片的名称 和 服务的名称 。
2、用mongo 连接其中一台机器的27017 端口的mongod,初始化Replica Sets“shard1”,执行:
./mongo --port 27017 > config = {_id: 'shard1', members: [ {_id: 0, host: 'A:27017'}, {_id: 1, host: 'B:27017'}, {_id: 2, host: 'C:27017'}] }
这一步是添加 分片的主从复制。分片2 同分片 1。
3、在 A、B、C 上执行 Config :
bin/mongod --configsvr --dbpath /data/config --port 20000 --logpath /data/config/config.log --logappend --fork这个Config 应该是 主从、分片 生成一些配置信息。
4、
bin/mongos --configdb A:20000,B:20000,C:20000 --port 30000 --chunkSize 1 --logpath /data/mongos.log --logappend --fork
配置路由。服务的数量最好为 奇数,好像和 mongo 的主从 选举有关。
5、给数据库配置、及 集合启用 分片 。
db.runCommand({addshard:"shard1/A:27017,B:27017,C:27017"});分片2 同 分片 1 。
激活数据库及集合分片
db.runCommand({ enablesharding:"test" }) db.runCommand({ shardcollection: "test.users", key: { _id:1 }})
这一处让 数据库、集合用哪些分片 ,上面的主从已经配置过 ,这样主从、分片都配置完了。