场景应用

RPA在财务领域的三大应用场景解析

僤鯓⒐⒋嵵緔 提交于 2020-03-27 23:06:34
RPA正在为企业财务带来新的 数字化转型浪潮 。伴随普华永道、毕马威、安永、德勤对财务机器人“不遗余力”地推广, RPA风潮早已在财务、金融领域刮起。 RPA机器人流程自动化 RPA的核心要义,即通过事先设定好的脚本,在计算机上模拟人工手动操作(特别是键盘敲入、鼠标点击等操作),执行基于 一定规则 的 大批量、可重复 的任务。 放眼财务领域,这样的流程比比皆是,也就使RPA于财务领域有了用武之地。 接下来就让我们来了解一下 资金管理、税务管理、预算管理 这三个常见财务流程中RPA的应用。 RPA三大应用场景解析 01 资金管理 🔹 收付款处理 🔹 银企对账 🔹 支付指令查询 🔹 现金管理 银企对账机器人 ◆ 业务痛点 1. 传统模式需要人工分别下载 各个银行或第三方支付平台 流水单、对账单后整理成 统一格式 再进行 对账 ,过程十分繁琐需要占用大量专业人员和时间 2. 且在U盾等 实物领用、保管 等环节更 需要避免遗失、损坏低。 ◆ RPA解决方案 分别下载各个银行或第三方支付平台流水单、对账单后整理成统一格式再进行对账 ◆ 项目价值 1. 效率提升90% 2. RPA流程无需人工参与,大幅提升了工作效率,释放了宝贵的人力成本 3. RPA避免了大部分人工操作风险,并能 明显降低错误率 02 税务管理 🔹 纳税申报准备 🔹 纳税申报 🔹 发票验真 🔹 增值税发票开具 🔹

FPGA最全科普总结

前提是你 提交于 2020-03-27 08:24:10
FPGA最全科普总结 FPGA 是可以先购买再设计的“万能”芯片。FPGA (Field Programmable Gate Array)现场可编程门阵列,是在硅片上预先设计实现的具有可编程特性的集成电路,它能够按照设计人员的需求配置为指定的电路结构,让客户不必依赖由芯片制造商设计和制造的 ASIC 芯片。广泛应用在原型验证、通信、汽车电子、工业控制、航空航天、数据中心等领域。 Altera LUT4 架构 FPGA 硬件三大指标: 制程、门级数及 SERDES 速率,配套 EDA 软件工具同样重要。比较 FPGA 产品可以从技术指标入手。从 FPGA 内部结构来看,主要包括:可编程输入/输出单元(I/O)、可编程逻辑块(LC)、 完整的时钟管理(CMT)、嵌入块式 RAM(BRAM)、布线资源、内嵌的底层功能单元和专用硬件模块等。 根据赛灵思披露的数据,一个 LUT6 等效 1.6 个 LC,一个 LC 对应几十到上百“门”,1000 万门约等于 10 万 LC,即 100K CLB 级别 FPGA。与 ASIC 不同的是,客户在选购 FPGA 产品不仅考虑硬件参数,配套 EDA 软件的性能也同样重要。目前国内厂商高端产品在硬件性能指标上均与赛灵思高端产品有较大差距。 相对于ASIC,FPGA具有3点优势: 1、可编辑,更灵活 2、产品上市时间短,节省了 ASIC 流片周期 3

工作流程引擎回滚应用场景与设计需求

a 夏天 提交于 2020-03-25 17:36:24
3 月,跳不动了?>>> 工作流程引擎回滚的应用背景: 场景1:一件流程在完成后,发现这个流程有问题,需要退回到流程指定的节点上与当时该节点的处理人身上,让他重做。 场景2:一个主流程启动了n个子流程,他在监控子流程时发现子流程问题,需要重新去做。 这两种场景下,都是在流程完全处理完后,并且流程引擎已经把该流程归档后要求重新回滚到指定的节点与该节点的处理人身上去,让其在重新去处理。 ccflow工作流程引擎 回滚流程对应的API : /// <summary> /// 恢复已完成的流程数据到指定的节点,如果节点为0就恢复到最后一个完成的节点上去. /// 恢复失败抛出异常 /// </summary> /// <param name="flowNo">要恢复的流程编号</param> /// <param name="workid">要恢复的workid</param> /// <param name="backToNodeID">恢复到的节点编号,如果是0,标示回复到流程最后一个节点上去.</param> /// <param name="note">恢复的原因,此原因会记录到日志</param> public static string Flow_DoRebackWorkFlow(string flowNo, Int64 workid, int backToNodeID,

实际场景中,云原生存储面临的 7 个挑战

两盒软妹~` 提交于 2020-03-25 16:23:56
作者 | Eric Li (壮怀) 阿里巴巴云原生存储负责人 引言 随着云原生应用对可迁移性、扩展性和动态特性的需求,对云原生存储也带来了相应的密度、速度、混合度的要求,所以对云存储基本能力之上又提出了在效率、弹性、自治、稳定、应用低耦合、GuestOS 优化和安全等方面的诉求。参考 《云原生存储和云存储有什么区别?》 新的企业负载/智能工作负载容器化、迁云、存储方面遇到的性能、弹性、高可用、加密、隔离、可观测性及生命周期等方面的问题,不但需要存储产品层次的改进,还需要在云原生的控制/数据平面的改进,推进云原生存储和云存储的演进。下文将分别介绍一下问题场景及问题,探讨可行的解决方案,最终可以得出云原生存储、云存储目前可以做什么和未来还需要做什么。 存储性能 长时延增加 场景 高性能计算场景中,集中处理批量数据,通过容器集群,同时启动数千 Pod,弹出数百 ECS 对共享性文件系统读写。 问题 重负载终负载下时延增加,高延迟毛刺增多,读写稳定性不足。 解决方案 分散负载到多文件系统,通过容器编排分散 IO 到多文件系统 存储产品的盘古 2.0 改造 集中式高吞吐写对共享存储池冲击 场景 高性能计算场景中,集中处理批量数据,10Gbps 读写请求进入同一存储集群。 问题 同一存储集群中的带宽挤占,造成访问质量下降。 解决方案 分散负载到多文件系统和多个存储集群/多个可用区

Redis应用场景

試著忘記壹切 提交于 2020-03-23 08:07:15
1、 l iunux系统 redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcached类似,但很大程度补偿了memcached的 不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add /remove及取交集并集和差集及更丰富的操作。在此基础上,redis支持各种不同方式的排序。Redis数据都是缓存在计算机内存中,并且会周期性 的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。 redis官网地址: http://www.redis.io/ 最新版本:2.8.3 在Linux下安装Redis非常简单,具体步骤如下(官网有说明): 1、下载源码,解压缩后编译源码。 $ wget http://download.redis.io/releases/redis-2.8.3.tar.gz $ tar xzf redis-2.8.3.tar.gz $ cd redis-2.8.3 $ make 2、编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。 mkdir /usr/redis cp redis-server /usr/redis cp

消息队列常见的几种使用场景介绍

倾然丶 夕夏残阳落幕 提交于 2020-03-17 21:29:31
某厂面试归来,发现自己落伍了!>>> 一、简介 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用 、 可伸缩和最终一致性架构。使用较多的消息队列有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ。 二、消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景:异步处理,应用解耦,流量削锋和消息通讯四个场景。 1、异步处理 场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种:串行的方式和并行方式。 串行方式 :将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户。 并行方式 :将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间。 假设三个业务节点每个使用50毫秒钟,不考虑网络等其他开销,则串行方式的时间是150毫秒,并行的时间可能是100毫秒。 因为CPU在单位时间内处理的请求数是一定的,假设CPU1秒内吞吐量是100次。则串行方式1秒内CPU可处理的请求量是7次(1000/150)。并行方式处理的请求量是10次(1000/100)。 小结 :如以上案例描述,传统的方式系统的性能(并发量,吞吐量,响应时间)会有瓶颈。如何解决这个问题呢?

线程池与非线程池应用场景及模型对比分析

喜欢而已 提交于 2020-03-16 11:59:44
某厂面试归来,发现自己落伍了!>>> 在网络编程中经常用到线程池和连接池,今天就对其中常用的线程池的基本应用场景和模型做个简单的对比分析。 1、 业务流程对比 a、 非线程池业务流模型: 上图标识了基本的非线程池的线程模型,前端 1 有多少连接则前端客户端 2 与前端服务器端 3 均需建立一对一的线程数进行响应的连接。前端服务器端 3 与后端服务器端 4 也需建立响应数目的线程进行连接处理相关业务。 当一个任务处理完毕后线程退出,在下一个任务到来的时候前端服务器端创建新的线程来处理新的任务。 b 、线程池模型: 上图标识了基本的线程池模型。前端客户端大量的连接通过服务端的任务接收线程将连接任务放入前端服务器端的任务队列中,前端服务器端起固定数量的处理线程处理前端的任务,当处理线程处理完任务后从任务队列中获取下一个处理任务。保证了前端服务器端和后端服务器端的连接数不会超过前端服务器端的处理任务线程数 n ,从而保证了后端服务器端的压力。 当处理线程处理完一个任务而任务队列中没有任务的时候线程并不退出,阻塞等待新的任务。 通过上图可以看出,当前端服务器端通过设置合理的处理线程数和任务队列大小,可以有效的屏蔽前端客户端高并发量对后端服务器端的冲击。 2、 应用场景分析对比 a、 非线程池模型 适用于单次连接任务执行时间较长,并发量不高的情况。一旦并发量很高则线程频繁创建的开销是巨大的。

大型网站架构之分布式消息队列

北城余情 提交于 2020-03-14 13:15:45
以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。 本次分享大纲 消息队列概述 消息队列应用场景 消息中间件示例 JMS消息服务 常用消息队列 参考(推荐)资料 本次分享总结 一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。 二、消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。 2.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种1.串行的方式;2.并行方式。 (1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端。(架构KKQ:466097527,欢迎加入) (2)并行方式:将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间。 假设三个业务节点每个使用50毫秒钟,不考虑网络等其他开销,则串行方式的时间是150毫秒

大神教你如何构建面向应用的运维管理新思维

久未见 提交于 2020-03-13 23:46:53
今天要和大家阐述一个新的思路——建立面向应用的运维管理新思维,带着这个思路去寻找运维新的解决方案,因此把面向应用管理抽象总结如下: 在ITIL时代,大家都知道一个概念,CMDB是IT服务系统的元数据中心,而现在应用更应该是CMDB的元数据。把运维的能力建立在面向应用的维度上,把面向应用的IT能力分成三部分: CMDB即IT资源管理系统 支撑一个应用运行到底占用了哪些资源?应用占用的服务器是一种资源、占用的内存是一种资源、占用的存储是一种资源、占用的负载均衡是一种资源。但大家一定要注意,这个资源不是更多是一种后端服务出现,比如说IaaS服务或者是PaaS服务。 动作 应用的变更有很多种场景,按照角色来归类,比如说应用交付、应用升级等场景,这些场景是面向Dev/Test/Ops的。还有一种应用在日常维护过程中的变更,面向纯Ops场景的,比如说应用的迁移、应用的扩容。动作是作用于资源的,比如说应用升级是版本发生变化,应用扩容是让应用的资源新增等等。过去的传统式运维,总是聚焦碎片式的运维自动化能力理解上。 状态 为了实现对应用的健康状况或者质量的度量,我们需要采集各类状态数据,从而支撑各类场景的应用,比如说监控故障发现的需求,故障恢复的需要,应用服务优化的需要等等。 CMDB建设的不成功,部分是系统的原因,但更多是方法论的问题。我们总以为找到了很强的驱动力来建设资源维护的流程和场景

使用golang获取本机IP

纵然是瞬间 提交于 2020-03-12 19:00:54
如何获取本机网卡的IP地址 应用场景 需要知道用户的IP地址来分析问题,用户不知道怎么操作,这个时候把编译好的ip.exe发给对方运行截屏即可 golang可以编译全平台(win/mac/linux)程序 运行效果(win10操作系统) 代码 package main // 获取本机全部网卡的全部IP // 2020-03-12 16:52 import ( "fmt" "net" "fyne.io/fyne/app" "fyne.io/fyne/widget" ) //获取全部网卡的全部IP func Ips() (map[string]string, error) { ips := make(map[string]string) //返回 interface 结构体对象的列表,包含了全部网卡信息 interfaces, err := net.Interfaces() if err != nil { return nil, err } //遍历全部网卡 for _, i := range interfaces { // Addrs() 方法返回一个网卡上全部的IP列表 address, err := i.Addrs() if err != nil { return nil, err } //遍历一个网卡上全部的IP列表,组合为一个字符串,放入对应网卡名称的map中 for _,