• 关于

    数据层是什么

    的搜索结果

回答

不用执着于表结构,表是一种数据结构,view也是,甚至cache,nosql都是,do只是指的数据层返回的对象结构,数据层定义是什么就返回什么

yu_hc200 2019-12-02 01:52:12 0 浏览量 回答数 0

问题

数据访问层和业务逻辑层为什么要定义接口?

蛮大人123 2019-12-01 19:41:06 2953 浏览量 回答数 1

问题

存储层没懂,底层存储是什么?存储数据结构是邻接表?

图数据库GDB小助手 2019-12-01 19:40:33 207 浏览量 回答数 1

Quick BI 数据可视化分析平台

2020年入选全球Gartner ABI魔力象限,为中国首个且唯一入选BI产品

回答

这个配置没什么问题啊,上面的意思是service层拦截所有数据处理异常进行回滚啊。数据处理当然在dao层了。service层也就只是个须有的层而已,处理业务。就是充当control层域dao的解耦作用的东西,你要不使用service层也是可以的,就代码难看一点咯。

小旋风柴进 2019-12-02 01:56:16 0 浏览量 回答数 0

问题

jQuery easy UI datagraid里 JSON的问题 求大神们帮看!万分感谢

a123456678 2019-12-01 20:26:34 1158 浏览量 回答数 1

问题

jQuery easy UI datagraid里 JSON的问题 求大神们帮看!万分感谢

a123456678 2019-12-01 20:24:41 934 浏览量 回答数 1

问题

dubbo 的工作原理?注册中心挂了的问题?说说一次 rpc 请求的流程?【Java问答】47期

剑曼红尘 2020-06-30 09:02:47 8 浏览量 回答数 1

问题

数据结构(二叉树)问题!!!

a123456678 2019-12-01 19:24:35 758 浏览量 回答数 1

问题

Http位于TCP/IP模型中的第几层?为什么说Http是可靠的数据传输协议?

剑曼红尘 2020-04-10 12:56:23 0 浏览量 回答数 1

问题

web项目如何封装redis缓存?

蛮大人123 2019-12-01 19:59:18 1190 浏览量 回答数 1

问题

php中的Model扮演什么角色?

落地花开啦 2019-12-01 19:52:58 699 浏览量 回答数 1

问题

深度学习做回归问题,需要对数据做标准化吗?输出层是否需要激活函数?

游客lap4oyjrfbxm4 2019-12-01 19:44:32 1378 浏览量 回答数 2

问题

使用非关系数据库能否提高开发效率上?

落地花开啦 2019-12-01 19:49:32 1274 浏览量 回答数 1

问题

该怎么理解"数据访问层是以持久化技术无关的方式进行访问的?"

蛮大人123 2019-12-01 20:20:04 967 浏览量 回答数 1

问题

点击一列或多列数据,排序的问题

落地花开啦 2019-12-01 19:53:42 1569 浏览量 回答数 1

回答

面向无连接 首先 UDP 是不需要和 TCP 一样在发送数据前进行三次握手建立连接的,想发数据就可以开始发送了。 并且也只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作。 具体来说就是: 在发送端,应用层将数据传递给传输层的 UDP 协议,UDP 只会给数据增加一个 UDP 头标识下是 UDP 协议,然后就传递给网络层了在接收端,网络层将数据传递给传输层,UDP 只去除 IP 报文头就传递给应用层,不会任何拼接操作 不可靠性 首先不可靠性体现在无连接上,通信都不需要建立连接,想发就发,这样的情况肯定不可靠。 并且收到什么数据就传递什么数据,并且也不会备份数据,发送数据也不会关心对方是否已经正确接收到数据了。 再者网络环境时好时坏,但是 UDP 因为没有拥塞控制,一直会以恒定的速度发送数据。即使网络条件不好,也不会对发送速率进行调整。这样实现的弊端就是在网络条件不好的情况下可能会导致丢包,但是优点也很明显,在某些实时性要求高的场景(比如电话会议)就需要使用 UDP 而不是 TCP。 高效 虽然 UDP 协议不是那么的可靠,但是正是因为它不是那么的可靠,所以也就没有 TCP 那么复杂了,需要保证数据不丢失且有序到达。 因此 UDP 的头部开销小,只有八字节,相比 TCP 的至少二十字节要少得多,在传输数据报文时是很高效的。 UDP 头部包含了以下几个数据 两个十六位的端口号,分别为源端口(可选字段)和目标端口整个数据报文的长度整个数据报文的检验和(IPv4 可选 字段),该字段用于发现头部信息和数据中的错误 传输方式 UDP 不止支持一对一的传输方式,同样支持一对多,多对多,多对一的方式,也就是说 UDP 提供了单播,多播,广播的功能。 适合使用的场景 UDP 虽然对比 TCP 有很多缺点,但是正是因为这些缺点造就了它高效的特性,在很多实时性要求高的地方都可以看到 UDP 的身影。 直播 想必大家都看过直播吧,大家可以考虑下如果直播使用了基于 TCP 的协议会发生什么事情? TCP 会严格控制传输的正确性,一旦有某一个数据对端没有收到,就会停止下来直到对端收到这个数据。这种问题在网络条件不错的情况下可能并不会发生什么事情,但是在网络情况差的时候就会变成画面卡住,然后再继续播放下一帧的情况。 但是对于直播来说,用户肯定关注的是最新的画面,而不是因为网络条件差而丢失的老旧画面,所以 TCP 在这种情况下无用武之地,只会降低用户体验。 王者荣耀 虽然我具体不知道王者荣耀底层使用了什么协议,但是对于这类实时性要求很高的游戏来说,UDP 是跑不了的。 为什么这样说呢?首先对于王者荣耀来说,用户体量是相当大的,如果使用 TCP 连接的话,就可能会出现服务器不够用的情况,因为每台服务器可供支撑的 TCP 连接数量是有限制的。 再者,因为 TCP 会严格控制传输的正确性,如果因为用户网络条件不好就造成页面卡顿然后再传输旧的游戏画面是肯定不能接受的,毕竟对于这类实时性要求很高的游戏来说,最新的游戏画面才是最需要的,而不是老旧的画面,否则角色都不知道死多少次了。 总结 UDP 相比 TCP 简单的多,不需要建立连接,不需要验证数据报文,不需要流量控制,只会把想发的数据报文一股脑的丢给对端虽然 UDP 并没有 TCP 传输来的准确,但是也能在很多实时性要求高的地方有所作为

前端问答 2019-12-24 22:31:00 0 浏览量 回答数 0

回答

socket是比较底层的通讯方式,只是建立了一个连接通道,具体上面传输什么样的数据,按照什么格式传输,需要你自己定义。换句话说,你需要自己定义一个文件传输协议。例如,要定义数据包的大小,要定义每个数据包的格式,定义纠错机制,网络中断后如何恢复等等。大文件要拆分成数据包来传输,接收方要把收到的数据包再组装起来。文件名这些信息也做为原始数据的一部分通过数据包传过去,只不过跟文件内容的数据包类型不一样而已.但是,实现这样一个传输协议是比较麻烦和容易出错的,象传文件这种逻辑比较简单的操作一般没必要在socket层直接操作。iOS提供了CFStream接口,适合文件这种数据流的传输。iOS本身的FTP和HTTP协议栈的实现也是使用CFStream API,而不是直接操作socket的。 甚至,你可以考虑更高一层的协议,例如HTTP这种比较成熟、现成的协议来实现文件传输。即,在文件接收方运行一个HTTP Server,在发送方使用标准的HTTP协议发送文件。有很多iOS程序就是这样传输文件的。关于iOS上的开源:http://edu.51cto.com/course/course_id-4951.html

杨冬芳 2019-12-02 02:58:21 0 浏览量 回答数 0

回答

MVC、MVP 和 MVVM 是三种常见的软件架构设计模式,主要通过分离关注点的方式来组织代码结构,优化我们的开发效率。 比如说我们实验室在以前项目开发的时候,使用单页应用时,往往一个路由页面对应了一个脚本文件,所有的页面逻辑都在一个脚本文件里。页面的渲染、数据的获取,对用户事件的响应所有的应用逻辑都混合在一起,这样在开发简单项目时,可能看不出什么问题,当时一旦项目变得复杂,那么整个文件就会变得冗长,混乱,这样对我们的项目开发和后期的项目维护是非常不利的。 MVC 通过分离 Model、View 和 Controller 的方式来组织代码结构。其中 View 负责页面的显示逻辑,Model 负责存储页面的业务数据,以及对相应数据的操作。并且 View 和 Model 应用了观察者模式,当 Model 层发生改变的时候它会通知有关 View 层更新页面。Controller 层是 View 层和 Model 层的纽带,它主要负责用户与应用的响应操作,当用户与页面产生交互的时候,Co ntroller 中的事件触发器就开始工作了,通过调用 Model 层,来完成对 Model 的修改,然后 Model 层再去通知 View 层更新。 MVP 模式与 MVC 唯一不同的在于 Presenter 和 Controller。在 MVC 模式中我们使用观察者模式,来实现当 Model 层数据发生变化的时候,通知 View 层的更新。这样 View 层和 Model 层耦合在一起,当项目逻辑变得复杂的时候,可能会造成代码的混乱,并且可能会对代码的复用性造成一些问题。MVP 的模式通过使用 Presenter 来实现对 View 层和 Model 层的解耦。MVC 中的 Controller 只知道 Model 的接口,因此它没有办法控制 View 层的更新,MVP 模式中,View 层的接口暴露给了 Presenter 因此我们可以在 Presenter 中将 Model 的变化和 View 的变化绑定在一起,以此来实现 View 和 Model 的同步更新。这样就实现了对 View 和 Model 的解耦,Presenter 还包含了其他的响应逻辑。 MVVM 模式中的 VM,指的是 ViewModel,它和 MVP 的思想其实是相同的,不过它通过双向的数据绑定,将 View 和 Model 的同步更新给自动化了。当 Model 发生变化的时候,ViewModel 就会自动更新;ViewModel 变化了,View 也会更新。这样就将 Presenter 中的工作给自动化了。我了解过一点双向数据绑定的原理,比如 vue 是通过使用数据劫持和发布订阅者模式来实现的这一功 能。

剑曼红尘 2020-04-06 21:09:35 0 浏览量 回答数 0

问题

对于数据的疑问,请官方解答

lyd 2019-12-01 21:19:52 3308 浏览量 回答数 2

问题

c# 窗体,动态实现Treeview节点的添加和删除

吴孟桥 2019-12-01 19:49:45 1382 浏览量 回答数 1

回答

1)在caffe中可以在solver里面设置:debug_info: true,看看各个层的data和diff是什么值,一般这个时候那些值不是NAN(无效数字)就是INF(无穷大);   2)检查数据标签是否从0开始并且连续;   3)把学习率base_lr调低;   4)数据问题,lmdb生成有误;   5)中间层没有归一化,导致经过几层后,输出的值已经很小了,这个时候再计算梯度就比较尴尬了,可以尝试在各个卷积层后加入BN层和SCALE层;   5)把base_lr调低,然后batchsize也调高;   6)把data层的输入图片进行归一化,就是从0-255归一化到0-1,使用的参数是: transform_param { scale: 0.00390625//像素归一化,1/255 } 1 2 3   7)网络参数太多,网络太深,删掉几层看看,可能因为数据少,需要减少中间层的num_output;   8)记得要shuffle数据,否则数据不够随机,几个batch之间的数据差异很小。

问问小秘 2019-12-02 02:12:22 0 浏览量 回答数 0

回答

使用mysql数据库——增  插入一条数据    首先,还是先解释一下如何使用数据库,按照上面的方法就可以连接数据库了。这里要解释两件事情。  1.执行sql语句返回的reCount是什么?  这个recount不是我们执行sql的时候查出的内容,而是,明白了吧,就是这样,喵~~~  2.cur是什么?  这里的cur指的是游标。游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作。然而这些都是mysql内部的事情了,我们只需要知道要写上这么两句话,在执行sql语句前实例化一个游标对象,并在执行完sql语句提交后,关掉这个游标就好了。  批量插入数据    对就是这么简单,参数换成列表,方法换成executemany,搞定!需要注意的是那个占位符类似物:%s,要记得list里有几个元素就写几个。  cur.lastrowid和conn.insert_id():    cursor.lastrowid:最后一条记录的主键ID    conn.insert_id():最新插入记录的主键ID    网上说:结果一般情况下是一样的,最后一条记录肯定就是刚刚插入的记录。但如果是并发插入就不一样了。自己起了多线程,也并没有发现什么。。。如果有小伙伴知道,欢迎指教~~~上面两个方法需要注意的是一定要在conn.commit()之前执行。否则只会返回0。这两个方法也只能返回本次conn连接中插入数据的信息,放在select之后是不好用的哦!使用mysql数据库——删、改 删   改  删除操作和修改操作与插入操作唯一的不同就是——sql不同。。。还要怎么简单!!!使用mysql数据库——查  在python的MySQLdb模块中,有三个查找方法,fetchone,fetchmany和fetchall。常用的只有fetchall。需要注意的是,fetch的结果默认返回tuple。((item1,item2,...),(item1,item2,...)),第一层是行,第二层是列(也就是一行中的每一项)。当然可以修改返回值的格式。下面介绍~~~  fetchone    jiang~就是上面这样,这个时候好像就知道游标是怎么一回事儿了吧?  fetchmany    为什么说fetchone,fetchonemany并没有什么用呢?我们看上面的方法,其实都是执行了一样的sql,也就是说,我们其实是将所有的数据读到了内存中,再从中选取我们需要的,但是这一步我们在写sql的时候就可以做到了,读到内存里占用了大量的内存空间,绝对得不偿失~~~  fetchall    在最后补上修改返回结果格式为dict的方法。这就是mysql的基本操作啦~~~

xuning715 2019-12-02 01:10:43 0 浏览量 回答数 0

回答

Re什么是中间件,中间件是什么意思? 中间件(Middleware)通常是指在一个大型分布式的系统中,负责各个不同组件(Component)/服务(Service)之间管理以及交互数据的。举个例子,在分布式系统中,数据库往往是N多个,不同的数据库可能是按照数据ID的hash,也可能根据业务模块来分配的。而且这种分配可能随着数据增长或者业务变更而改变。这个时候,你想修改某条数据,显然就不太可能直接访问数据库了,而是需要访问数据访问层,由它来负责对最终的数据库的读写,乃至负责多个数据库之间的事务一致性。

驻足云端 2019-12-02 00:16:51 0 浏览量 回答数 0

问题

jsp是否过时

杨冬芳 2019-12-01 20:06:49 1616 浏览量 回答数 2

回答

首先,还是先解释一下如何使用数据库,按照上面的方法就可以连接数据库了。这里要解释两件事情。  1.执行sql语句返回的reCount是什么?  这个recount不是我们执行sql的时候查出的内容,而是,明白了吧,就是这样,喵~~~  2.cur是什么?  这里的cur指的是游标。游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作。然而这些都是mysql内部的事情了,我们只需要知道要写上这么两句话,在执行sql语句前实例化一个游标对象,并在执行完sql语句提交后,关掉这个游标就好了。  批量插入数据    对就是这么简单,参数换成列表,方法换成executemany,搞定!需要注意的是那个占位符类似物:%s,要记得list里有几个元素就写几个。  cur.lastrowid和conn.insert_id():    cursor.lastrowid:最后一条记录的主键ID    conn.insert_id():最新插入记录的主键ID    网上说:结果一般情况下是一样的,最后一条记录肯定就是刚刚插入的记录。但如果是并发插入就不一样了。自己起了多线程,也并没有发现什么。。。如果有小伙伴知道,欢迎指教~~~上面两个方法需要注意的是一定要在conn.commit()之前执行。否则只会返回0。这两个方法也只能返回本次conn连接中插入数据的信息,放在select之后是不好用的哦!使用mysql数据库——删、改 删   改  删除操作和修改操作与插入操作唯一的不同就是——sql不同。。。还要怎么简单!!!使用mysql数据库——查  在python的MySQLdb模块中,有三个查找方法,fetchone,fetchmany和fetchall。常用的只有fetchall。需要注意的是,fetch的结果默认返回tuple。((item1,item2,...),(item1,item2,...)),第一层是行,第二层是列(也就是一行中的每一项)。当然可以修改返回值的格式。下面介绍~~~  fetchone    jiang~就是上面这样,这个时候好像就知道游标是怎么一回事儿了吧?  fetchmany    为什么说fetchone,fetchonemany并没有什么用呢?我们看上面的方法,其实都是执行了一样的sql,也就是说,我们其实是将所有的数据读到了内存中,再从中选取我们需要的,但是这一步我们在写sql的时候就可以做到了,读到内存里占用了大量的内存空间,绝对得不偿失~~~  fetchall    在最后补上修改返回结果格式为dict的方法。这就是mysql的基本操作啦~~~

xuning715 2019-12-02 01:09:57 0 浏览量 回答数 0

回答

比如要处理大量的数据,与其加载到应用层再处理,直接在数据库里执行下会更高效。或者,有些场景对数据一致性要求非常高或者因为别的什么原因,需要限制应用直接访问数据表,只允许通过存储过程。但这些都不一定,如果弄的是企业应用,并发不多,数据也非常重要,用PLSQL也未尝不可。但某些场景不一定必须PLSQL。如果数据库压力比较大,容易成为瓶颈,就需要减少DB的工作量,业务逻辑什么的就别在数据库里实现了,放到应用里弄,扩展起来会容易很多。

a123456678 2019-12-02 03:01:59 0 浏览量 回答数 0

回答

这是最粗犷的玩法,所有基础数据,都通过一个统一的服务来进行访问。 在业务不是特别复杂的时候,这不失为一个快速分层的方案,一旦业务变得复杂,服务层会变得非常重,成为耦合焦点。 以微信场景为例,假设通过一个通用的服务层来访问基础数据。 则只有一个统一的服务层,用户信息,好友信息,群组信息,消息信息都通过这个服务层来访问。 实践二:一个子业务一个服务 如果所有的数据访问都通过一个服务层来访问,那么一行代码出故障,就将影响整个服务,所以更合理的做法是在服务层进行拆分。 服务层架构如何细分? 垂直拆分是个好的方案,将子业务分拆,那么微信的服务化架构或许会变成下面的样子: 用户相关的子业务,访问user服务 好友相关的子业务,访问friend服务 群组相关的子业务,访问group服务 消息相关的子业务,访问msg服务 这样的话,一个服务出问题也不会影响其他服务,与此同时,数据层也按照业务垂直拆分开了。 服务粒度变细之后,出现一个新的问题,业务与服务的连接关系变复杂了,有什么好的优化方案么? 常见的,加入一个高可用服务分发层(Service Mesh不就是这么干的么),并在协议设计时加入服务号,可以减少蜘蛛网状的依赖关系: 调用方依赖分发层,传入服务号 分发层依赖服务层,通过服务号参数分发

问问小秘 2019-12-24 16:47:48 0 浏览量 回答数 0

回答

取决于你项目的规模和复杂程度,如果仅仅是简单的数据库CRUD,Model完全被ORM取代没什么问题。在我的项目中,因为有模块话以及多种数据来源的复杂性。Model又被细分为三层:最上层负责事件调度和缓存调度中间抽象出一层,我称之为ModelItem,一个ModelItem的数据来源可能是ORM,也可能是来自Webservice,ModelItem之间可以进行数据与数据间的关系桥接,也就是传统的One2One,Many2Many等关系,但是这种关系并不限于ORM,而是普遍适用于所有数据,所以很有可能一个来自数据库的数据Product可以和来自Taobao Webservice的数据进行链接。最下层是数据接口的底层实现,包括ORM和Webservice。所以我的结论是:Model的功能包含但并不限于将数据库抽象为对象,如果项目简单,Model可以等价于ORM,如果复杂,Model最好再细分。

落地花开啦 2019-12-02 02:43:01 0 浏览量 回答数 0

回答

action不应该捕获services层的异常services应该处理好自己的业务逻辑,放回一个结果对象,在结果对象中告诉调用方services执行的结果及返回的数据内容。dao层也是同样处理这样接口清晰,要不你的告诉你的调用方我可能会抛出什么的异常,什么样的异常代表什么样的业务含义

蛮大人123 2019-12-02 02:02:58 0 浏览量 回答数 0

问题

【案例】从hadoop框架与MapReduce模式中谈海量数据处理

jack.cai 2019-12-01 21:00:28 15859 浏览量 回答数 3
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站