业务逻辑 订阅
业务逻辑是在智能网中,对利用积木式组件(SIB)和基本呼叫处理(BCP)模块的组合来完成每项业务特征的过程描述。 展开全文
业务逻辑是在智能网中,对利用积木式组件(SIB)和基本呼叫处理(BCP)模块的组合来完成每项业务特征的过程描述。
信息
外文名
service logic;SL
应用学科
通信科技
中文名
业务逻辑
业务逻辑定义
智能网是用于生成和提供电信新业务的网路结构体系。主要由业务交换点、业务控制点、业务管理点和业务创建点组成。主要目标是实现新业务的快速引入。 业务逻辑是在智能网中,对利用积木式组件(SIB)和基本呼叫处理(BCP)模块的组合来完成每项业务特征的过程描述。智能网业务逻辑在不同的平面中有不同的表示,在总功能平面中,有一组总业务逻辑(GSL),它说明了完成各个业务独立模块(SIB)链接在一起的次序;在分布功能平面中,分布业务逻辑(DSL)是实现SIB功能时各个功能实体的动作和各个功能实体间的信息流;在物理平面中,包含业务控制功能(SCF)的物理实体执行业务逻辑程序。通信有限状态机模型是由表示进程的有限状态机和表示进程之间通道的先进先出队列(FIFO)组成。 [1] 
收起全文
精华内容
下载资源
问答
  • 业务逻辑业务逻辑业务逻辑业务逻辑业务逻辑业务逻辑业务逻辑业务逻辑业务逻辑业务逻辑业务逻辑业务逻辑
  • 业务逻辑

    千次阅读 2013-10-10 18:11:15
    “一个人了解的业务逻辑越多越细,他就是越好的需求分析师。” 花了一下午攻坚一个难题:什么是业务逻辑? 业务是指一个实体单元向另一个实体单元提供的服务。 逻辑是指根据已有的信息推出合理的结论的规律。 ...

    “一个人了解的业务逻辑越多越细,他就是越好的需求分析师。”

    花了一下午攻坚一个难题:什么是业务逻辑
    业务是指一个实体单元向另一个实体单元提供的服务。
    逻辑是指根据已有的信息推出合理的结论的规律。
    业务逻辑是指一个实体单元为了向另一个实体单元提供服务,应该具备的规则与流程。就像你家的规矩–“吃饭前必须洗手”“有客人来要起立”“睡觉前各自说晚安”-就是业务逻辑的生活化实例。
    在软件系统架构中,软件一般分为三个层次:表示层、业务逻辑层和数据访问层:

    • 表示层:负责界面和交互;
    • 业务逻辑层:负责定义业务逻辑(规则、工作流、数据完整性等),接收来自表示层的数据请求,逻辑判断后,向数据访问层提交请求,并传递数据访问结果,业务逻辑层实际上是一个中间件,起着承上启下的重要作用;
    • 数据访问层:负责数据读取。

    业务逻辑的内容包括四个部分:

    • 领域实体:定义了业务中的对象,对象有属性和行为;
    • 业务规则:定义了需要完成一个动作,必须满足的条件;
    • 数据完整性:某些数据不可少;
    • 工作流:定义了领域实体之间的交互关系。

    以大毛网购裤子为例

    • 领域实体:大毛、资金账户、订单、裤子、发货单
    • 业务规则:大毛点击购买就会生成订单,但必须付了钱,才会发货,生成发货单。
    • 数据完整性:淘宝网下订单必须登录账号,没有账号就不能成功购买。
    • 工作流:搜索裤子-找到合意裤子-下单购买-付账-收货。

    业务逻辑:搜索“裤子”-找到合意裤子-下单-必须登录账号-结算-付账-收货。

    当当必须登录账号才能下单成功,亚马逊就不需要,今天发现淘宝也不需要登录账号就能购买商品了,所以每个网站的规则的不同,就形成了不同的业务逻辑,业务逻辑不仅仅包括规则,还包括实体、数据完整性、工作流。如图:

    业务逻辑图

    业务逻辑图

    业务逻辑也需要画图,叫做业务逻辑图,它跟业务流程图有什么区别呢?
    业务流(工作流)是业务逻辑的一部分,它定义了对象之间的交互关系,但不涉及到规则的制定,数据的完整性方面。
    其实,我们平常画的业务流程图多数是业务逻辑图。
    按照《人人都是产品经理》一书介绍的需求规格书模板,业务逻辑图在需求规格说明书中,一般放在第一章的概要说明当中,画一张核心业务的业务逻辑图,以让读者理解项目大概的业务流程。在第二章的各个用例中会具化业务逻辑图中的步骤。

    展开全文
  • 项目业务逻辑问题整理_答案版本

    万次阅读 多人点赞 2018-01-13 19:04:15
    答:传智所学项目的业务逻辑不够复杂,模块也不多,所以建议项目周期为5-8个月。 项目团队有多少人,如何分配的? 答:项目团队一般由6-10个人组成,4-5个人是java后台的,1-2个是前端,2个产品。 在项目中充当什么...
    1. 项目周期?

      答:xx所学项目的业务逻辑不够复杂,模块也不多,所以建议项目周期为5-8个月。

    2. 项目团队有多少人,如何分配的?

      答:项目团队一般由6-10个人组成,4-5个人是java后台的,1-2个是前端,2个产品。

    3. 在项目中充当什么样的角色?

      答:在项目中的职位是组员或者组长,主要负责开发功能模块,后期配合测试修改bug。

      看工作时间与入职的时间,在一家公司入职时间少于1年并且从事开发少于2年很少有机会担任小组领导

    4. 项目中遇到的最大的问题是什么?

      答:这种问题不要说一般的错误,尽量说业务上的问题。例如:单点登录的时候如何解决多系统之间用户登录信息同步以及用户信息共享;登录需要发送短信验证码的时候如何保证消息到达率是100%;如何实现redis与数据库信息同步;开发环境程序正常,生产环境程序bug

      等。

    5. 如何保证所负责与需求相符合?

      答:在做模块之前,与产品经理确定好需求,再与项目负责人确定好技术选型应用,在开发过程中遇到业务问题与产品经理和项目负责人及时沟通。

    6. 你觉得做商品模块(首页展示、轮播图、购物车、单点登录、订单)时的难点在哪里?

      答:商品模块:添加或者修改商品时,数据库、redis、静态页面如何同步信息。

      购物车:添加的商品数量与库存数量的对比。商品价格变动同步。购物车的存储。

      单点登录:如何进行多系统之间的信息交互。(主要指验证登录信息)子系统如何保证登录信息的安全。

      订单:商品数量与库存的同步,商品价格的准确性。提交订单的方式,如何验证订单。

    7. 所负责模块里有哪些功能?(不要上来就说增删改查)

      答:商品模块的功能:添加商品时,商品图片的上传以及存储,商品价格确保准确性,商品的上下架。也可以简单介绍下查询的各种条件或删除的各种条件。以及商品信息同步(数据库、redis、静态页面等),商品id的生成规则。

    8. 在项目开发过程中遇到不会的功能是如何处理的?

      答:技术问题:首先是谷歌,在网上查看各种资料以及博客。其次是与同事交流。最后再去找领导。

      业务问题:业务问题首先找经理沟通,技术问题首先google百度

    9. 项目中前台与后台是如何进行数据交互的?

      答:ajax,http请求,socket。

    10. 如何实现数据库与redis同步?

      答:用消息队列mq实现。具体操作是在添加或者修改数据的时候,用mq来同步到数据库与redis,加上事务,确保reids与数据库数据一致。

    11. 在项目开发过程中还有哪些工作内容?

      答:与项目经理去客户公司确定用户需求,与同事配合完成单元测试,与测试人员配合完成测试并修改bug,bug提交

    12. 项目共有多少张表?所做模块用到多少张表?表与表之间的关系?

      答:180-220(选一个具体数值)。

      商品模块:商品表,库存表,品牌表,分类表,商品详情表,规格表,图片表,商品排序表,商品筛选表,图片资源类型表,图片资源表,商品日志表,晒单图片说明表。

      购物车:商品表,品牌表,分类表,库存表,用户表,库房表,购物车表,购物项表,优惠券表,商品推荐表。

      订单:订单表,用户表,用户地址表,商品表,品牌表,分类表,库存表,库房表,地区表,物流信息表。

      登录(后台):用户表,权限表,角色表,用户角色表,权限角色表,日志表。

    13. 插入商品的话,要求级联插入几张表,你们当时是怎么实现的?

      答:商品表,商品详情表,库存表,图片表,日志表。

    14. 项目中用的注解开发还是手动注入?分别如何实现?为什么?

      答:注解开发,在类、属性、方法上写注解。因为项目中需要配置的太多,用注解可以简化开发。

    15. 错误日志的处理?项目中的日志文件存在哪里?保存多长时间?

      答:看日志大小存放, 一般是15天或者30天。存放在一个单独的服务器目录。

    16. 生产环境与开发环境在上线部署的时候应该如何配置?

      答:生产环境:

      1、上线之前备份之前的项目

      2、修改上线项目的相关配置

      3、关停服务

      4、替换之前的项目

      5、启动服务,观察日志,是否异常

    17. 开发时数据库中数据从哪来?数据量有多大?

      答:开发时数据库数据部分来自客户或者运营,部分自己添加,部分来自网络爬虫扒的数据。

    18. 如何保证库存?

      答:用mq+redis。

    19. 如果日志存储量过大如何处理?

      答:定期清除日志,日志一般存放在另一台服务器上,15-30天清理一次。

    20. 在项目开发过程中如何进行测试?压力测试如何做?

      答:对自己所负责模块进行单元测试,然后交给公司测试人员进行测试。一般压力测试都是测试人员做,Visual
      Studio 自带的工具,还有Loader
      Runner(LR),轻量级的工具有Apache项目中的ApacheBench。

    21. 项目的并发量有多大?用了多少台服务器?

      答:并发量500-1000,服务器数量一般是10-20台左右,具体数量看图

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gLXpYOOE-1621839483643)(media/image1.png)]{width=“6.393055555555556in”
      height=“3.770138888888889in”}

    22. 在项目中,是如何分配开发任务的?

      答:开会时,由项目经理与组长分配到个人需要负责开发的功能模块。

    23. 项目中的技术选型的依据是什么?

      答:1.什么技术更适合当前项目的业务需求,例如互联网项目查询条件比较多,数据库框架选用mybatis;传统项目查询条件比较单一,选用hibernate比较合适。

      2.如果两个技术都适用于项目,就看架构师更熟悉哪个技术,因为如果大部分开发人员都不会,企业会负担很高的学习成本。

    24. 项目的安全问题是如何解决的?

      答:单点登录用token来校验。或者可以说有专门负责项目安全的人员。或者说花钱买服务。

      环境安全:初期通过购买云服务

      程序安全;token +签名

    25. 用户分为几种?每种所对应的权限?权限具体是如何实现的?

      答:一般后天项目中普通用户、普通管理员、超级管理员。用shiro框架具体实现。

      普通用户:访问。普通管理员:管理后台信息。超级管理员:所有权限。

    26. 电商项目是否上线?用户量有多少?

      答:可以说上线(找一个地方性的小型电商网站)或者测试没有完成,项目还没有上线。可以说用户量有日活量:几千。

    27. 商品的属性是如何进行存储的?

      答:需要存储到商品表,商品详情表,库存表,日志表等。

    28. 工作之余有没有在研究一些流行的技术?

      答:有,再看一些技术博客。比如说跨域,如何解决高并发,不同系统之间的通信。

    29. 在项目中如何实现页面跳转并把当前页面数据传递到跳转页面?

      答:把要传递的数据放在request域中(转发)。

    30. 所负责模块的查询都有那些条件?那些是静态条件、哪些是动态条件?

      答:商品的价格区间,商品的品牌,商品的分类,型号,颜色,大小,男/女,商品名称。

      静态条件:商品的价格区间,商品的品牌,商品的分类,型号,颜色,大小,男/女

      动态条件:商品名称,商品类型

    31. 所负责模块中删除数据的时候直接删除就可以么?如果不是需要做哪些操作?

      答:如果单表的可以进行逻辑删除,不会进行物理删除。级联删除,删除该条数据不影响到其他表中的数据就可以直接删除,否则要进行级联删除,这里也是指的逻辑删除。

    32. 支付是如何做的?

      答:与支付宝、微信对接,下载它们两个的SDK(jar包),需要配置公钥与私钥,进行对接,根据官方文档的API,调用相关支付的借口,接收回调信息(成功或失败)。进一步做自己的业务逻辑操作。

    33. 表是如何设计的?

      答:可以说是项目经理或者架构师设计的。自己所负责模块可以根据项目需求来设计有哪些字段,需要关联到哪些表。尽量推行单表设计,不定义外键约束。

    34. 面向服务通过什么样的方式实现?

      答:soa架构,表现层与服务层分离,用dubbo和zookeeper搭配完成。

    35. 如何提高代码质量?在项目中如何优化代码?

      答:尽量减少不必要的操作,尽量不要用到三层以上的for循环与递归。写代码的时候要给关键代码写上注释。相同功能的代码进行抽取,抽取原则不影响功能的正常运行。

    36. 商品的审核如何做的?

      答:添加或者修改,商品的价格以及库存等重要信息要进行二次填写,以保证准确率。

      前台js校验,后台java代码校验。

    37. 在项目中如何调试bug?

      答:1.以dug方式运行项目,打断点调试。2.查看项目中的错误日志。3.测试人员使用专业测试工具进行测试。4.运行脚本对代码进行测试。

    38. 查询商品的时候如果redis没有数据,可以抛异常么?如果不可以如何做?

      答:不可以用throws抛异常,可以用trycatch捕获异常。因为在redis中查询不到数据,还要对数据库进行查询,如果throws抛异常则不能按正常业务运行。

    39. 购物车如何实现的?未登录可以用购物车么?购物车的存储?

      答:购物车有三种。1.存放在Cookie。2.放在缓存里面。3.放到数据库里面。

      未登录的时候可以放在cookie中,但是有的电商网站针对未登录用户不提供购物车功能。(例如天猫、淘宝添加商品到购物车的时候必须先登录)

    40. 购物车里面商品种类可以无限添加么?同一种商品的数量有限制么?

      答:不可以,京东最多只可以添加八十种(足够使用了),避免占用太多存储空间;商品数量根据商品类型来控制,一般不超过200种。

    41. 如果库存数量少于购物车用户添加的数量如何处理?

      答:每次用户访问购物车的时候,都发送ajax请求查询一遍redis或者数据库,如果存库数量少于购物车中商品数量,发送消息进行提示,并做相应修改。

    42. 生成订单具备的条件?如何保证这些条件?

      答:商品数量不能超过限制数量和库存数量。限制数量在前台用js校验,后台查询数据库校验库存。

    43. 首页展示的轮播图,在页面中是如何存放的?在数据库中是如何存放的?

      答:页面中存放的是图片地址,在数据库中存放的也是图片的地址。图片存放在另一台服务器上面。

    44. 用户地址是如何保存实现的?(具体)

      答:用户的地址是单独存放在一张数据库表中的,需要绑定用户的id,还需要设置默认路径。

    45. 在电商项目中如何针对不同的用户做推送?

      答:对用户的浏览内容做一下记录,然后在页面的下方或者右方做商品的推送。还有一种就是针对用户购物车或者关注商品做促销信息推送。

    46. 如何迁移数据库(mysql)?

      答:这里介绍的是mysql数据库,如果被问到其他的可以说只知道mysql的。

      1.数据库直接导出,拷贝文件到新服务器,在新服务器上导入。

      2.使用【MySQL GUI Tools】中的 MySQLMigrationTool。

      3.数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的MySQL服务下。

      我在我的电脑上用虚拟机测试后,选中了占用时间最少的第三种方案。下面是三种方案的对比:第一种方案的优点:会重建数据文件,减少数据文件的占用空间。\

      第一种方案的缺点:时间占用长。(导入导出都需要很长的时间,并且导出后的文件还要经过网络传输,也要占用一定的时间。)

      第二种方案的优点:设置完成后传输无人值守\

      第二种方案的缺点:设置繁琐。传输中网络出现异常,不能及时的被发现,并且会一直停留在数据传输的状态不能被停止,如不仔细观察不会被发现异常。 传输相对其他fang时间长。 异常后很难从异常的位置继续传输。

      第三种方案的优点:时间占用短,文件可断点传输。操作步骤少。(绝大部分时间都是在文件的网络传输)
      第三种方案的缺点:可能引起未知问题,暂时未发现。

    47. 服务器宕机如何处理?全部宕机如何处理?

      答:配置主从服务器,运维人员搭建集群后,从服务器会给主服务器发送信息,如果主服务器没有响应,那就启用从服务器。一般不会全部宕机,如果全部挂掉,就重启。

    48. 一件商品只有2件,现在被他人购买一件,这边如何修改当前用户的商品信息?

      答:这个考察的是对库存的安全校验。商品上架多少 库存 讲库存缓存在redis 中 下单 就在redis 减少,异步 在库存数据库中也减少商品 查询只查询redis 中的 商品库存更新后 更新redis 库存;在用户点击添加到购物车按钮时,发送ajax查询redis。

      dubbo服务开发流程,运行流程?zookeeper注册中心的作用?端口是多少?

      答:dubbo主要是发布服务和调用服务。

      使用流程:

      第一步:要在系统中使用dubbo应该先搭建一个注册中心,一般推荐使用zookeeper。

      第二步:有了注册中心然后是发布服务,发布服务需要使用spring容器和dubbo标签来发布服务。并且发布服务时需要指定注册中心的位置。

      第三步:服务发布之后就是调用服务。一般调用服务也是使用spring容器和dubbo标签来引用服务,这样就可以在客户端的容器中生成一个服务的代理对象,在action或者Controller中直接调用service的方法即可。

      Zookeeper注册中心的作用主要就是注册和发现服务的作用。类似于房产中介的作用,在系统中并不参与服务的调用及数据的传输。

    49. 消息中间件acitveMQ的作用、原理?几种模式,每种的特点及使用问题?MQ发送消息失败怎么办?

      答:Activemq的作用就是系统之间进行通信。当然可以使用其他方式进行系统间通信,如果使用Activemq的话可以对系统之间的调用进行解耦,实现系统间的异步通信。原理就是生产者生产消息,把消息发送给activemq。Activemq接收到消息,然后查看有多少个消费者,然后把消息转发给消费者,此过程中生产者无需参与。消费者接收到消息后做相应的处理和生产者没有任何关系。

    Activemq有两种通信方式,点到点形式和发布订阅模式。如果是点到点模式的话,如果消息发送不成功此消息默认会保存到activemq服务端知道有消费者将其消费,所以此时消息是不会丢失的。如果是发布订阅模式的通信方式,默认情况下只通知一次,如果接收不到此消息就没有了。这种场景只适用于对消息送达率要求不高的情况。如果要求消息必须送达不可以丢失的话,需要配置持久订阅。每个订阅端定义一个id,在订阅是向activemq注册。发布消息和接收消息时需要配置发送模式为持久化。此时如果客户端接收不到消息,消息会持久化到服务端,直到客户端正常接收后为止。

    1. Tomcat集群中怎么实现共享

      答:用dubbo与zookeeper配合来实现tomcat共享。

      1,tomcat自身提供的session集群共享

      2,编写tomcat的session插件对session进行存储

      3,使用javaweb规范中的filter对request对象的getSessio()进行拦截替换实现集群共享

    2. 前台做过静态页面么?Freemark如何生成静态页面?生成模板的命令?

    答:做过。

    第一步:创建一个Configuration对象,直接new一个对象。构造方法的参数就是freemarker对于的版本号。

    第二步:设置模板文件所在的路径。

    第三步:设置模板文件使用的字符集。一般就是utf-8.

    第四步:加载一个模板,创建一个模板对象。

    第五步:创建一个模板使用的数据集,可以是pojo也可以是map。一般是Map。

    第六步:创建一个Writer对象,一般创建一FileWriter对象,指定生成的文件名。

    第七步:调用模板对象的process方法输出文件。

    第八步:关闭流。


    @Test

    public void genFile() throws Exception {

    // 第一步:创建一个Configuration对象,直接new一个对象。构造方法的参数就是freemarker对于的版本号。

    Configuration configuration = new Configuration(Configuration.getVersion());

    // 第二步:设置模板文件所在的路径。

    configuration.setDirectoryForTemplateLoading(new File(“D:/workspaces-itcast/term197/e3-item-web/src/main/webapp/WEB-INF/ftl”));

    // 第三步:设置模板文件使用的字符集。一般就是utf-8.

    configuration.setDefaultEncoding(“utf-8”);

    // 第四步:加载一个模板,创建一个模板对象。

    Template template = configuration.getTemplate(“hello.ftl”);

    // 第五步:创建一个模板使用的数据集,可以是pojo也可以是map。一般是Map。

    Map dataModel = new HashMap<>();

    //向数据集中添加数据

    dataModel.put(“hello”, “this is my first freemarker test.”);

    // 第六步:创建一个Writer对象,一般创建一FileWriter对象,指定生成的文件名。

    Writer out = new FileWriter(new File(“D:/temp/term197/out/hello.html”));

    // 第七步:调用模板对象的process方法输出文件。

    template.process(dataModel, out);

    // 第八步:关闭流。

    out.close();

    }

    1. 什么是存储过程?好处?

      答:存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。

      好处:1.由于数据库执行动作时,是先编译后执行的。然而存储过程是一个编译过的代码块,所以执行效率要比T-SQL语句高。2.一个存储过程在程序在网络中交互时可以替代大堆的T-SQL语句,所以也能降低网络的通信量,提高通信速率。3.通过存储过程能够使没有权限的用户在控制之下间接地存取数据库,从而确保数据的安全。

    2. Shiro如何进行权限控制?

      答:1.通过浏览器访问路径,配置文件查看,是否需要认证等,如果不需要,直接访问controller

      2.如果需要认证,通过配置文件的loginUrl,跳到这个地址,输入用户名、密码等

      3.登录:1.访问自定义的form表单过滤器FormAuthenticationFilter(自己起的名字和shiro一样了,所以。。)的createToken方法,装配token;如果没有自定义表单过滤器,默认的FormAuthenticationFilter会自动装配表单token2.访问自定义realms的认证方法doGetAuthenticationInfo(),查库(或者缓存),判断用户名和密码是否正确。

      4.如果登录之后访问的url,通过配置文件里的配置需要权限:调用自定义realms的授权方法:doGetAuthorizationInfo(),查库(或者缓存),查出用户权限,判断是否拥有权限,没权访问,跳到响应的refuse配置的路径,有权访问,跳到响应的url

    3. solr的原理?分词器的原理?如何设置高亮显示?

      答:Solr是基于Lucene开发的全文检索服务器,而Lucene就是一套实现了全文检索的api,其本质就是一个全文检索的过程。全文检索就是把原始文档根据一定的规则拆分成若干个关键词,然后根据关键词创建索引,当查询时先查询索引找到对应的关键词,并根据关键词找到对应的文档,也就是查询结果,最终把查询结果展示给用户的过程。

      IK分析器的分词原理本质上是词典分词。现在内存中初始化一个词典,然后在分词过程中逐个读取字符,和字典中的字符相匹配,把文档中的所有的词语拆分出来的过程。

    4. 秒杀功能能否与正常的商品购买放在同一台服务器上?

    答:可以,但是尽量不要这么做。因为秒杀商品,抢购的用户会比较多,并发量过高容易引起宕机,导致正常购买商品功能也不能正常使用,所以建议放在不同服务器上。

    1. redis是内存数据库,如果宕机了,如何解决数据丢失的问题?

      答:方案一:redis拥有两种不同形式的持久化方法,它们都可以用小而紧凑的格式将存储在内存中的数据写入硬盘:第一种持久化方法为时间点转储,转储操作既可以在“指定时间段内有指定数量的写操作执行”这一条件被满足时执行,又可以通过条用两条转储到硬盘中命令中的任何一条来执行;第二种持久化方法将所有修改了数据库的命令都写入一个只追加文件里面,用户可以根据数据的重要程度,将只追加写入设置为从不同步、每秒同步一次或者每写入一个命令就同步一次。

      方案二:使用redis集群。Redis实现了主从复制的特性:执行复制的从服务器会连接上主服务器,接受主服务器发送的整个数据库的初始副本;之后主服务器执行的写命令,都会被发送给所有连接着的从服务器去执行,从而实时地更新从服务器的数据集。因为从服务器包含的数据会不断地进行更新,所以客户端可以向任意一个从服务器发送读请求,以此来避免对主服务器进行集中式的访问。

    2. 商品存入数据库怎么保证数据库数据安全?

      答:设置后台用户的权限,并对数据库修改做好记录(日志),保证责任到人。

    3. 项目中商品小图片点开后,单品页面是大图片,这些图片是如何处理的?

      答:在小图片上设置连接,点击小图片后,加载大图片。

      62.项目中的网络安全是怎么做的?

      答:设置防火墙,买服务。

      63.solr优化怎么实现?

      答:http://blog.csdn.net/kuyuyingzi/article/details/17651451

      64concurrent这个包有什么特性?

      答:http://blog.csdn.net/defonds/article/details/44021605/

    展开全文
  • 业务逻辑漏洞

    千次阅读 2018-11-23 04:31:51
    业务逻辑漏洞定义: 业务逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能正常处理或处理错误。 业务逻辑漏洞特性: 业务逻辑漏洞只出现于业务流程中(模块功能),也就是说网站的部分都有可能...

    业务逻辑漏洞定义:

    业务逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能正常处理或处理错误。

    业务逻辑漏洞特性:

    业务逻辑漏洞只出现于业务流程中(模块功能),也就是说网站的部分都有可能存在逻辑错误漏洞。

    业务逻辑漏洞常见分类:

     

    业务逻辑漏洞中用户体系包含如下问题:

                      (1)密码重置问题

                      (2)cookies验证问题

                      (3)越权操作问题

    业务逻辑漏洞常见的危害:

    任意密码修改.越权访问.密码任意找回.交易支付金额任意修改.....

     

    展开全文
  • 业务逻辑详解

    千次阅读 2018-05-29 19:00:13
    不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑 比如让你实现一个功能,给你两个数,让你获取它的和,你所写的如何才能获得任意给定的两个数的和,这个程序实现过程即可...
    不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑
    比如让你实现一个功能,给你两个数,让你获取它的和,你所写的如何才能获得任意给定的两个数的和,这个程序实现过程即可成为业务逻辑处理。

    “一个人了解的业务逻辑越多越细,他就是越好的需求分析师。”

    难题:什么是业务逻辑?

    业务是指一个实体单元向另一个实体单元提供的服务。
    逻辑是指根据已有的信息推出合理的结论的规律。


    业务逻辑是指一个实体单元为了向另一个实体单元提供服务,应该具备的规则与流程。

    就像你家的规矩–“吃饭前必须洗手”“有客人来要起立”“睡觉前各自说晚安”-就是业务逻辑的生活化实例。


    在软件系统架构中,软件一般分为三个层次:表示层、业务逻辑层和数据访问层:

    • 表示层:负责界面和交互;
    • 业务逻辑层:负责定义业务逻辑(规则、工作流、数据完整性等),接收来自表示层的数据请求,逻辑判断后,向数据访问层提交请求,并传递数据访问结果,业务逻辑层实际上是一个中间件,起着承上启下的重要作用;
    • 数据访问层:负责数据读取。


    业务逻辑的内容包括四个部分:

    • 领域实体:定义了业务中的对象,对象有属性和行为;
    • 业务规则:定义了需要完成一个动作,必须满足的条件;
    • 数据完整性:某些数据不可少;
    • 工作流:定义了领域实体之间的交互关系。


    以大毛网购裤子为例

    • 领域实体:大毛、资金账户、订单、裤子、发货单
    • 业务规则:大毛点击购买就会生成订单,但必须付了钱,才会发货,生成发货单。
    • 数据完整性:淘宝网下订单必须登录账号,没有账号就不能成功购买。
    • 工作流:搜索裤子-找到合意裤子-下单购买-付账-收货。

    业务逻辑:搜索“裤子”-找到合意裤子-下单-必须登录账号-结算-付账-收货。

    当当必须登录账号才能下单成功,亚马逊就不需要,今天发现淘宝也不需要登录账号就能购买商品了,所以每个网站的规则的不同,就形成了不同的业务逻辑,业务逻辑不仅仅包括规则,还包括实体、数据完整性、工作流。如图:

    业务逻辑图


    业务逻辑图

    业务逻辑也需要画图,叫做业务逻辑图,它跟业务流程图有什么区别呢?
    业务流(工作流)是业务逻辑的一部分,它定义了对象之间的交互关系,但不涉及到规则的制定,数据的完整性方面。
    其实,我们平常画的业务流程图多数是业务逻辑图。

    所谓的三层开发就是将系统的整个业务应用划分为 表示层,业务逻辑层和数据访问层,这样有利于系统的开发、维护、部署和扩展 
    分层是为了实现“ 高内聚,低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,延展
    和分配资源。

    所谓的三层开发就是将系统的整个业务应用划分为 表示层,业务逻辑层和数据访问层,这样有利于系统的开发、维护、部署和扩展。
    分层是为了实现“ 高内聚,低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,延展和分配资源。
    业务逻辑层负责系统领域业务的处理,负责逻辑性数据的生成、处理及转换。对所输入的逻辑性数据的正确性及有效性负责,但对输出的逻辑性数  据及用户性数据的正确性不负责,对数据的呈现样式不负责。


    JavaEE三层架构MVC,把视图控制器模型分开来

    那么在这里业务逻辑就是M

    但是什么样的算是业务逻辑如:上传一个文件,上传代码算是一个业务逻辑吗?

    数据库操作增加时需要判断,和一些其它这算业务逻辑吗?(我觉得算)

    但是hibernate又提供了一个离线查询对象(DetachedCriter),提供这个接口的意思我想是在外面处理业务逻辑。

    但是三层架构不是独立的吗?互相不干涉吗?在service层出现sqlhqlcriter不是又把daoservice连在一起了吗?

    DTOVO),POJOBO这些是什么,POJO对应数据库,BO对应业务逻辑,DTO对应页面的传输与显示。

     

     

    业务逻辑就是处理数据的逻辑啦。一般后台代码也分三层 action(controller) service DAO (这里的三层不是MVC

     

    比如 我得到用户名 但是在存入数据库的时候 用户名字段应该是前台的用户名加上当前日期拼成的字符串

    action或者controller层是第一层 一般是用来及接受数据并且做数据的非空啊 格式是否正确的验证

      如用户名是否为空 是不是安全字符串之类的

    service层一般是用来做一个业务逻辑的实现

      这时候 userName = userName + new Date();

     

    DAO层 就是与数据库交互层啦

      也就是读写数据库 将逻辑层得到的新的userName插入到数据库

     

    MVC和三层架构并没有可比性三层架构是指将程序分为数据访问、业务处理、界面三个层次,是软甲整体架构MVC是仅仅是界面架构,也就是它其实只是三层架构的界面部分,M是指实体模型或者实体模型的一个代理,而非领域模型,C是指控制器,仅仅是做转向,不应该包含任何业务逻辑,V就是视图了。至于那些个什么什么O,都是实体在不同层的映射。另外值得一提的是,MVC在一些小的程序中也经常被当做软件整体架构,那个时候M往往就是实体模型了,但是这种时候,V就对M产生了直接引用,也就是界面对实体产生依赖,这是很不好的(但小程序问题不大),此时可以尝试使用MVP模式解耦。至于业务,看你怎么定义领域模型了,一般像上传文件这种操作并不会牵扯企业的业务,那就不应该当做一个业务,但如果这个上传是在工作流或者一些特殊处理中,则有可能上升到业务。怎么做,要看具体问题。

     


    展开全文
  • 业务逻辑流程图

    万次阅读 2019-06-06 16:26:04
    用Axure注释逻辑 元件的逻辑有5种,具体如下: 功能逻辑:详细讲解该功能的逻辑。 交互逻辑:对页面之间的...在软件系统架构中,软件一般分为三个层次:表示层、业务逻辑层和数据访问层: http://www.360doc.com/con...
  • 业务逻辑生成模板生成模板业务逻辑生成模板生成模板业务逻辑生成模板生成模板业务逻辑生成模板生成模板业务逻辑生成模板生成模板业务逻辑生成模板生成模板业务逻辑生成模板生成模板
  • 细说业务逻辑

    千次阅读 2016-10-14 07:16:28
    细说业务逻辑   前言 记得几个月前,在一次北京博客园俱乐部的活动上,最后一个环节是话题自由讨论。就是提几个话题,然后大家各自加入感兴趣的话题小组,进行自由讨论。当时金色海洋...
  • 业务逻辑和代码逻辑

    千次阅读 2017-11-27 15:24:00
    不能指望通过业务逻辑来为代码逻辑中的数据提供保障。 比如,不能想着“根据业务逻辑,程序运行到这里时这个数据肯定不为null”而 不在代码中做空指针的判断、处理。 业务逻辑是用户使用系统时的操作逻辑。但是用户...
  • 企业业务逻辑常见风险

    千次阅读 2021-01-12 15:06:07
    开发人员的安全意识薄弱(只关注功能的实现,而忽略了用户使用过程中个人行为对Web应用程序业务逻辑功能的安全影响)和开发代码的频繁迭代导致了这些平台业务逻辑级的无休止的安全风险。业务逻辑漏洞主要是开发人员...
  • 该需求问题模板适用于项目经理,项目经理可以根据从客户那里获取的业务逻辑,进行整理,筛选,记录在该文档
  • 业务逻辑处理

    千次阅读 2018-03-03 23:13:39
    功能的实现,都是依靠业务逻辑来完成的,记得看过不能完成业务逻辑的程序员都不会成长的,确实是的,最近在完成业务逻辑的时候,程序的业务判断有很多的,所以开始接触,设计模式,看到来一些设计模式,看结合项目,...
  • 开发业务逻辑

    千次阅读 2015-07-21 10:52:46
      ...记得几个月前,在一次北京博客园俱乐部的活动上,最后一个环节是话题自由讨论。就是提几个话题,然后大家各自加入感兴趣的...当时我和大家讨论ASP.NET MVC的相关话题去了,就没能加入“业务逻辑”组的讨论
  • 业务逻辑层接口设计

    千次阅读 2016-10-21 16:05:05
    业务逻辑层接口设计 业务逻辑层接口设计
  • 什么是业务逻辑

    万次阅读 多人点赞 2018-09-04 20:32:07
    不同的项目有不同的功能,不同的功能需要不同的实现,实现这些核心功能的代码就叫业务逻辑 比如让你实现一个功能,给你两个数,让你获取它的和,你所写的如何才能获得任意给定的两个数的和,这个程序实现过程即可...
  • 业务逻辑之终极分析

    千次阅读 2018-08-26 20:01:20
    细说业务逻辑     前言 记得几个月前,在一次北京博客园俱乐部的活动上,最后一个环节是话题自由讨论。就是提几个话题,然后大家各自加入感兴趣的话题小组,进行自由讨论。当时...
  • 业务对象通常被认为是...另一方面,业务逻辑是指使用该属性的部分或者程序( 那个图层),这本书如何销售。 业务逻辑层使用业务对象来访问数据库。 来自https://kb.kutu66.com/business-logic/post_786603 ...
  • 业务逻辑层是专门处理软件业务需求的一层,处于数据库之上,服务层之下,完成一些列对Domain Object的CRUD,作为一组微服务提供给服务层来组织在暴露给表现层,如库存检查,用法合法性检查,订单创建。  业务逻辑...
  • 什么是业务逻辑

    千次阅读 2019-06-14 18:20:44
    参考: ... http://www.voidcn.com/article/p-wifdkunz-nt.html 我来定义一下,业务逻辑就软件来讲就是软件所实现的功能,ui可以变,价格可以变,只要功能不变,业务逻辑就不变 --------------------------------...
  • 复杂业务逻辑问题记录

    千次阅读 2018-12-19 16:40:50
    复杂业务逻辑 在项目中碰到的业务需求,有的确实很合理,但是逻辑上却也十分的复杂. 这里记录一下,让我困惑的问题.希望随着技术和经验的增长能够解决下列的问题. 随机抽取N个人并且符合条件: 示例条件: 随机抽取 5 ...
  • 业务流程和业务逻辑的区别

    千次阅读 2017-12-07 18:48:26
    逻辑更多的是页面之间的层级关系、承载信息和功能模块之间的关系的逻辑说明; 流程更多的是从用户视角的完整场景操作流程、交互流程、页面路径、更注重功能顺序步骤,职能划分和基本结构...通过业务逻辑来调动业务流程
  • 适用于工业复杂业务逻辑的场景使用。多年MES开发经验所总结。无数据库表,表名靠自己领悟,重要的在于语法与思考方向指导。
  • 三层架构 业务逻辑层 workflow

    千次阅读 2019-04-17 14:59:23
    系统的主要功能和业务逻辑都在业务逻辑层进行处理。 这里所说的三层结构,不是物理上的三层,而是逻辑上的三层。 业务逻辑层主要负责对数据层的操作,把一些数据层的操作进行组合。 业务逻辑层又可以细分为业务...
  • 微服务综合案例-04-业务逻辑处理

    万次阅读 2019-06-16 20:08:42
      现在我们已经创建好了所需的各个项目,我们的需求是完成用户购买书籍,完成订单操作:   而具体的流程是:下订单需要经过: ...  业务逻辑处理我们是在consumer项目中操作的 1.创建服务service 1.1 UserServ...
  • 使用Servlet处理业务逻辑

    千次阅读 2016-06-24 20:04:27
    使用Servlet处理业务逻辑

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 961,866
精华内容 384,746
关键字:

业务逻辑