精华内容
下载资源
问答
  • 大数据是女人!爬虫是男朋友!黑客是强奸犯,深度
    千次阅读
    2020-05-06 15:15:08

    大数据是女人!爬虫是男朋友!黑客是强奸犯,深度好文

      在黑科技、爬虫、大数据领域深度技术研发领域,爬虫和黑客使用的技术其实是一样的但是又有区别的,爬虫和黑客的区别在哪里呢 ?大数据、爬虫、黑客有什么关系呢?

     

    • 爬虫和黑科技的区别:

        黑客和爬虫最大的区别就是行为目的不同,黑客是干坏事,爬虫是干好事。因为黑客和爬虫使用的技术都是差不多,都是通过计算机网络技术进行对用户电脑、网站、服务器进行入侵然后获取数据信息。区别是黑客是非法入侵,爬虫是合法入侵。比如黑客通过破解网站后台验证码技术然后模拟登陆网站数据库,把数据库删掉或者直接修改人家数据库,这种是非法入侵,破坏性行为、违法行为。 同样也是破解验证码技术,但是爬虫就不同了,比我需要获取某些政府网站的一些公开数据,但是每次都需要输入验证码很麻烦,为了提高数据分析的工作效率,爬虫技术也是通过绕过验证码技术去采集网站公开、开放的数据,不会获取隐私不公开的数据。 如果把数据比喻女人,爬虫和黑客是男人,那么爬虫是男朋友,是在正当合法、名正言顺的情况下和女的发生了关系,然而黑客不同,黑客就是强奸犯了,因为女的不是自愿的,黑客是强制性,甚至用暴力来和女的发生关系。这个就是黑客和爬虫的本质不同地方,虽然采用类似的技术手段来获取数据,但是采取的技术行为和最终导致的后果性质是不同的。一个是违法需要承担法律后果,一个是国家支持鼓励的是合法的。不管是爬虫还是黑客技术 都是一个工具而已,就像是菜刀一样,有人拿去切菜,有人拿去杀人,那菜刀是好还是坏呢,其实菜刀只是一个工具而已,好坏在于使用者的行为的结果

     

                                                

                    爬虫-谢天谢地您来了,好开心啊                            黑客- 恶魔,离我远一点!给我滚!

    • 大数据和爬虫又有啥关系?

    2012年国家都不断对数据进行开放,中央要求每个政府单位必须把你们能够开放的数据开放出来,主要是中国在大力发展大数据科技产业,也就是我们经常听到的各种所谓专家、教授口里经常喊的数字产业化,数字中国,数字经济、大数据、人工智能、区块链等各种时尚高端词汇。那大数据和爬虫有什么关系呢?以下从几个案例举例介绍:

    1. 人脸识别: 您做人工智能是需要大数据的,举个例子您想做一个自动识别人脸的人工智能机器。您首先需要根据人脸生物特征建立AI模型,然后需要几千万或者几十亿张人脸图片进行不断的训练这个模型,最后才得到精准的人脸识别AI。几十亿的人脸图片数据哪里来呢? 公安局给你?不可能的!一张张去拍照?更不现实啦! 那就是通过网络爬虫技术建立人脸图像库,比如我们可以通过爬虫技术对facebook、qq头像、微信头像等进行爬取,来实现建立十几亿的人脸图像库。
    2. 企业大数据:去年有个朋友让我通过爬虫技术帮他建立1亿的企业工商数据库,因为他需要做企业分析、企业画像,需要知道每个城市的新注册企业多少、科技创新企业多少、企业年报、企业人才招聘、企业竞品、企业的融资事件、上市事件等等企业全部60个纬度纬度的数据,然后分析企业的各种行为,最终做决策辅助使用。需要完成这个任务,其实我们就需要知道,国家工商局早早就把企业工商数据公示了,而且还做了一个全国企业信息公示系统,让大家都可以查询各个公司的数据。居然数据源已经解决了,当时我就在想,如果有人已经把这些数据都聚合在一起那就更好了,但是最后发现 天眼查、企查查、企信宝其实已经帮我做了很多事情了。最后我花了1个星期时间用python写了一套企业工商大数据网络爬虫系统,快速爬取企业工商数据信息,并且用mysql建立标准的企业大数据库。
    3. 裁判文书大数据:自从国家中文裁判文书对外开放之后,经常很多有创新想法朋友找我帮忙,他们有些想做一个案件的判例分析系统,因为现在很多法官在判案的时候都是需要查阅各种历史类似案件,之前的判官都是怎么判的。然后做一些借鉴。现在有大数据好了,如果通过AI技术自动把案件文案扫描进去,然后通过裁判文书数据库进行深度分析匹配,马上出来类似的判例结果出来,并按案件相识度进行排序,最终形成一套法务判例AI智能系统。然后把这个系统提供给律师、法官、法院、税务所用。那么问题来了,需要实现这个第一步首先您需要有裁判文书大数据库,然后在数据库基础上建立一个案例分析AI模型,其中需要用到爬虫技术来解决裁判文书数据源获取和更新问题,然后需要用到文本分析技术、文本情感识别技术、文本扫描解读技术。我当时采用是一套国外的框架tensorFlow,这是一套由美国google brain研发出来的开源机器学习库,专门做深度学习、神经网络技术、模型训练框架。因为裁判文书爬虫需要解析算出它的DOCID值,然后通过多进程+多线程+cookie池技术来解决批量爬取的问题。
    4. 商标专利大数据:那么商标和专利和大数据又有什么关系?和爬虫又扯上什么关系呢?在中国聪明人其实是不少的。商标和专利这个应该是很老土的过期词语,但是往往创新只是改变一下我们的思维、或者根据环境变化进行改革一下即可。因为有了大数据,有了政府开放数据,有大数据深度挖掘技术,有了AI人智能,有了5G,那么之前我们采用的工具和模式都需要调整了。在从事AI和大数据路上还是遇到不少有创新和智慧的人,有一天有一个陌生好友加我,问我说可以帮他做一个商标专利大数据吗? 我问他什么是商标专利大数据,他说就是监控商标网和专利网的实时更新数据,我只要有一套AI技术系统,可以实现获取最新申请的专利信息数据和商标数据,然后就可以知道哪些企业有申请专利、申请知识产权的需求,我问他:您怎么赢利呢? 他说赢利方式太多了,比如2020年新型冠状病毒,我通过这个系统就可以知道哪些企业在申请关于生产疫苗的专利和商标,哪些企业在申请生产医疗物资的知识产权,那么这些企业都是科技创新企业,都可以拿到政府扶持资金,我可以把这个做成一个大数据平台专门服务于那种做知识产权企业和做国家财税补贴申请机构,那通过这个数据,很多投资机构也可以合作掌握哪些企业在生产未来具有前景的产品。关于专利和商标大数据还有一个更聪明的人也是私聊我,同样问题,问他怎么赢利,做这些数据做什么,他说比如我现在知道有大公司在申请一个商标叫“麦当劳”,那么我马上就申请一个叫“迈当老”谐音的商标,那么这个大公司的商标麦当老肯定会做大,品牌的, 我的那个谐音的“迈当老”就值钱了,就可以卖个几十万都行的。我问他 这样靠近名字算算侵权吗? 他说国家规定的 只要是同一年时间申请的,之后使用都不算是侵权。最后也是通过建立一套大数据AI爬虫系统帮助他实现了这个功能。最后不知道他运营如何了。欢迎对大数据挖掘和AI感兴趣朋友交流我qq:2779571288
    5. 税务大数据: 因为国家税务局对对开放,可以在网上查询到哪些企业欠税,哪些企业税务异常了。 那么这些东西又有什么用呢?怎么又和大数据产业牵连上了吗,不就是查询一下哪些企业欠税而已嘛。这个很多人就不懂了,或者看不透了,这个需要用大数据产业化思维,在大数据时代,每个数据都是财富,数据就价值,您想不到说明的还没有发现奥秘,如果您想到了估计也许就过时了,就像电商时代一样。税务大数据主要是给做财税、代理记账、税务局用的。做财务的公司每天都想知道哪些企业欠税了、出现税务异常了,您公司出现税务异常肯定是需要找财务公入帮忙处理,这个就是商业核心点所在,那么建立完这个税务大数据系统,就可以解决所有财税公司、代理记账公司的客源问题。那问题又来来,数据都是从税务局出来的,税务局要这个数据干什么呢? 现在国家特别加强“互联网+监管,互联网+环境,互联网+治安”,数据源虽然是税务局出来的,但是用原始数据进行提炼再去结合其他数据就是爆发出各种火花了。 税务数据结合+企业工商信息数据形成一个闭环税务监管大数据系统。欢迎对大数据挖掘和AI感兴趣朋友交流我qq:2779571288

            更多的大数据大家发展和未来,大家可以网上搜索“xx市政府开放数据平台”,就可以看到我们国家几乎每个市都建立了一个政府大数据共享开放的平台。每个市都有,如果您市没有这个政府开发数据平台,那就是您这个市没有跟上节奏。政府在努力的不断开放数据,就是大力发展大数据产业、激发传统企业转型。实现数字化中国、数字经济化、数字产业化。大数据。

         最后推荐目前流行的几个大数据深度学习、神经网络技术框架给您,也是我经常使用做大数据分析、深度爬虫的框架。

    1 CAff

    2 Tensorflow

    3 Pytorch

    4 Theano

    5 Keras

    6 MxNet

    7 Chainer

    这些框架各有优势,根据自己的喜好来,我个人是比较喜欢使用

    Tensorflow、 CAff、 Keras。欢迎对大数据挖掘和AI感兴趣朋友交流我qq:2779571288

     

    更多相关内容
  • KubernetesDocker的关系是什么?

    万次阅读 多人点赞 2020-08-20 20:00:00
    作为一名容器时代的程序员相信你已经或多或少接触过Docker,但同时你也会发现Docker虽然流行了多年,但之前却少有公司直接将线上应用通过Docker容器进行大规模地部署。但最近三年...

    作为一名容器时代的程序员相信你已经或多或少接触过Docker,但同时你也会发现Docker虽然流行了多年,但之前却很少有公司直接将线上应用通过Docker容器进行大规模地部署。但最近三年,你会发现几乎绝大多数有条件的公司都已经在使用Kubernetes部署和发布自己的线上业务了。对一名普通开发人员来说,这一切可能发生得太快,以至于你还没有搞清楚它是怎么发生的,也会疑惑Docker和Kubernetes之间到底是个什么关系。

    在今天的内容中,我们从Kubernetes的系统架构及容器编排核心概念两个方面来简单聊一聊这个问题,希望能帮助到你更好地理解Docker和Kubernetes之间因果关系。

    Kubernetes介绍

    在具体介绍Kubernetes之前不得不再提一下Docker,如果你用过Docker部署过程序,那么你一定会非常享受它带给你的丝滑体验,而联想到在此之前发布一个程序需要写各种脚本、进行各种环境匹配的糟糕体验,那么相信你的这种感觉会更加强烈。

    而Docker之所以能做到这一点,就在于它以“Docker镜像”的方式一举解决了应用打包和发布这一困扰业界多年的技术难题,并且大大降低了普通开发人员运维部署应用的门槛。正是因为解决了应用打包这个根本性的问题,才使得Docker很快就被广大开发/运维人员所接受,迅速成为炙手可热的技术,并在一定时间内引领了容器化技术发展的浪潮。

    那么Docker这么好用为什么还会出现Kubernetes呢?事实是Docker作为单一的容器技术工具并不能很好地定义容器的“组织方式”和“管理规范”,难以独立地支撑起生产级大规模容器化部署的要求。因此容器技术的发展就迅速走向了以Kubernetes为代表的“容器编排”的技术路线,而这也是为什么Docker容器没有直接在生产环境中大规模部署的关键原因。

    上面我们提到了“容器编排”的概念,了解到相对于Docker单一容器技术而言,Kubernetes容器编排技术可以很好地实现大规模容器的组织和管理,从而使容器技术实现了从“容器”到“容器云”的飞跃!那么Kubernetes技术是从何而来?而又真正解决了什么问题呢?

    从背景上说,Kubernetes是由Google与RedHat公司共同主导的开源“容器编排”项目,它起源于Google公司的Borg系统。所以它在超大规模集群管理方面的经验要明显优于其他容器编排技术,加上Kubernetes在社区管理方面的民主化,使得它很快打败了Docker公司推出的容器编排解决方案(Compose+Swarm),从而成为了容器编排领域事实上的标准。

    而在功能上Kubernetes是一种综合的基于容器构建分布式系统的基础架构环境,它不仅能够实现基本的拉取用户镜像、运行容器,还可以提供路由网关、水平扩展、监控、备份、灾难恢复等一系列运维能力,而更重要的是Kubernetes可以按照用户的意愿和整个系统的规则,高度自动化的处理好容器之间的各种关系实现“编排”能力。

    此外Kubernetes的出现也重新定义了微服务架构的技术方向,目前通常所说的“云原生”及“Service Mesh(服务网格)”等概念,很大程度上也是依赖于Kubernetes所提供的基础能力。由于篇幅和作者知识水平有限,这里就不展开去聊了,感兴趣的读者可以参考其他专业书籍或技术资料。

    Kubernetes整体系统架构

    前面我们简单介绍了Kubernetes的起源和背景,接下来看看Kubernetes的整体系统架构,如下图所示:

    如上图所示,Kubernetes在架构上主要由Master和Node两种类型的节点组成,这两种节点分别对应着控制节点和计算节点。其中Master即控制节点,是整个Kubernetes集群的大脑,主要负责编排、管理和调度用户提交的作业,并能根据集群系统资源的整体使用情况将作业任务自动分发到可用Node计算节点。具体看Master节点主要由三个紧密协作的独立组件组合而成,它们分别是:

    • kube-apiserver:是Kubernetes集群API服务的入口,主要提供资源访问操作、认证、授权、访问控制及API注册和发现等功能机制。

    • kube-scheduler:负责Kubernetes的资源调度,能按照预定的调度策略将Pod调度到相应的机器上。

    • kube-controller-manager:负责容器编排及Kubernetes集群状态的维护,例如故障检测、自动扩展、滚动更新等。

    需要说明的是,上述组件在工作状态下还会产生许多需要进行持久化的数据,这些数据会通过kube-apiserver处理后统一保存到Etcd存储服务中。所以从这个角度看kube-apiserver不仅是外部访问Kubernetes集群的入口,也是维护整个Kubernetes集群状态的信息中枢。

    而在Kubernetes计算节点中,除了上述3个系统组件外,其他基本与Master节点相同,而其中最核心的部分就是kubelet组件。它的核心功能具如下:

    • 通过CRI(Container Runtime Interface)远程接口同容器运行时(如Docker)进行交互,对容器生命周期进行维护。其中CRI接口会定义了容器运行时的各项核心操作,例如启动容器所需的命令及参数等。

    • 通过GRPC协议同Device Plugin插件交互,实现Kubernetes对宿主机物理设备的管理。

    • 此外kubelet另一个重要的功能则是通过CNI(Container Networking Interface)来调用网络插件为容器配置网络,以及通过CSI(Container Storage Interface)和存储插件交互为容器配置持久化存储。

    在Kubernetes中kubelet会通过CRI接口同容器运行时进行交互,而容器运行时则通过叫做OCI容器运行时规范与底层Linux操作系统进行交互(涉及对Namespace、Cgroups等资源的操作,具体可以了解下Docker的技术原理)。需要强调的是,这里所说的容器运行时并不仅仅指Docker,而是所有实现了CRI接口规范的容器项目都可以作为Kubernetes的容器运行时存在。这是因为Kubernetes从设计之初就没有把Docker作为整个架构的核心,而只是将其作为最底层的一个容器运行时来实现。

    但这并不是说Kubernetes就完全抛弃Docker了,要知道Docker最大的成功并不是它的容器运行时技术,而是它定义的“容器镜像”开创性地解决了困扰业界多年的应用打包难题,所以虽然Kubernetes并不完全依赖于Docker的容器运行时技术,但容器镜像的定义标准却是所有容器技术都绕不开的存在。

    况且从Kubernetes架构设计上看,Kubernetes并没有打算重复造轮子而对已有的容器技术进行替代,它更关注的是对运行在大规模集群中的各种任务根据其关系进行作业编排及管理,所以任何实现了CRI、CNI、CSI等协议标准的容器技术都可以无缝地与Kubernetes集成。从这个角度看,Docker与Kubernetes的关系并不是替代的关系,而是平台与组件的关系,Kubernetes可以利用现有的Docker容器运行时技术,但却并不完全依赖Docker。而这也正是Kubernetes为什么被称作容器编排技术而不仅仅只是容器技术的原因。

    Kubernetes容器编排概述

    我们说处理任务之间的各种关系,实现容器编排是Kubernetes的核心技术能力,也是其大规模流行的关键原因。那么容器编排到底是个什么概念?在Kubernetes中是如何实现容器编排的呢?

    其实所谓容器编排,通俗点举例就是如果两个应用调用关系比较紧密,那么我们希望运行时将它们部署在同一台机器上,从而提升服务之间的通信效率。而能够支持自动将具有此类关系的应用,以容器的方式部署在同一台机器上的技术就是容器编排。

    当然,这里所说的紧密关系只是一种形象的说法,实际的技术场景中这种紧密关系可以被划分为很多类型,例如Web应用与数据库之间的访问关系、负载均衡和它后端服务之间的代理关系、门户应用与授权组件之间的调用关系等。

    而对于Kubernetes来说,这样的关系描述显然还是过于具体,因为Kubernetes的设计目标不仅仅是能够处理前面提到的所有类型的关系,还要能够支持未来可能出现的更多种类的关系。这就要求Kubernetes要从更宏观地角度来定义任务之间的各种关系,并且能为将来支持更多种类的关系留有余地。

    具体来说,Kubernetes是对容器间的访问进行了分类,如果这些应用之间需要非常频繁的交互和访问,或者它们之间存在直接通过本地文件进行信息交换的情况,那么在Kubernetes中可以将这些容器划分为一个“Pod”,而Pod中的容器将共享同一个Network Namespace、同一组数据卷,从而实现高效率通信。

    Pod是Kubernetes中最基础的编排对象,是Kubernetes最小的调度单元,也是Kubernetes实现容器编排的载体,其本质上是一组共享了某些系统资源的容器集合。在Kubernetes中围绕Pod可以延伸出其他核心概念,具体如下图所示:

    如上图所示,在Kubernetes中Pod解决了容器间紧密协作(即编排)的问题,而Pod要实现一次启动多个Pod副本就需要Deployment这个Pod多实例管理器;而有了这样一组Pod后,我们又需要通过一个固定网络地址以负载均衡的方式访问它,于是又有了Service。

    而根据不同的编排场景Pod又衍生出描述一次性运行任务的Job编排对象、描述每个宿主机上必须且只能运行一个副本的守护进程服务DaemonSet、描述定义任务的CronJob编排对象、以及针对有状态应用的StatefulSet等多种编排对象。而这些编排对象正是Kubernetes定义容器间关系和形态的主要方法。

    关于这些具体编排对象的介绍及应用场景,后面我将在本公众号的《Devops技术专栏》中陆续给大家介绍到,感兴趣的朋友可以点赞+关注!

    —————END—————

    展开全文
  • 区块链游戏元宇宙的关系

    万次阅读 2021-12-15 20:06:06
    这也是我一直以来追求的效果,但是,作为一个从业五年的第一代链游人,我可以跟我IOSG的朋友真诚的说,这个实际上难。 链游真正的难点在什么地方? 第一难在于,游戏的大制作,没法用链游回收成本或者说链游回收...

    最近看了最有价值的链游文章,就是IOSG出品的《我们不需要更快的马车》,激发出了我再次愿意深谈链游的想法。

    这篇文章的结尾描述了一个特别美好的像电影一样的去中心化的开发链游并实现DAO治理和运营,大家做到共享共生。

    我看了很感动。

    这也是我一直以来追求的效果,但是,作为一个从业五年的第一代链游人,我可以跟我IOSG的朋友真诚的说,这个实际上很难。

    链游真正的难点在什么地方?

    第一难在于,游戏的大制作,没法用链游回收成本或者说链游回收成本的方法不敢用。

    小制作?小制作不适合做链游,因为合约的开发成本可能比小制作还要大。

    今天游戏产业,投资少于2千万,就属于偷个鸡,比如真心热爱游戏的几个小朋友,努力吃一年到两年方便面或者被有钱有情怀的大佬包吃包住,一天干十几个小时,他们的机会成本差不多也要500万(就是这几个小朋友用这个劲头去打工能拿到的收入),而这种独立游戏,成功率很低,在Steam上或者Taptap能出头的都很不容易,偶尔有能被意见领袖大V们翻牌子的独立游戏,要么烧高香了,要么其实就是这几个小朋友里面有人会传播,并且产品真心有特色。像《太吾绘卷》、《鬼谷八荒》这种太少了。大部分都折戟沉沙,为梦想买单。这个现实,动漫产业也如此。

    如果投资了超过2000万,在今天,基本也就是大厂能干的起了,同时起十个项目养蛊,一遍遍测数据,一个个项目淘汰,最后优中选优,只要干成两个,一个月流水就过亿了。

    但这要更大的投入,从一开始就扣上大IP,还要争取影游联动(几年前的热点了)、明星代言等等,一旦留存不不好,Arpu不够,一样会死。业内大厂的《庆余年》,绝对大IP,大制作,两个亿砸下去了,从庆余年连续剧第一季播出时侯要上,一直拖到现在,第二季快拍完了,据说还在开发。

    今天游戏基本上都特指手游,为什么?因为手游一旦成功,太暴利了。那为什么手游这么暴利呢?第一是因为用户量太大了,易得性太高了,手机随时随地可以玩。第二是商业模式非常成熟,只要计算好cpa,LTV,arpu等数值,只要投入小于产出,就是一个持续投入广告持续产出利润的机器。所有的老板都很容易计算出来风险和收益。

    那为什么说链游难以回收成本?链游不是特别赚钱吗?

    真的是这样吗?

    当前火热的不得了的所谓链游,本质上,是矿游,也就是有没有人玩无所谓,只要砸钱,买NFT,按照规则产币,然后卖币或者经过一系列操作卖出NFT,即可获利。这种游戏,不需要玩家,只需要计算机和外挂和投资人即可,本质上游戏+外挂+电脑就是个矿机。那么这种游戏到底怎么赚钱的?懂得自然就懂的,看看最近崩的稀里哗啦的农夫世界就知道了,这种盈利模式,需要好游戏吗?说不好听点,游戏质量太好了,做外挂成本都高,人家都嫌麻烦。

    那真正的链游呢?《我们》文中提出,应该是所有收入都共享给所有治理代币的持有者的,才是真正的链游。

    我完全同意这种说法。

    这本质是什么?这本质一定是个共享经济模型。但你让每一个投资几千万的老板把本来有机会能揣在兜里的钱共享出去,他如何说服投资人?如何说服自己?

    当然也有这样一种可能,游戏一发行,发现游戏赔钱,那就改个链游吧,没准能捞一笔。

    结果发现,遇到了第二个大难题。就是想玩游戏的人,搞不懂去中心化的东西。想要来赚钱的人,不是非常关心你游戏质量,做的再好看的游戏,只能做个寂寞。会被按行内人称之为,根本不懂。而事实上,也确实没有传统游戏做链游成功过。

    只有一部分真正看的深远的人,坚定的认为,区块链游戏,必将走向高品质游戏,只是看谁能再次爆款,带动资本热潮进而带动整个行业。

    这就是我说的理想和现实的差距,我也喜欢文章最后描述的美好,但是,那终究只是一种美好,现实,也绝不是几个人能做得出来游戏大作。共享共生共建的Dao组织链游开发的组织难度不可想象,一旦节点Dely或者开发出来的东西不满意,就是不可挽回的灾难。钱花了,但是事情干的不好,怎么跟社区交代?如果没人交代,那怎么交代?

    《我们》一文中我最赞同的就是偏向于竞技类游戏,减少养成元素,这点跟DPK的思路非常像。他们的第二款游戏偏成长,但第三款游戏就是竞技性游戏了。DPK的制作人Ethan跟我说,更多的游戏尝试是必要的,但从逻辑推演,竞技类游戏似乎是更好的一个机会,但它很难,因为一旦用户少,匹配的体验感就差。但不可否认,它更容易破圈。

    但我认为目前链游的发展,根本性的问题不是游戏类型的问题。

    我最近一直在思考链游和元宇宙的关系。我认为链游是未来的元宇宙的基础商业模式,因为VR也好,拟真也好,3D建模也好,这些都好实现。但是,全新的商业模式,不好实现。

    元宇宙应该必然是个用户之间自由交易、自由创造、自由消费、自由赚取报酬的世界。否则,就还是一个单向为巨头付费的娱乐应用而已,无论多么炫酷的表现效果,都摆脱不了为了欢乐买单,为了互动娱乐买单,甚至为了身体愉悦买单,那这些都已经有了,无非用更好的VR重新实现一遍而已。绝不是未来的元宇宙。

    而元宇宙的经济逻辑是什么?我总结了四个框架。

    目前链游就是在探索这四个方向的问题。我在海外看到Axie和DPK平台已经在充分实践这些新的商业模式,我觉得是值得大家讨论的。

    1、元宇宙必须是一个Live to Earn(生活即可赚钱)的全新人类生存模式,元宇宙的世界必须能够让人赚钱。

    而所谓的Play to Earn其实就是在探索这个问题。

    问题是,Earn的是谁的钱呢?

    如果整个体系没有任何人愿意为价值买单,那么,Earn的就是资本市场的溢价?

    这个说法,大家忽略了所谓“价值”到底是什么?谁规定玩游戏的价值一定是游戏价值了?一定是游戏乐趣?请问传奇这种游戏有什么乐趣?它的乐趣是和一帮兄弟激烈拼杀攻城略地的爽快感。如此低画质如此令人发指的动效,享受的不是游戏乐趣,享受的是有主题的社交。同样的道理,区块链游戏有一个乐趣一直是巨大的非游戏性的价值乐趣,就是交易获利的乐趣。所以,严格来说,并不存在完全不为价值买单的人。只是多少罢了。

    另外一种就是我一直在试图努力做到的,就是整个游戏体系真的有人愿意为价值付费,而付费的对象,不是官方,是用户。花钱的用户,获得了变强的资格,变得更爱玩,获得了炫耀的资格,获得人生成就,就像给主播打赏一样,享受的就是主播看到你一进直播间就惊喜地喊“龙哥来了龙哥来了,大家撒花撒起来”,在这一刻,你之前打赏的几十万全都值了,这就是你购买的价值。

    而卖出资产的用户,得到了你的购买肯定,这一刻,获取的就是真实财富,幸福感难以言表。

    在DPK体系中,繁殖猫,卖猫出去,一开始很多有钱的外国玩家根本不屑一顾,但当他们自己繁殖的猫真的以十几倍卖出去的时候,那份欣喜,快乐不亚于游戏。

    无论是Axie还是DPK,都是以交易税作为价值承载,也就是说,这是真正承载“股票”的净利润。而市场对股票的几十倍上百倍的PE,那是市场对这个“企业”未来发展的认可。这个道理跟特斯拉已经几百倍PE的道理一样。你今天投入一块钱,靠分红要几百年才能赚回来,但你觉得这个公司未来发展能to the moon,那就值。这也是新一代华尔街金融家和老一代银行家最大的分歧所在,过去特斯拉十几年忽悠全世界的不要脸样子,很多老经济学家一样看不懂,但年轻一代懂。

    2、元宇宙的核心问题不是拟真,而是经济问题和金融问题

    游戏是越拟真越好玩吗?那全世界的游戏都应该是写实的3D游戏。事实上不是这样。拟真和游戏从来就不是绝对的。拟真要的是沉浸感,而游戏要的不仅仅是沉浸感。

    拟真是随着时间的积累必然发展的,无论是VR还是AR还是MR,亦或者是在更高算力的5G之下的云游戏、云渲染,都可以更拟真,更身临其境。而这些的实现,无非是让原来屏幕前的游戏交互,扩展到了空间上,更多的剧本杀交互,更多的运动交互,更多的上天入地交互,甚至更多的两性交互。这些从来就不是技术问题,是时间问题。从虚幻1到虚幻5,大家可以看看拟真的世界发生了什么事情。

    而这个方向,有Facebook的VR的事情,有微软的人工智能的事情,有Nvidia的超级显卡算力的事情,有Epic的虚幻引擎的事情,也可能有腾讯Roblox的事情,但有我们老百姓什么事情?有新兴资本什么事情?哪个资本方能再投资出一个Nvidia吗?

    但有一个问题是这些巨头解决不了的,那就是比狠。DPK敢一边做一边把所有资源共享出去,所有内容公开,所有收入交出来分享给用户,所有NFT让用户自己产出,所有的稀缺资源一步步的释放给真正的用户,仅有的收入全都用于投资引进新的游戏,请问,这些大佬谁敢?

    他们不敢,因为他们无法对股价交代,无法对投资人交代。

    Axie和DPK这种新型的去中心化链游为什么敢?

    因为区块链的底层逻辑就是共享、共治、共建,整个新一代游戏可能不如巨头们投入多,但人家投入再多跟用户有什么关系,就是告诉你,打钱!

    而新一代的链游,投入的每一分钱,都跟用户有关系。用户就是主人。

    这是经济逻辑,而新一代的元宇宙,最难的一定是在经济逻辑与金融方法上。凡是能用钱搞定的都不是问题,问题就是那些你用钱搞不定的事情。

    而元宇宙是不是也是这个逻辑,你思考一分钟,想一想,元宇宙也是如此。

    3、元宇宙的经济学底层,必须以算法和数学为标准,数字资产的确权是天然的而不是依靠神圣不可侵犯的客气话来保证的。

    为什么用钱搞不定元宇宙的经济体系呢?不仅仅是不愿意分享的问题。更深层次的原因是,大厂、大佬们,必须要控制,不控制,就没法计算未来,不控制就无法掌控风险。而链游的数字资产和未来元宇宙的数字资产一样,是不可控制的,是被每一个人自己控制的。整个世界的底层,架构在数学和代码上,没有谁能真正控制。这就是新一代的虚拟世界应该有的样子。也是老外追捧的web3,究其根本,是最早的互联网建设者们薪火相传,没有熄灭让互联网实现共享共治共生的梦想,传了二代人,这件事就要实现了。

    4、元宇宙的经济学逻辑最难于理解和构建的,其实是需求。

    现实人的衣食住行,生老病死都是刚需,所以农业是第一大产业,因为吃的需求是农业及附属产业,衣是纺织业及附属产业,住是房地产及附属产业,行是交通工具及附属产业,结婚、养老、医疗、殡葬,都是刚需,围绕这些产业做都是刚需。

    有了需求,才会有供给,才会产生所有的经济循环。

    而现实中同样出现了不是刚需的需求,比如唱歌,比如听故事,比如画漫画,比如cosplay,比如代吃肯德基,比如收集某种卡片,比如买很贵的鞋子和包包。

    这些非刚需也一样拥有强大的需求。

    所以,元宇宙这种拟真的世界,一样会拥有除了人类刚需的需求。

    只要找到需求,就会很清楚的开始找到元宇宙经济学的源头。

    年轻人的第一个刚需,是有意思。

    第二个刚需,是搞钱。

    如果一件事即有意思,又能搞钱,这件事就太值得做了。

    所以我在多年前,尝试在一个MMORPG游戏中实现自由市场经济,可惜受限制太大。但当时做的虚拟世界的经济模型,却是很适合今天。

    只要解决了需求的逻辑以及产生价值付费用户,那么在链游中,生产型玩家和消费型玩家,随时会互换角色,他们都可能去生产要素市场去雇工,并在数字资产市场销售获利。

    而这个生产要素市场,可未必是在虚拟世界里面。而数字资产市场,也未必在你家的市场。

    我举个例子,有一个玩家想要在某个元宇宙中创造一个特斯拉汽车,他在现实世界找了一个3D建模高手,出钱定制了一个特别拉风的特斯拉,然后把这个模型上传到了元宇宙中,铸造成了NFT,然后开着它到处比赛,拍视频,而意外在youtude上火了,被马斯克在twitter点名收购这个NFT,结果在opensea被炒到500万美金卖出去。

    而买家开着这辆车参与多个游戏世界的赛车比赛,每次都是倒数第一,并且拒绝为特斯拉代言,声称专门为打特斯拉脸而来。导致特斯拉专门制作了一个官方赛车尾随这辆车比赛,场场拿第一,一时间全网成为笑谈,但也获得无数关注。

    在这个例子里面,这个玩家即是生产型玩家,又是消费型玩家,交易的空间也不局限在虚拟世界,而是横跨多个虚拟世界。

    但那个买车的用户呢?他是否也用生产要素创造出来一种全新的商品呢?而这个商品是不是也在被购买呢?

    而特斯拉算是生产型还是消费型呢?

    这里面真的是非常有意思,篇幅有限,我们可以以后再深入探讨。

    总之,需求的问题一旦解决,无论是需求定律还是边际定义,传统经济学的大量定义都可以应用于虚拟世界,只是,很多时候的应用很怪异,因为商品未必是有形有质的才叫商品。

    链游是元宇宙的基础,链游在探索的意义,可能超乎你想象。

    展开全文
  • 用户、角色权限关系

    万次阅读 多人点赞 2015-12-21 21:13:24
     因为做过的一些系统的权限管理的功能虽然在逐步完善,但总有些不尽人意的地方,总想抽个时间来更的思考一下权限系统的设计。  权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新对系统...

    一.引言

           因为做过的一些系统的权限管理的功能虽然在逐步完善,但总有些不尽人意的地方,总想抽个时间来更好的思考一下权限系统的设计。

           权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新对系统的权限进行设计,以满足不同系统用户的需求,将会浪费我们不少宝贵时间,所以花时间来设计一个相对通用的权限系统是很有意义的。

    二.设计目标

           设计一个灵活、通用、方便的权限管理系统。

           在这个系统中,我们需要对系统的所有资源进行权限控制,那么系统中的资源包括哪些呢?我们可以把这些资源简单概括为静态资源(功能操作、数据列)和动态资源(数据),也分别称为对象资源和数据资源,后者是我们在系统设计与实现中的叫法。

    系统的目标就是对应用系统的所有对象资源和数据资源进行权限控制,比如应用系统的功能菜单、各个界面的按钮、数据显示的列以及各种行级数据进行权限的操控。

    三.相关对象及其关系

           大概理清了一下权限系统的相关概念,如下所示:

    1.       权限

    系统的所有权限信息。权限具有上下级关系,是一个树状的结构。下面来看一个例子

    系统管理

            用户管理

                   查看用户

                    新增用户

                         修改用户

                         删除用户

           对于上面的每个权限,又存在两种情况,一个是只是可访问,另一种是可授权,例如对于“查看用户”这个权限,如果用户只被授予“可访问”,那么他就不能将他所具有的这个权限分配给其他人。

    2.       用户

    应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于0~n个角色,可属于0~n个组。他的权限集是自身具有的权限、所属的各角色具有的权限、所属的各组具有的权限的合集。它与权限、角色、组之间的关系都是n对n的关系。

    3.       角色

    为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,例如系统管理员、管理员、用户、访客等角色。角色具有上下级关系,可以形成树状视图,父级角色的权限是自身及它的所有子角色的权限的综合。父级角色的用户、父级角色的组同理可推。

    4.       组

    为了更好地管理用户,对用户进行分组归类,简称为用户分组。组也具有上下级关系,可以形成树状视图。在实际情况中,我们知道,组也可以具有自己的角色信息、权限信息。这让我想到我们的QQ用户群,一个群可以有多个用户,一个用户也可以加入多个群。每个群具有自己的权限信息。例如查看群共享。QQ群也可以具有自己的角色信息,例如普通群、高级群等。

    针对上面提出的四种类型的对象,让我们通过图来看看他们之间的关系。

    用户·角色·权限·表 - 寒惜祉 - 諾愛→請深愛不愛→請滾開

     

        由上图中可以看出,这四者的关系很复杂,而实际的情况比这个图还要复杂,权限、角色、组都具有上下级关系,权限管理是应用系统中比较棘手的问题,要设计一个通用的权限管理系统,工作量也着实不小。

    当然对于有些项目,权限问题并不是那么复杂。有的只需要牵涉到权限和用户两种类型的对象,只需要给用户分配权限即可。

    在另一些情况中,引入了角色对象,例如基于角色的权限系统, 只需要给角色分配权限,用户都隶属于角色,不需要单独为用户分配角色信息。

    通用权限管理设计篇(二)——数据库设计

       国庆前整的通用权限设计的数据库初步设计部分,现在贴上来。

    理清了对象关系之后,让我们接着来进行数据库的设计。在数据库建模时,对于N对N的

    关系,一般需要加入一个关联表来表示关联的两者的关系。初步估计一下,本系统至少需要十张表,分别为:权限表、用户表、角色表、组表、用户权限关联表、用

    户角色关联表、角色权限关联表、组权限关联表、组角色关联表、用户属组关联表。当然还可能引出一些相关的表。下面让我们在PowerDesigner中画出各表吧。

           各表及其关系如下:

    用户·角色·权限·表 - 寒惜祉 - 諾愛→請深愛不愛→請滾開

          

    1.       用户表

    用户表(TUser)

    字段名称

    字段

    类型

    备注

    记录标识

    tu_id

    bigint

    pk, not null

    所属组织

    to_id

    bigint

    fk, not null

    登录帐号

    login_name

    varchar(64)

    not null

    用户密码

    password

    varchar(64)

    not null

    用户姓名

    vsername

    varchar(64)

    not null

    手机号

    mobile

    varchar(20)

    电子邮箱

    email

    varchar(64)

    创建时间

    gen_time

    datetime

    not null

    登录时间

    login_time

    datetime

    上次登录时间

    last_login_time

    datetime

    登录次数

    count

    bigint

    not null

    2.       角色表

    角色表(TRole)

    字段名称

    字段

    类型

    备注

    角色ID

    tr_id

    bigint

    pk, not null

    父级角色ID

    parent_tr_id

    bigint

    not null

    角色名称

    role_name

    varchar(64)

    not null

    创建时间

    gen_time

    datetime

    not null

    角色描述

    description

    varchar(200)

    3.       权限表

    权限表(TRight)

    字段名称

    字段

    类型

    备注

    权限ID

    tr_id

    bigint

    pk, not null

    父权限

    parent_tr_id

    bigint

    not null

    权限名称

    right_name

    varchar(64)

    not null

    权限描述

    description

    varchar(200)

    4.       组表

    组表(TGroup)

    字段名称

    字段

    类型

    备注

    组ID

    tg_id

    bigint

    pk, not null

    组名称

    group_name

    varchar(64)

    not null

    父组

    parent_tg_id

    bigint

    not null

    创建时间

    gen_time

    datetime

    not null

    组描述

    description

    varchar(200)

    5.       角色权限表

    角色权限表(TRoleRightRelation)

    字段名称

    字段

    类型

    备注

    记录标识

    trr_id

    bigint

    pk, not null

    角色

    Role_id

    bigint

    fk, not null

    权限

    right_id

    bigint

    fk, not null

    权限类型

    right_type

    int

    not null(0:可访问,1:可授权)

    6.       组权限表

    组权限表(TGroupRightRelation)

    字段名称

    字段

    类型

    备注

    记录标识

    tgr_id

    bigint

    pk, not null

    tg_id

    bigint

    fk, not null

    权限

    tr_id

    bigint

    fk, not null

    权限类型

    right_type

    int

    not null(0:可访问,1:可授权)

    7.       组角色表

    组角色表(TGroupRoleRelation)

    字段名称

    字段

    类型

    备注

    记录标识

    tgr_id

    bigint

    pk, not null

    tg_id

    bigint

    fk, not null

    角色

    tr_id

    bigint

    pk, not null

    8.       用户权限表

    用户权限表(TUserRightRelation)

    字段名称

    字段

    类型

    备注

    记录标识

    tur_id

    bigint

    pk, not null

    用户

    tu_id

    bigint

    fk, not null

    权限

    tr_id

    bigint

    fk, not null

    权限类型

    right_type

    int

    not null(0:可访问,1:可授权)

    9.       用户角色表

    用户角色表(TUserRoleRelation)

    字段名称

    字段

    类型

    备注

    记录标识

    tur_id

    bigint

    pk, not null

    用户

    tu_id

    bigint

    fk, not null

    角色

    tr_id

    bigint

    fk, not null

    10.   用户组表

    用户组表(TUserGroupRelation)

    字段名称

    字段

    类型

    备注

    记录标识

    tug_id

    bigint

    pk, not null

    用户

    tu_id

    bigint

    fk, not null

    tg_id

    bigint

    fk, not null

    11.   组织表

    组织表(TOrganization)

    字段名称

    字段

    类型

    备注

    组织id

    to_id

    bigint

    pk, not null

    父组

    parent_to_id

    bigint

    not null

    组织名称

    org_name

    varchar(64)

    not null

    创建时间

    gen_time

    datetime

    not null

    组织描述

    description

    varchar(200)

    12.   操作日志表

    操作日志表(TLog)

    字段名称

    字段

    类型

    备注

    日志ID

    log_id

    bigint

    pk, not null

    操作类型

    op_type

    int

    not null

    操作内容

    content

    varchar(200)

    not null

    操作人

    tu_id

    bigint

    fk, not null

    操作时间

    gen_time

    datetime

    not null

    通用权限管理系统设计篇(三)——概要设计说明书

     在前两篇文章中,不少朋友对我的设计提出了异议,认为过于复杂,当然在实际的各种系统的权限管理模块中,并不像这里设计得那么复杂,我以前所做的系统中,

    由只有用户和权限的,有只有用户、权限和角色的,还有一个系统用到了用户、权限、角色、组概念,这个系统是我在思考以前所做系统的权限管理部分中找到的一

    些共性而想到的一个设计方案,当然还会有不少设计不到位的地方,在设计开发过程中会慢慢改进,这个系统权当学习只用,各位朋友的好的建议我都会考虑到设计

    中,感谢各位朋友的支持。

        今天抽时间整了一份概念设计出来,还有一些地方尚未考虑清楚,贴出1.0版,希望各位朋友提出宝贵建议。

        大家也可以点击此处《通用权限管理概要设计说明书》自行下载,这是1.0版本,有些地方可能还会进行部分修改,有兴趣的朋友请关注我的blog。

         

    1.      引言

    1.1 编写目的

    本文档对通用权限管理系统的总体设计、接口设计、界面总体设计、数据结构设计、系统出错处理设计以及系统安全数据进行了说明。

    1.2 背景

    a、 软件系统的名称:通用权限管理系统;

    b、 任务提出者、开发者:谢星星;

    c、 在J2EE的web系统中需要使用权限管理的系统。

    1.3 术语

    本系统:通用权限管理系统;

    SSH:英文全称是Secure Shell。

    1.4 预期读者与阅读建议

    预期读者

    阅读重点

    开发人员

    总体设计、接口设计、数据结构设计、界面总体设计、系统出错处理设计

    设计人员

    总体设计、接口设计、数据结构设计、系统安全设计

    1.5 参考资料

    《通用权限管理系统需求规格说明书》

    《通用权限管理系统数据库设计说明书》

    2.      总体设计

    2.1 设计目标

    权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新对系统的权限进行设计,以满足不同系统用户的需求,将会浪费我们不少宝贵时间,所以花时间来设计一个相对通用的权限系统是很有意义的。

    本系统的设计目标是对应用系统的所有资源进行权限控制,比如应用系统的功能菜单、各个界面的按钮控件等进行权限的操控。

    2.2 运行环境

    操作系统:Windows系统操作系统和Linux系列操作系统。

    2.3 网络结构

     通用权限管理系统可采用Java Swing实现,可以在桌面应用和Web应用系统中进行调用。如果需要要适应所有开发语言,可以将其API发布到WEB Service上。暂时用Java Swing实现。

    2.4 总体设计思路和处理流程

    在说明总体设计思路前,我们先说明本系统的相关概念:

    1. 权限资源

    系统的所有权限信息。权限具有上下级关系,是一个树状的结构。下面来看一个例子

    系统管理

            用户管理

                   查看用户

                   新增用户

                   修改用户

                   删除用户

    对于上面的每个权限,又存在两种情况,一个是只是可访问,另一种是可授权,例如对于“查看用户”这个权限,如果用户只被授予“可访问”,那么他就不能将他所具有的这个权限分配给其他人。

    2. 用户

    应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于0~n个角色,可属于0~n个组。他的权限集是自身具有的权限、所属的各角色具有的权限、所属的各组具有的权限的合集。它与权限、角色、组之间的关系都是n对n的关系。

    3. 角色

    为了对许多拥有相似权限的用户进行分类管理,定义了角色的概念,例如系统管理员、管理员、用户、访客等角色。角色具有上下级关系,可以形成树状视图,父级角色的权限是自身及它的所有子角色的权限的综合。父级角色的用户、父级角色的组同理可推。

    4. 组

    了更好地管理用户,对用户进行分组归类,简称为用户分组。组也具有上下级关系,可以形成树状视图。在实际情况中,我们知道,组也可以具有自己的角色信息、

    权限信息。这让我想到我们的QQ用户群,一个群可以有多个用户,一个用户也可以加入多个群。每个群具有自己的权限信息。例如查看群共享。QQ群也可以具有

    自己的角色信息,例如普通群、高级群等。

    针对如上提出的四种对象,我们可以整理得出它们之间的关系图,如下所示:

    用户·角色·权限·表 - 寒惜祉 - 諾愛→請深愛不愛→請滾開

    总体设计思路是将系统分为组权限管理、角色权限管理、用户权限管理、组织管理和操作日志管理五部分。

    其中组权限管理包括包含用户、所属角色、组权限资源和组总权限资源四部分,某个组的权限信息可用公式表示:组权限 = 所属角色的权限合集 + 组自身的权限。

    角色权限管理包括包含用户、包含组和角色权限三部分,某个角色的权限的计算公式为:角色权限 = 角色自身权限。

    用户权限管理包括所属角色、所属组、用户权限、用户总权限资源和组织管理五部分。某个用户总的权限信息存在如下计算公式:用户权限 = 所属角色权限合集 + 所属组权限合集 + 用户自身权限。

    组织管理即对用户所属的组织进行管理,组织以树形结构展示,组织管理具有组织的增、删、改、查功能。

    操作日志管理用于管理本系统的操作日志。

    注意:因为组和角色都具有上下级关系,所以下级的组或角色的权限只能在自己的直属上级的权限中选择,下级的组或者角色的总的权限都不能大于直属上级的总权限。

    2.5 模块结构设计

    本系统的具有的功能模块结构如下图所示:

    2.6 尚未解决的问题

    无。

    3.      接口设计(暂略)

    3.1 用户接口(暂略)

    3.2 外部接口(暂略)

    3.3 内部接口(暂略)

    4.      界面总体设计

    本节将阐述用户界面的实现,在此之前对页面元素做如下约定:

    序号

    页面元素

    约定

    1

    按钮

    未选中时:[按钮名称]

    选中时:[按钮名称]

    2

    单选框

    ○ 选项

    3

    复选框

    □ 选项

    4

    下拉框

     [选项,…,] ▽

    5

    文本框

     |________|

    6

    TextArea

     |…………|

    7

    页签

    未选中时:选项名称

     选中时:选项名称

    8

    未选中链接

    链接文字

    9

    选中链接

    链接文字

    10

    说明信息

    说明信息

     

    4.1 组权限管理

    4.1.1包含用户

    组信息

       组1

           组11

           组12

           组…

       组2

           组21

           组22

           组…

     

    所选择组:组1

    [包含用户] [所属角色] [组权限] [总权限]

    [修改]

    用户名   姓名     手机号   最近登录时间 登录次数

    阿蜜果 谢星星 13666666666 2007-10-8    66

    sterning xxx    13555555555 2007-10-8    10 

    ……

    当用户选择“修改”按钮时,弹出用户列表,操作人可以通过勾选或取消勾选来修改该组所包含的用户。

    4.1.2所属角色

    组信息

       组1

           组11

           组12

           组…

       组2

           组21

           组22

           组…

     

    所选择组:组1

    [包含用户] [所属角色] [组权限] [总权限]

    [修改]

    角色ID   角色名称   角色描述

    1          访客       --

       2         初级用户    --

      

    当用户选择“修改”按钮时,弹出角色树形结构,操作人可以通过勾选或取消勾选来修改该组所属的角色。

    4.1.3组权限

    组信息

       组1

           组11

           组12

           组…

       组2

           组21

           组22

           组…

     

    所选择组:组1

    [包含用户] [所属角色] [组权限] [总权限]

                    [保存] [取消]

    4.1.4总权限

    组信息

       组1

           组11

           组12

           组…

       组2

           组21

           组22

           组…

     

    所选择组:组1

    [包含用户] [所属角色] [组权限] [总权限]

                    [保存] [取消]

    通过对已具有的权限取消勾选,或为某权限添加勾选,来修改组的权限信息,点击“保存”按钮保存修改信息。

    4.1.5组管理

           在下图中,选中组1的时候,右键点击可弹出组的操作列表,包括添加、删除和修改按钮,从而完成在该组下添加子组,删除该组以及修改该组的功能。

    组信息

       组1

           组11

           组12

           组…

       组2

           组21

           组22

           组…

     

    所选择组:组1

    [包含用户] [所属角色] [组权限] [总权限]

    [修改]

    用户名   姓名     手机号   最近登录时间 登录次数

    阿蜜果 谢星星 13666666666 2007-10-8    66

    sterning xxx    13555555555 2007-10-8    10 

    ……

    4.2 角色权限管理

    4.2.1包含用户

    角色信息

       角色1

           角色11

           角色12

           角色…

       角色2

           角色21

           角色22

           角色…

     

    所选择角色:角色1

    [包含用户] [包含组] [角色权限]

    [修改]

    用户名   姓名     手机号   最近登录时间 登录次数

    阿蜜果 谢星星 13666666666 2007-10-8    66

    sterning xxx    13555555555 2007-10-8    10 

    ……

    当用户选择“修改”按钮时,弹出用户列表,操作人可以通过勾选或取消勾选来修改该角色所包含的用户。

    4.2.2包含组

    角色信息

       角色1

           角色11

           角色12

           角色…

       角色2

           角色21

           角色22

           角色…

     

    所选择角色:角色1

    [包含用户] [包含组] [角色权限]

    [修改]

    组ID   组名称     组描述

    1      xxx1       --

    2       xxx2        -- 

    ……

    当用户选择“修改”按钮时,弹出用户列表,操作人可以通过勾选或取消勾选来修改该角色所包含的组。

    4.2.3角色权限

    角色信息

       角色1

           角色11

           角色12

           角色…

       角色2

           角色21

           角色22

           角色…

     

    所选择角色:角色1

    [包含用户] [包含组] [角色权限]

                     

                   [保存] [取消]

    通过对已具有的权限取消勾选,或为某权限添加勾选,来修改角色的权限信息,点击“保存”按钮保存修改信息。

    4.2.4管理角色

           在下图中,选中组1的时候,右键点击可弹出组的操作列表,包括添加、删除和修改按钮,从而完成在该组下添加子组,删除该组以及修改该组的功能。

    角色信息

       角色1

           角色11

           角色12

           角色…

       角色2

           角色21

           角色22

           角色…

     

    所选择角色:角色1

    [包含用户] [包含组] [角色权限]

    [修改]

    用户名   姓名     手机号   最近登录时间 登录次数

    阿蜜果 谢星星 13666666666 2007-10-8    66

    sterning xxx    13555555555 2007-10-8    10 

    ……

    4.3 用户权限管理

    4.3.1所属角色

    用户权限信息

    xx公司

       广州分公司

           阿蜜果

           肖xx

           yy…

       北京分公司

           zz1

           zz2

           zz3…

     

    所选择用户:阿蜜果

    [所属角色] [所属组] [用户权限] [总权限]

    [修改]

    角色ID   角色名称   角色描述

    1          访客       --

       2         初级用户    --

    当用户选择“修改”按钮时,弹出角色树形结构,操作人可以通过勾选或取消勾选来修改该用户所属的角色。

    4.3.2所属组

    用户信息

    xx公司

       广州分公司

           阿蜜果

           肖xx

           yy…

       北京分公司

           zz1

           zz2

           zz3…

     

    所选择用户:阿蜜果

    [所属角色] [所属组] [用户权限] [总权限]

    [修改]

    组ID   组名称     组描述

    1       组1         --

       2       组2         --

    当用户选择“修改”按钮时,弹出组的树形结构,操作人可以通过勾选或取消勾选来修改该用户所属的组。

    4.3.3用户权限

    用户信息

    xx公司

       广州分公司

           阿蜜果

           肖xx

           yy…

       北京分公司

           zz1

           zz2

           zz3…

     

    所选择用户:阿蜜果

    [所属角色] [所属组] [用户权限] [总权限]

                     

                    [保存] [取消]

    通过对已具有的权限取消勾选,或为某权限添加勾选,来修改用户的权限信息,点击“保存”按钮保存修改信息。

    4.3.4总权限

    用户信息

    xx公司

       广州分公司

           阿蜜果

           肖xx

           yy…

       北京分公司

           zz1

           zz2

           zz3…

     

    所选择用户:阿蜜果

    [所属角色] [所属组] [用户权限] [总权限]

                     

                    [保存] [取消]

    通过对已具有的权限取消勾选,或为某权限添加勾选,来修改用户的权限信息,点击“保存”按钮保存修改信息。

    4.3.5用户管理

           当选择了某用户时,点击右键,弹出菜单列表:修改、删除、取消,点击修改和删除按钮可以实现用户的删除和修改功能。

           选择某个组织,例如下表中的“广州分公司”,弹出菜单列表:添加子组织、删除组织、修改组织、添加用户、取消,点击添加用户按钮可以实现用户的添加功能。

    用户权限信息

    xx公司

       广州分公司

           阿蜜果

           肖xx

           yy…

       北京分公司

           zz1

           zz2

           zz3…

     

    所选择用户:阿蜜果

    [所属角色] [所属组] [用户权限] [总权限]

    [修改]

    角色ID   角色名称   角色描述

    1          访客       --

       2         初级用户    --

    4.3.6组织管理

           选择某个组织,例如下表中的“广州分公司”,弹出菜单列表:添加子组织、删除组织、修改组织、添加用户、取消,点击添加子组织、删除组织、修改组织按钮可以实现组织的添加、删除和修改功能。

    用户权限信息

    xx公司

       广州分公司

           阿蜜果

           肖xx

           yy…

       北京分公司

           zz1

           zz2

           zz3…

     

    所选择用户:阿蜜果

    [所属角色] [所属组] [用户权限] [总权限]

    [修改]

    角色ID   角色名称   角色描述

    1          访客       --

       2         初级用户    --

    4.4 操作日志管理

    4.4.1查询操作日志

    操作名称:|________|  操作人:|________|

    操作时间从 |________| 到 |________| [查询] [重置] [删除]

    编号    操作名称    操作内容    操作人    操作时间

    1        xx1         --        Amigo    2007-10-8

    2        xx2         --        xxyy     2007-10-8

    输入上图表单中的查询信息后,点击“查询”按钮,可查询出符合条件的信息。

    4.4.2删除操作日志

    操作名称:|________| 操作人:|________|

    操作时间从 |________| 到 |________| [查询] [重置] [删除]

    编号    操作名称    操作内容    操作人    操作时间

    1        xx1       --           Amigo      2007-10-8

    2        xx2       --           xxyy       2007-10-8

    输入上图表单中的查询信息后,点击“查询”按钮,可查询出符合条件的信息。而后点击“删除”按钮,可删除符合查询条件的操作日志。

    5.      数据结构设计

    数据库设计的模型请参见《通用权限管理系统_数据库模型.pdm》。表的说明请参见《通用权限管理系统数据库设计说明书》。

    5.1 设计原则

    5.1.1命名的规范

    数据库中表、主键、外键、索引的命名都以统一的规则,采用大小写敏感的形式,各种对象命名长度不要超过30个字符,这样便于应用系统适应不同的数据库平台。

    5.1.2数据的一致性和完整性

    为了保证数据库的一致性和完整性,往往通过表间关联的方式来尽可能的降低数据的冗余。表间关联是一种强制性措施,建立后,对父表(Parent Table)和子表(Child Table)的插入、更新、删除操作均要占用系统的开销。如果数据冗余低,数据的完整性容易得到保证,但增加了表间连接查询的操作,为了提高系统的响应时间,合理的数据冗余也是必要的。使用规则(Rule)和约束(Check)来防止系统操作人员误输入造成数据的错误是设计人员的另一种常用手段,但是,不必要的规则和约束也会占用系统的不必要开销,需要注意的是,约束对数据的有效性验证要比规则快。所有这些,需要在设计阶段应根据系统操作的类型、频度加以均衡考虑。

    5.2 数据库环境说明

    数据库:MySql5.0

    设计库建模工具:PowerDesigner12.0

    5.3 数据库命名规则

    表名以T开头,外键以FK开头,索引以INDEX开头。

    5.4 逻辑结构

    pdm文件的名称为:《通用权限管理系统_数据库模型》。

    5.5 物理存储

    通过数据库建模工具PowerDesigner12可以将pdm导出为文本文件,将数据库脚本放入文本文件中保存。

    5.6 数据备份和恢复

    数据库需定期备份(每天备份一次),备份文件格式为backup_yyyyMMdd,数据库被破坏时,利用最新的备份文件进行恢复。

    6.      系统出错处理设计

    6.1 出错信息

    错误分类

    子项及其编码

    错误名称

    错误代码

    备注

    数据库错误

    连接

    连接超时

    100001001

    连接断开

    100001002

    数据库本身错误代码

    数据库本身错误代码

    100002+数据库错误代码

    TCP连接错误

    连接

    连接超时

    101001001

    连接断开

    101001002

    其它TCP连接错误(socket自身错误代码)

    101002+ socket错误代码

    配置信息错误

    未配置输入参数

    102001

    未配置输出参数

    102002

    组管理部分自定义错误

    103001——103999

    角色管理部分自定义错误

    104001——104999

    用户管理部分自定义错误

    105001——105999

    操作日志管理

    106001——106999

    6.2 补救措施

    为了当某些故障发生时,对系统进行及时的补救,提供如下补救措施:

    a.后备技术   定期对数据库信息进行备份(每天一次),当数据库因某种原因被破坏时,以最新的数据库脚本进行恢复;。

    7.      系统安全设计

    7.1 数据传输安全性设计

    SSH可以通过将联机的封包加密的技术进行资料的传递; 使用SSH可以把传输的所有数据进行加密,即使有人截获到数据也无法得到有用的信息。同时数据经过压缩,大大地加快了传输的速度。通过SSH的使用,可以确保资料传输比较安全并且传输效率较高。

    7.2 应用系统安全性设计

    操作人的操作信息需要提供操作记录。对系统的异常信息需进行记录,已备以后查看。只有授权用户才能登录系统,对于某个操作,需要具有相应权限才能进行操作。

    7.3 数据存储安全性设计           

    对于用户的密码等敏感信息采用MD5进行加密。

    展开全文
  • 大家,我来自天云大数据公司,我叫马敬涛,主要从事数据科学应用方面的工作。今天我给大家分享的主题是“复杂网络理论及应用”,希望本次分享的内容能给大家带来一些启发,如果内容中有说的不妥的地方也请大家多多...
  • 区块链智能合约的关系

    千次阅读 2018-04-10 16:24:16
    尽管比特币(Bitcoin)以太坊(Ethereum)是经常被一起提及的两个词,但实际上,比特币与以太坊有着大的区别。它们唯一的共同点是,以太坊也是一个在区块链之上运行的加密资产。 与比特币仅仅是一个加密货币...
  • 设计模式之类之间的关系和六大原则1 类之间的关系1.1 继承关系1.2 实现关系1.3 依赖关系1.4 关联关系1.5 聚合关系1.6 组合关系1.7 总结2 六大原则2.1 单一职责原则2.2 开放-封闭原则2.3 依赖倒转原则2.4 里氏代换...
  • 但是成绩就是很好,她化学进了学校的竞赛培训班,数学也很好,但是平时完全没有死命学的迹象。 第二个,另一个寝室的,我们是寄宿学校要求交手机,她没交,经常看见她玩,成绩也是铁打的特别好。 我观察了一下,...
  • 作者 : 不良使 潜力创作新星 华为云享专家 博客记录学习的思路,项目错误,寻找志同道合的朋友 如果觉得有帮助记得一键三连 ┗|`O′|┛ 嗷~~ .
  • 云计算、大数据人工智能之间的关系----详细说明

    万次阅读 多人点赞 2019-02-22 14:23:56
    今天跟大家讲讲云计算、大数据人工智能。为什么讲这三个东西呢?因为这三个东西现在非常火,并且它们之间好像互相有关系:一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提...
  • 真爱,请置顶或星标 ...5月3日,小巴在朋友圈看到这条信息,附着一张长图,定位:泰国亚兰,Princess Crown Casino(公主皇冠赌场)。 实际是在柬埔寨波贝,紧邻国境线 对面就是泰国亚兰,微信定位有...
  • 关系抽取是从一段文本中提取出发生在两个实体或多个实体之间的语义关系的任务。关系抽取Relation Extraction,也称关系分类Relation Classification(判断实体Entity之间属于哪种关系,多分类问题)。有监督的学习...
  • 在上一个装饰者模式简单实例中,可能有的朋友会觉得:使用继承不也是可以实现的嘛,干嘛这么麻烦。具体如下: 新建一个类,继承PersonBefore,然后,在子类里面调用super.eat(),也是可以直接调用父类的方法,也没有...
  • 从事编程工作多年,喜欢在工作之余,夜深人静的时候写点编程感悟,喜欢分享自己的一点编程总结,算是给还在编程路上小伙伴一点启示,学习编程如同一层窗户纸,在某有捅破之前永远觉得距离遥远,一旦有了感觉进入...
  • 小碘 ,少女没有心。 蓝色、 董力、 vczh 等 8204 人赞同 ...其他答主已经写了很多了,其实大家都体验都大同小异,所以在这里写几条补充的好了。...1.其实挺想要有男朋友...2.这次意外在知乎收到很多很好的评价
  • httphttps、ftptcp的关系

    万次阅读 2018-01-29 16:46:10
    一、字面上来看 HTTP是Hyper Text Transfer Protocol,超文本传输协议; FTP是File Transfer Protocol,文件传输协议;...FTPHTTP一样都是Internet上广泛使用的协议,用来在两台计算机之间互
  • 3.要是每天能你一起起床就了 4.一觉醒来想你,梦里没有见到你,所以今天我想见你了 5.早起得鸟儿有虫吃,早起的小公主被我吃 6.心里装着你的一天开始了 7. 我见过最美的风景,是你早起的睡脸,可惜在梦里 8. ...
  • 事件的互不相容性和独立,在学习的时候突然觉得这两者之间总是存在是若即若离的关系,一时间不知道怎么去归纳总结。一直找了多信息来看,那么究竟应该怎么去区别或者什么时候使用比较呢? 问题 互不相容:...
  • UML各种关系,图的介绍(附加案例)

    万次阅读 多人点赞 2019-04-10 21:07:59
    本篇文章系我总结了网上好多片文章外加自己做图编辑而成,留作自用。主要参考如下博客: UML的九种图例详解 UML各种图总结-精华 ...1)类(Class)封装了数据行为,是面向对象的重要组成部分,它是具有相...
  •  目前在机械工程系统中体现了一些不稳定,为了正确描述这种输入与输出之间的非线性关系,一般能够选取三种手段:使用物理方程建立关系式;运用经验理论建立准则库;联合实践,积累经验。在应用人工智能时,能够...
  • 云计算、大数据人工智能,这三个东西现在非常火,并且它们之间好像互相有关系:一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算……感觉三者之间相辅相成又不可分割。...
  • 当评估兴趣相似而不区分用户具有的不同朋友时,我们惊奇地观察到社交朋友关系通常不能表示用户兴趣相似。用户在所有朋友上的平均相似度甚至与其他随机选择的用户的平均相似度相关。然而,当使用更精细的...
  • 对话:无利害关系

    千次阅读 2019-05-13 18:43:36
    我的人都知道,我花了多时间去研究讨论(大谈特谈)权益证明(Proof of Stake)。我发现,以协议内资产为前提达成共识的前景,仰赖于优雅的算法设计。我常常会反复地谈到权益证明及其相关问题,因此我决定把它敲...
  • C++内存管理(超长,例子很详细,排版很好

    万次阅读 多人点赞 2018-04-02 13:56:49
    也是C++最有争议的问题,C++高手从中获得了更的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,...
  • 程序员谈恋爱真得累!

    万次阅读 2018-05-21 02:16:35
    对于程序员,大家想必会有这么一个印象:生活简单乏味,...但如何程序员相处一直是个问题,这篇文章就教你如何优(xin)雅(ji)的驯服程序猿男友。先分享2个网友的养猿故事。 案例1养猿五年,是只非典型程序...
  • 读书笔记—1分钟陌生人成为朋友

    千次阅读 2018-10-25 12:12:31
    1分钟陌生人成为朋友作者:燕君前言与陌生人成为朋友并不像想象中的那么难,关键在于如何找到突破口。这是一门艺术,它集心理学、口才学、礼仪学、自我推销法等诸多知识于一身,已经成为各行各业成功人士不可或缺...
  • 1) 类(Class)封装了数据行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 140,696
精华内容 56,278
关键字:

和很好的朋友发生了性关系