开放式社交网络(OSN网络)之四

OSN网络的运行原理

  当企业的服务器以节点形式加入了OSN网络以后,用户如何与企业服务器以外的其他用户通信?
假设现在有APP1和APP2两款APP都加入了OSN网络,为了方便我们假设APP1叫微信,APP2叫陌陌,APP1的服务器是S_WX,APP2的服务器是S_MM。
  现在我(Alice)是一个微信用户,我有一个朋友(Bob)在使用陌陌。
  首先Alice通过终端向S_WX发送一条消息,这条消息是发送给Bob的。
  第二步,S_WX会在服务器内部查看Bob是否在线,不在线则会在全网络发送找人命令(首次会直接发送,第二次发送给Bob的消息会等待10分钟,10分钟后消息没有取走则会发送找人的命令)。
  第三步,S_MM收到消息以后,会去取一个属于Bob的消息列表,然后告诉Bob,有哪些人给Bob发送了消息。
  第四步,Bob筛选自己需要的消息以后委托S_MM将消息取回。
  第五步,Bob取得消息以后发送消息已取的回复,这样Alice和Bob就完成了跨软件通信。
如果服务器上的消息长时间没有被取走,服务器可以定一个保留时间,建议保留7天或者1个月。
  
  用户如何加好友?
  由于每个APP系统的账户体系有所区别,账号的生成由服务器指定,很不利于OSN网络的推广。因此OSN网络采用了在用户终端随机生存账号的形式生成。具体请参见github上公布的账号生成方式。如果目前企业已经有了自己的账号体系,可以将两个账号进行一个绑定,即可完成兼容。
  添加好友有3种方式。
  第一种是双方相互交换账号。这种方式类似于双方交换手机号码。双方都要添加了对方的二维码以后才能相互通信。我们建议终端用户对于陌生的消息给予拒收。
  第二种方式是一端在知道对方账号的情况下发送命令。这种方式需要其他服务器以及终端策略接收加人命令的情况下才能完成。
  第三种方式是由熟人介绍。假设现在有ABC三人,AB认识,BC认识。B希望把AC介绍成为朋友。B会给AC双方发送一个推荐的命令。AC双方会回给B一个是否同意的回复,B再转发给AC。完成添加好友操作。
具体请参见github上公布的添加好友命令信息。
  
  是否支持语音和短视频?OSN网络支持文件分片传输,语音和短视频属于文件类。语音和短视频还需要根据不同终端的支持的格式而定。
  跨软件通信的安全性如何解决?OSN网络的账户内带有ECC公钥,用户发送的消息全都会进行加密以后再传输,传输过程中不会被窃听。
  假设用户手机丢失,私钥可能被复制的情况下如何解决?假设用户觉得自己的私钥可能丢失,可以使用另一把安全私钥对通信私钥进行更新,并通知自己的好友更换账号。安全私钥不会存储在本地,使用时需要用户输入密码才能使用。安全私钥的hash保留在账号中。
  
目前OSN网络只完成了部分基础功能,我们的团队目前还很弱小,期待更多的朋友参与这个开源项目。

开放式社交网络(OSN网络)之五:宏观隐私保护与反大数据

开放式社交网络(OSN网络)之四:OSN网络的运行原理相关推荐

  1. 开放式社交网络(OSN网络)之一:一个大龄失业程序员

    开放式社交网络(OSN网络)之一 一个大龄失业程序员   我是一名程序员,一名大龄程序员.大概在一年前,我所在的小公司倒闭了,我们失业了.我由"大龄程序员"变成了"大龄失 ...

  2. 开放式社交网络(OSN网络)之五:宏观隐私保护与反大数据

    开放式社交网络(OSN网络)之五 宏观隐私保护与反大数据   我们提的这两个概念与当今社会的很有理念是相违背的.如果觉得隐私保护不重要的朋友,请越过这篇文章.   现在很多人都在提隐私保护的问题,在中 ...

  3. 开放式社交网络(OSN网络)之二:一个不甘被时代淘汰的中年父亲

    开放式社交网络(OSN网络)之二 一个不甘被时代淘汰的中年父亲   我们刚开始做这个项目的时候,遇到很多难题.当时我们看见公司业务下滑,于是向老板自荐了这个项目,也许是我表达能力有问题,老板很满意这套 ...

  4. 开放式网络与封闭式网络

    从宏观上看,网络管理员所面临的安全难题是如何平衡两种重要需求:保持网络开放以支持业务发展的需求,以及保护隐私.个人信息和战略业务信息的需求. 网络安全模型遵循渐进式发展轨迹,最开始是开放除明确拒绝外的 ...

  5. Network 之四 常用 Linux 网络命令及网络调试工具介绍

    网络互连模型 主要就是值得 OSI 参考模型与 TCP/IP 五层模型: 下面再来一张详细点的(来源于科来网络): 网络命令   目前,我们常用的网络相关的命令有两大类:net-tools 和 ipr ...

  6. Docker学习之四:容器虚拟化网络与docker网络

    虚拟化网络的原理简述 Linux内核支持六种名称空间,只要在用户空间有相应的客户端工具,都可以对对应的名称空间进行操作. 假如物理机有四块网卡,可以创建两个名称空间,此时可灵活将网卡分配到单独的名称空 ...

  7. 【论文翻译】基于图关注网络的异构网络类型感知锚链路预测

    基于图关注网络的异构网络类型感知锚链路预测 摘要 跨异构网络的锚定链路预测在跨网络应用中起着举足轻重的作用.异构网络锚链路预测的难点在于如何综合考虑影响节点对齐的因素.近年来,基于网络嵌入的锚链预测已 ...

  8. 计算机网络(OSI、TCP/IP、网络协议、常见网络设备工作原理)

    目录 OSI模型 TCP/IP模型 网络协议 IP协议 IP数据报格式 IP数据报分片 IPv4地址 NAT协议 ARP/RARP协议 ARP RARP DHCP协议 ICMP协议 ICMP差错报告报 ...

  9. 《复杂网络》复杂网络的结构及特点

    1.规则网络 我们把一维链.二维正方晶格等称为规则网络.规则网络是指平移对称性晶格,任何一个格点的近邻数目都相同. 特点:一般情况下,集聚系数较大,平均最短路径较长. 集聚系数:在图论中,集聚系数是用 ...

最新文章

  1. 语言结构体在内存的分布_结构体内存对齐,这篇文章给你彻底搞会!(干货收藏)...
  2. JSP上传文件失败的问题 未解决
  3. linux 块编辑,vim中的可视块编辑
  4. 使用左 右 全 内连接及使用where条件语句的区别
  5. python数据挖掘学习笔记】十六.逻辑回归LogisticRegression分析鸢尾花数据
  6. oracle用分号拼接函数,ORACLE以逗号分隔连接列的值   函数名:wmsys.wm_concat
  7. Python——格式转换的学习笔记
  8. java difftime_Java8 日期时间操作
  9. redis采用序列化方案存对象
  10. 【项目经理之修炼(9)】《初级篇》谦虚也是可以修炼的
  11. QT 中控件内坐标转换为父窗口坐标或屏幕坐标
  12. centos检测不到磁盘_CentOS下磁盘坏道的检测及修复
  13. java源程序的文件名必须与,Java源程序的文件名一定要与文件中某个类的名称一致。()...
  14. 计算机磁盘怎么清理,如何清理c盘空间_WinXP系统怎么清理C盘空间
  15. python爬虫Selenium批量关注微博用户
  16. java代码实现短信接受验证码
  17. SQL将Json字符串转为表格
  18. 重建系统的 WinRE
  19. 华为云数据治理生产线DataArts,让“数据‘慧’说话”
  20. 如何看待清华段子手“毕导”毕啸天至今没有发表过高质量论文?

热门文章

  1. 成功者和失败者最大的区别在哪里
  2. java maven项目配置windows环境并换源
  3. HIVE case when用法
  4. Bison 操作符前可以为空导致的归约/归约冲突
  5. Lab1 Data Lab
  6. 什么是软件测试、生命周期、软件开发模型、测试模型
  7. mysql请升级_MySQL升级
  8. kali-linux 2023.1高清壁纸
  9. 8086汇编语言中的lea指令
  10. php生成国密验证,PHP+gmssl命令行实现国密加解密