中国光大银行科技创新实验室
其他
集群环境下注册中心宕机后的高可用实践
注册中心作为微服务最基础、最核心的组件,通过服务注册与服务发现机制,注册中心为注册在其上的微服务提供服务列表,注册中心的可用性在微服务架构中要求极高。在实际开发中,通过多中心、多集群部署方式来提高注册中心的可用性,但是也无法做到100%可用。在极端情况下,注册中心宕机时,该如何将影响降到最低呢?注册中心的职责我们先来看下注册中心的职责,下面一张图就可以解释注册中心的主要职责。服务端/provider:对外提供后台服务方,将自己的服务信息注册到注册中心。客户端/consumer:从注册中心获取远程服务的注册信息,并通过负载均衡策略,选取服务进行远程调用。注册中心:用于服务端/provider进行服务的注册,客户端/consumer获取服务列表并调用。我们可以清晰的看到,注册中心在微服务架构中的重要作用,在注册中心宕机时,客户端/consumer以及服务端/provider失去与注册中心的连接,如果没有任何服务列表缓存的情况下,服务之间的调用会受到影响。Spring
其他
浅谈银行业务场景下的文本纠错应用
结合检测网络与MLM模型的文本纠错系统架构在训练时,可将检测任务和纠错任务一起训练,并通过超参数来平衡两个任务的损失。基于这种模型架构并对Masking方式进行改进的模型有Soft-Mask
其他
网络抓包工具tcpdump实现原理浅析
随着G行架构从集中式体系向分布式式体系转型,行内系统服务快速增多,不同的服务短期内需要在集中式体系、分布式体系之间互相调用,调用链复杂,网络通讯相关问题时有发生。系统管理员在排查网络问题时就用到一款网络抓包工具tcpdump,该工具可以将网络中传送的数据包完全截获下来进行分析,能有效的排查复杂环境的网络问题。本文将从原理的角度分析tcpdump在Linux系统的实现。tcpdump应用介绍tcpdump是网络数据包截获分析的运维工具。支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句帮助去除无用的信息,一般默认安装在操作系统当中,需要root权限才能使用。该工具是系统管理员和开发人员重要的运维工具,在网络和报文传输相关问题排查中立下了汗马功劳。某应用系统生产环境接到应用报警,发现该应用系统的一台虚拟机未收到请求方发过来的报文,开发人员排查时发现,该机器没有请求相关的日志打印,无法从日志的角度判断是应用程序接收的问题还是虚拟机网络环境问题,系统管理员使用tcpdump监听该应用系统端口,迅速查找出了问题原因。某应用系统部署在分布式体系的容器云环境,开发人员需要调用在集中式体系下的应用服务,该服务的调用需要通过多个中间服务转发,开发人员发现返回的应答报文某字段被修改了,系统管理员配合开发人员使用tcpdump抓取经过中间服务的端口和虚拟网卡上的报文,快速的找出了修改应答报文的中间服务系统。tcpdump抓包架构tcpdump由C语言开发,主要功能通过libpcap库实现,而libpcap是linux平台下的一个网络数据包捕获功能包,
其他
iOS应用程序代码签名
对程序代码进行签名是保护应用程序的常用手段。我们常见的应用程序,如用于Windows中exe文件的微软PE格式程序、Linux中可执行的ELF格式、安卓和iOS的APP,甚至jar文件,均支持使用代码签名技术,对程序进行保护。数字签名和手写签名类似,代表签名者对签名对象的认可。通过查看签名,可以确认应用程序来自可信的发行者。签名可以保护应用程序的完整性,对程序的篡改会破坏签名,导致程序不可使用。借助使用CA体系,建立信任链条,利用应用程序签名作为基石,还能建立可信的计算环境。应用程序代码签名的基本原理1.1
其他
实时数据湖技术的探索与实践
近年来,随着金融行业数字化转型的不断深入,银行的业务场景也更加丰富,随之而来的是各类精细化和多样化的数据,以及衍生出的创新型数据分析场景。为满足一些场景对于实时数据的分析需求,银行需要改变传统数据湖T+1时效的批量数据处理和分析。本文介绍了应对实时数据分析场景下,实时数据湖相关技术的发展和特性,以及应用场景的探索与实践。数据湖技术的现状及问题数据仓库和数据湖经过多年的发展,其整体处理流程是从源系统以离线文件的方式获取到数据,然后以批量的方式进行数据的逻辑加工处理,最后的结果才能给数据集市以及数据科学家提供使用。随着实时营销、实时反欺诈等对于数据实时分析的诉求,现有的数据处理方式已不能满足业务要求。为了应对实时数据的处理,业界首先提出了Lambda架构,同时发挥批处理和流处理的优势。通过批处理提供全面、准确的数据,通过流处理提供低延迟的数据。在使用数据时,为了满足下游系统的即席查询,需要将批处理和流处理的结果进行合并。但在Lambda架构的具体实现过程中,会存在同一套处理逻辑分别实现批和流的程序代码导致的数据口径问题,开发维护的复杂性等一些问题。针对Lambda架构的缺陷,业界提出了Kappa架构,在处理流程中去掉了批处理层,用消息队列替代了数据通道,整体技术以流处理为主,当需要进行离线分析或者再次运算的时候,则将数据湖的数据再次经过消息队列重播一次则可。Kappa架构的优势只需要维护一套实时处理模块,无需进行批流数据整合操作。但缺点是消息中间件的缓存和回溯能力存在性能瓶颈,同时在多条数据流进行关联操作时,严重依赖实时计算处理能力,可能因为数据流的先后顺序问题导致逻辑错误。实时数据湖技术特性为了解决Kafka架构中消息中间件缓存的性能缺陷,以及无法支持OLAP访问的问题,近两年开源界又衍生出改进版的Kappa架构——LakeHouse湖仓一体技术。从Gartner
其他
领域驱动设计在理财系统设计中的应用初探
需求不但多变,而且经常是不可能第一次就能掌握,比如理财系统建设时,谁也想不到监管政策的变化、互联网业务的拓展,很难在理财领域一次就梳理全所有已知和未知的需求范围。领域驱动设计提出了领域模型概念,统一了分析和设计编程,使得软件能够更灵活快速跟随需求变化。领域模型准确反映了业务语言,能够快速适应需求变化的软件复用。本文结合领域驱动设计思想,检视了理财系统的设计,尝试利用领域模型和边界划分分析子系统或模块设计问题,为今后应对新的业务变化时的系统设计探索一条解决路径。什么是领域驱动设计领域驱动设计(Domain-driven
其他
浅析云技术安全攻防实践与防护之容器安全
随着容器技术的盛行,越来越多的工程师们愿意使用Docker容器技术作为微服务的运行环境。但Docker新技术的出现必然会带来新的安全挑战,本文将从Docker原理出发,分析容器技术可能面临的风险,提出容器技术的安全防护措施及如何构建容器全生命周期的安全防护。Docker原理1.1
其他
物理世界到数字世界的穿越 ---数字孪生技术和行业应用研究
数字孪生概念脱胎于工业领域长期发展的数字仿真技术,依托近年来高速发展的物联网、人工智能技术,逐步形成了独立的概念体系。首先参考工业领域的概念定义,数字孪生是指“基于多类数字化技术集成融合,基于建模工具在数字空间构建精准物理对象模型,利用实施IOT数据驱动模型运转,进而通过数据与模型集成融合构建起综合决策和控制能力,推动所孪生环境的全流程闭环分析和优化过程”,为了引申至更广泛的领域,参考另一对于数字孪生的广义定义“数字孪生是现实世界对象或系统的虚拟表示,基于实时数据更新,使用模拟、机器学习和预测计算来帮助决策”。本文将通过数字孪生领域的演进发展,技术组成和实践案例,开展其在金融行业的应用场景和能力研究。数字孪生概述1.1
其他
光大银行重磅发布《商业银行数据资产会计核算研究报告》《商业银行数据要素市场生态研究报告》
党的二十大报告提出,要加快发展数字经济,促进数字经济和实体经济深度融合,打造具有国际竞争力的数字产业集群。数据要素是数字经济深入发展的核心引擎,充分发掘和释放数据要素价值、激活数据要素潜能,对不断做强做优做大我国数字经济具有重要意义。11月26日,光大银行采取线上方式在京召开“数据之光
其他
开源那些事儿-光大银行开源治理体系简介
开源治理背景(一)开源技术应用广泛,引领信息技术创新发展开放、平等、共享、协作的开源模式,正在成为全球软件技术和产业创新的主导模式。开源技术已经覆盖软件开发的全域场景,构建新的软件技术创新体系,引领新一代信息技术创新发展。开源技术不仅仅是开源软件,还包括开源硬件、开源大数据、开源API等,但开源软件依旧是开源技术的主体,也是当前开源治理的重点关注对象。金融机构对开源技术的广泛应用,得益于开源生态的日趋成熟、安全可控要求和应对互联网金融的竞争需要。根据信通院金融行业开源技术应用社区调研结果,我国金融机构中超过90%的企业引入了开源软件。其中,中间件、大数据、数据库与工具是主要的开源软件应用方向。十四五期间,金融科技作为国家级战略正对金融业IT建设产生巨大影响,分布式及服务化系统建设会大量使用新技术、尤其是开源软件,而且开源软件应用的范围会越来越大、深度会越来越深,速度会越来越快。(二)
其他
浅析区块链分布式数字身份
身份与数字身份传统的身份是指主体在特定的关系所处的一种不可让与的地位或资格,例如在我国每个人一出生就是公民身份,成为学生后会增加学生身份等。在传统生活环境下,人们在不同场景通常展示不同的身份,并可以通过身份证、学生证等形式证明身份。随着信息技术的发展,人们在互联网上有着大量的数字身份,例如由政府部门签发各种电子证件和参与网络活动的网络虚拟身份。电子证件通常体现为实体证件的电子化,便于在线查验,如电子身份证、电子驾驶证等。网络虚拟身份则通常表现为用户在各类网站上注册的用户账号等,例如电子邮箱、微信号等。而数字化时代的到来,人们拥有的数字身份也变得越来越复杂多变。现在人们从出生以来就参与的各种医疗、政务、金融、教育、消费等活动,使得每个人拥有患者、居民等许多不同的数字身份,数字身份之间可以相互关联,而数字身份的属性也可以变更、隐藏或者废弃。繁多的数字身份可以帮助人们在各类复杂的线上场景下确定身份,但同时数字身份管理复杂、数字身份冒用、隐私保护难以保障等问题也日益凸显。数字身份的发展为适应社会和技术的发展需要,工程师们也在不断探索使用新的方式使数字身份更加安全便捷。传统数字身份的发展经历了中心化身份、联盟身份、以用户为中心的身份三个发展阶段,每个阶段的基本特征如下:(1)中心化身份:通常由单一机构生成、存储、认证和管理维护,如邮箱账号等。由于被中心化机构控制,不同机构间账号不能互认,用户需要记住大量账号密码。由于账号数据通常保存在机构的中心化服务器中,一旦账号泄露容易造成身份冒用和隐私泄露。(2)联盟身份:通常由多个机构或联盟进行管理,常见的有第三方登录,如微信登录等。联盟身份使得用户不必针对每个应用都去注册新的账户,但该模式通常被互联网巨头垄断,存在垄断企业单点登录限制问题,而且平台通常需要重新收集用户信息。(3)以用户为中心的身份:其设计初衷是让用户自身控制数字身份,有效避免站点引起的信息泄露,例如OpenID。但该类身份认证方式也存在着提供认证服务的平台存在单点故障,以及关闭身份认证等问题,使用户无法进行登录等问题。分布式数字身份随着分布式技术的发展,数字身份也逐步进入到分布式数字身份的新发展阶段,它不仅避免了传统数字身份的跨机构互认、单点登录故障等问题,还允许用户对身份数据拥有数据主权,即由用户自己控制数字身份的授权使用,无需通过中心化系统即可认证数字身份。以W3C推出的去中心化标识符DID(Decentralized
其他
浅谈Java技术之MySQL事务
在读取数据之前对其进行加锁,阻止其他事务对数据进行修改。既然要保证前后两次读取数据一致,那么我读取数据的时候,锁定我要操作的数据,不允许其他的事务修改就行了。这种方案我们叫做基于锁的并发控制
其他
光大银行互联网贷款业务数据能力建设实践
引言为了促进互联网贷款业务平稳健康地发展,2020年7月,中国银保监会下发了《商业银行互联网贷款管理暂行办法》,对金融机构互联网贷款业务经营行为提出了明确要求。与此同时,监管机构对商业银行数据处理能力的要求和关注度也在日益提升。2021年,银保监会在《商业银行监督评级办法》中增加了“数据治理”要素。EAST报送由4.0升级到了5.0,对监管报送数据的完整性和准确性都提出了更高的要求。由此可见,随着互联网贷款业务向着成熟阶段迈进,提升经营数据治理能力已经成为互联网贷款业务合规发展的重要前提。背景介绍2016年以来,光大银行通过与头部互联网企业的合作,在业务创新,助力中小微企业发展等方面取得了丰硕的成果,上线了小米新助贷、美团生意贷、网商经营贷、京东金条贷等一系列互联网贷款产品。以往这些产品的账务数据由各合作机构生成,以批量文件的形式同步给光大银行。这种被动接收合作机构账务数据的方式存在着数据规格不统一,数据应用难度大,数据价值难以发挥等弊端。建设构想当前,数据资产已经成为关键的生产要素,数据要素已上升为国家数字化战略的重点,各商业银行也在积极地推进数字化转型。但数据要转化为数据要素,需要体系化的数据能力建设作为催化剂,才能释放出数据的生产力。互联网贷款账务数据是重要的业务数据,如何充分发挥出这些数据的潜能,使之转化为数据要素,光大银行近年来进行了持续地探索。提出以监管要求为出发点,结合自身科技发展规划推进数据整合、沉淀数据资产、深挖数据价值、增强数据应用能力的建设构想。实现互联网贷款业务自主核算能力,从”采、建、管、用“四个方面实现互联网贷款业务账务数据全生命周期管理。设计方案基于系统建设构想,光大银行对原有互联网贷款核算系统架构(如图1所示)进行了全面升级,新增和完善了对外服务、产品工厂、对客核算、数据引擎四大组件。图11.
2022年8月15日
其他
基于人脸定位及语义分割技术的人像证件照自动抠图研究
引言在军人优待证办理的业务场景中,需要客户提供满足质量要求的人像证件照才能推动后续制卡流程。当前,获取满足制卡要求的人像证件照主要有两种方式,1.标准照相馆拍照;2.使用市面上收费软件或小程序完成拍照+证件照制作。上述两种方式都存在其不便性,拖延业务办理时间,不利于业务高效推广。本文介绍了采用深度学习人脸定位以及语义分割技术,只需客户通过我行手机银行拍照或上传人像图片,便可以秒级时间完成人像证件照的自动制作,从而辅助该业务的推广。问题分析实际业务场景中,客户可能会上传全身照、大头照、半身照等多种类型,同时可能包含不同背景。为满足人像证件照要求,需要解决如下两个关键问题:人脸定位并剪裁:为满足人像证件照人脸区域占据最终证件照一半以上等要求,需对人脸进行定位并识别到关键点(如眼睛、鼻子、嘴巴等)。基于定位及关键点检测结果,结合证件照要求尺寸进行缩放、剪裁等后处理操作,最终剪裁出符合证件照要求的人脸证件照;人像抠图并替换背景:人像证件照一般以白底、红底、蓝底要求居多,客户上传照片往往有各自背景,不满足证件照要求,为此,需要实现对人像智能抠图功能,并将背景替换为证件照指定要求颜色;以上问题需要人脸检测及人像抠图相关技术,各技术当前发展如下:1
2022年8月8日
其他
浅谈区块链技术安全风险及应对措施
自2008年比特币诞生以来,区块链持续引发全球关注。区块链技术的集成应用逐渐成为新的技术革新和产业变革的重要驱动力量,世界各国纷纷加快区块链相关技术战略部署、研发应用和落地推广。区块链已经从加密数字货币领域的专有技术,扩展为面向制造、金融、教育、医疗等诸多垂直领域构建信任关系的关键使能技术。然而,随着区块链应用价值愈加获得认可,其安全问题也日益突出。据统计,针对区块链共识和智能合约的攻击造成的经济损失累计超过142亿元。各大交易平台被盗事件频发、智能合约漏洞凸显等安全事件持续引发公众对区块链技术安全性的质疑和对其发展前景的忧虑。区块链技术将打包的数据区块串接成链进行验证与存储数据,利用共识算法和对等网络技术生成和更新数据,利用密码学算法保证数据传输安全,利用智能合约操作数据。作为一种多学科交叉的集成创新技术,区块链不仅面临密钥管理、隐私保护等传统网络安全挑战,也面临对等网络、共识机制以及智能合约等核心技术引入的安全隐患。对等网络安全风险区块链基于对等网络实现全部节点在不需要中央权威机构的情况下同步交易和区块。由于对等网络采用不同于C/S网络的对等工作模式,传统的防火墙、入侵检测等技术无法进行有针对性的防护。对等网络中的攻击行为普遍具有不易检测、传播迅速等特点,使得其中节点更容易遭受攻击。例如,攻击者利用公有链中缺乏身份验证机制的漏洞来伪造多个身份进行女巫攻击,通过控制目标节点的数据传输以限制目标节点与其余节点交互实现日蚀攻击,以及通过创建多个身份将网络分区使得冲突交易通过验证从而实现克隆攻击。共识机制安全风险共识机制用于在分布式的区块链系统中维护系统运行顺序与公平性,主要面临双花攻击和51%算力攻击等安全风险。双花攻击又被称为双重支付攻击,是指攻击者将一笔钱花费了两次甚至多次的攻击行为,会对共识算法一致性产生严重破坏。51%算力攻击是指攻击者利用自己算力的相对优势(占全网算力的51%及以上)来篡改区块链、制造分叉等恶意行为。智能合约安全风险智能合约是可按照预设合约条款自动执行的计算机程序,在区块链中可用于高效支付与发送加密资产,不需要第三方监督即可自动执行。区块链中大多数智能合约控制着数额巨大的数字资产,极易成为黑客的攻击目标。同时由于区块链具有不可篡改性,一旦合约漏洞被利用将造成不可逆转的损失。例如,2016年6月,黑客利用智能合约缺陷,对以太坊最大众筹项目The
2022年8月1日
其他
区块链融合MPC解决方案及其应用探索
在上期《基于区块链+隐私计算技术的数据共享平台初探》中,主要介绍隐私计算包括安全多方计算技术(MPC)、可信执行环境(TEE)、联邦学习(FL)这三类技术。安全多方计算主要解决在无可信第三方的情况下,多个参与方共同计算一个目标函数,
2022年7月25日
其他
基于区块链+隐私计算技术的数据共享平台初探
导读现今,数据已然成为了比肩石油的基础性关键战略资源,正颠覆各个行业的发展模式。随着数字经济的建设以及数据产业市场规模的迅速扩大,数据在各行业领域不断地产生、流动、交换。众所周知,数据共享流通是释放数据价值的关键环节,而随着数据交换、共享力度的加大,其权属、合规性、安全性等诸多险开始显现,出现了数据共享难以及隐私无法得到保障等问题。如何在保证安全、隐私的前提下,实现数据的共享、流通,释放数据的价值是亟待解决的难题。数据共享业务现状目前的各个行业、领域都存在数据拥有方因为众多因素而导致无法顺利地进行数据共享的问题。包括:“不愿”共享,数据拥有方无法从共享数据中获益,行业缺乏数据价值评估体系,同时对各个共享参与方的激励缺失。“不敢”共享,数据的安全性和隐私性诉求无法得到满足,数据一旦离开原使用场景便会变得不可控,存在不当使用或滥用风险,危害自身利益。同时,缺乏共享数据实时监测手段以及数据使用授权机制,也存在着无法获取共享范围、共享参与方合法性问题。“不易”共享,各机构信息标准不统一。不能获得持续、多源的、标准化的数据资源,阻碍了数据交换以及共享效率的提升。解决方案针对当前数据共享面临的三个痛点,业内提出通过区块链+隐私计算技术解决这些问题。1
2022年7月18日
其他
光大银行操作系统风云录
HP-UX、AIX、Linux是大家耳熟能详的操作系统,基本都是国外厂商研发维护,在和大国博弈的背景下,拥有自主可控的操作系统就显得愈发重要。在现有操作系统的江湖风云中,AIX和HP-UX等已逐步退出江湖,国产操作系统开始扬帆起航。光大银行使用的操作系统也在这江湖风云中,朝着国产化的大方向上不断更新迭代。操作系统1.0时代历史巨人—主机及小型机操作系统主机操作系统OS390,IBM大型机(Main
2022年7月11日
其他
旧王已逝,新王当立?——前端打包工具介绍
引言随着web的发展,前端承担的工作越来越多,从以前的集成在后端项目中,到现在的前后端分离,前端逐渐形成自己的体系,前端工程化的概念也随着孕育而生,伴随着三大前端框架React、Vue和Angular的流行和webpack的发展,前端项目也从以前简单的HTML+CSS+JavaScript逐渐演变成一个个前端工程,在前端工程化的过程中,可以说打包工具webpack发挥了举足轻重的作用。接下来介绍一下前端工程化过程中打包工具的过去和未来。绝对的王者——Webpack以前,在浏览器中运动JavaScript有两种方式,一是引用脚本来存放每个功能,但是难以扩展,而且会因为加载太多脚本导致网络瓶颈。二是使用一个包含所有项目代码的大型.js文件,但这会导致作用域、文件大小、可读性和可维护性等方面的问题。后来随着Node.js的诞生和模块成为ECMAScript标准的官方功能,我们只需要打包工具自动构建并基于所引用或导出的内容推断出依赖的图谱,开发者的体验能得到飞跃式的提升,这个时候,webpack的出现就完美的契合了开发者的需求,webpack是一个工具,不仅可以让我们编写模块,而且还支持任何模式格式,可以打包我们的JavaScript应用程序,可以扩展为不同格式的静态资源。总结下来,webpack的作用主要是有三点,第一是模块打包,将不同模块的文件打包整合在一起,保证它们之间的引用正确,执行有序。第二是编译兼容,通过webpack的Loader机制,不仅可以帮助开发者对代码做polyfill,还可以编译Vue的.vue和React的.jsx等浏览器无法识别的格式文件,使得开发者在开发的时候可以使用新特性和新语法做开发,大大提高工作效率。第三是能力拓展,通过webpack提供的plugin机制,开发者能够在实现模块化打包和编译兼容的基础上,进一步实现按需加载,代码压缩等一系列功能,帮助使用者进一步提高自动化程度,工程效率和打包质量。Webpack作为一款优秀的打包工具,改变了前端的开发模式,是现代化前端开发的基石。Vue脚手架vue-cli和react脚手架create-react-app都是基于webpack封装的,两大前端框架的官方脚手架都使用webpack去封装,这也说明了webpack在前端工程应用中的重要性和流行性。但是因为webpack只针对打包不预设场景,设计得极其灵活,几乎所有可配置的环节都做成了可配置的。这种极度的灵活性针对于一些特定场景不可替代,但是缺点就是配置项极度复杂,插件机制和内部逻辑晦涩难懂,针对常见的web也需要大量的配置,大量的loader和plugin配置也导致了项目变得复杂,启动速度变得缓慢,热更新的速度也变得漫长。新的打包工具的出现迫在眉睫。新一代工具——ViteWebpack等打包工具极大地改善了前端开发者的开发体验,但是,当前端应用越来越大型时,就会遇到性能瓶颈,使用JavaScript开发的工具通常需要很长时间才能启动开发服务器。针对这种情况,Vite出现了,利用浏览器开始原生支持ES模块,而且越来越多的JavaScript工具使用编译型语言编写的优势,Vite在出生的时候就有了得天独厚的优势。针对webpack配置项极其复杂的问题,Vite选择缩窄预设场景来降低复杂度,将大部分的web构建需求做成默认内置,适当的增加各个环节之间的耦合来进一步降低复杂度,同时浏览器场景下可以利用原生ESM,进一步基于ESM实现理论最优性能的热更新。大大提升了开发效率。Vite在一开始就将应用中的模块区分为依赖和源码,改进了开发服务器启动时间。依赖大多为在开发时不会变动的纯JavaScript。大的依赖处理的代价很高,且通常会存在模块化格式,所以Vite使用esbuild预构建依赖,因为esbuild使用go编写,会比用JavaScript编写的打包器预构建快几十倍。源码通常是一些包含了非JavaScript的文件,需要转换,通常会被编辑,且并不是所有的源码都需要同时被加载。Vite利用原生ESM方式提供源码,实际上是让浏览器接管了打包程序的部分工作,Vite只需要在浏览器请求源码时进行转换并按需提供源码,所以会很快响应。在Vite中,动态模块热更新(HMR)是在原生ESM上执行的,当编辑一个文件时,Vite只需要精确地使已编辑的模块和最近的HMR边界之间的链失活,使得无论应用大小如何,HMR都能保持快速更新。启动速度对比:基于webpack封装的poin前端项目启动使用vite建立的一个同版本vue项目启动由上面的对比可以看到,同样版本的vue前端项目,使用Vite打包的工程在启动速度上有着巨大的提升,这种提升在越庞大的项目中越发明显。而且不仅是在冷启动上,在HMR方面,因为Vite只精确地使已编辑的模块和最近的HMR边界之间的链失活,无论应用大小,都能快速实现热更新,所以在热更新方面,越大的项目,Vite的项目优势越大。基本上能够做到更新代码,保存完就可以看到页面更新后的效果,极大提高了开发者的体验和开发效率。总结Webpack优点:自由度高,几乎所有配置项都可以自主配置,有着极高的自由度,几乎适配所有的应用场景。缺点:配置项及其复杂,插件机制和内部逻辑晦涩,启动速度慢。Vite优点:开箱即用,启动速度极快,热更新速度极快。缺点:应用场景少,定制化高,可配置性较低。正因为Vite使用了很多新的生态系统上的特性,且缩窄了预设的场景等原因,使得Vite的打包和启动速度快的惊人,NPM库上不断攀升的下载量也说明了Vite越来越流行,被更多的开发者所接受。但不同的工具并不是非要取代彼此,针对不同的使用场景,根据自己的项目需要,选择最合适的工具才是最明智的选择。作者
2022年7月4日
其他
物联网技术系列之物模型设计
引言伴随着物联网技术的发展,大量物联网终端、应用的接入,也带来了数据异构化、应用异构化等碎片问题。由于物联网感知数据有多源异构的特点,导致数据识别、解析、挖掘难度大;不同物联网应用间数据共享难度大,协同合作困难。由于不同厂商的设备生产标准不同,导致设备接入物联网服务平台的开发难度大,周期长。物模型作为物联网领域一项非常重要的技术,将多源异构数据结构化、统一化、标准化,降低数据分析和设备接入的成本,消除协同合作困难。物模型设计物联网服务平台引入物模型来统一不同场景物联网终端的数据标准,实现对设备数据的统一管理。简化设备接入和应用操作流程,降低开发难度,同时以物模型为基础,解耦设备接入和应用开发;设计统一通用的数据描述方式,降低数据识别、解析、挖掘的难度,解决设备间和应用间数据共享困难的问题。物模型设计从设计原则、抽象定义、描述语言三个层面阐述。1
2022年6月27日
其他
物联网技术系列之物联网服务平台功能
今年,中国人民银行印发《金融科技发展规划(2022-2025年)》,规划明确提出综合运用第五代移动通信技术(5G)、窄带物联网(NB-IoT)、射频识别(RFID)等技术打造固移融合、宽窄结合的物与物互联网络和服务平台,实现移动金融终端和固定传感设备统一接入、管理和控制,为数字信贷、数字风控等金融业务提供海量物联网数据支撑。可见构建通用的物联网服务平台,成为一种发展战略。统筹银行内部各物联网应用系统基于同一物联网服务平台进行开发与建设,物联网基础能力直接复用,避免重复“造轮子”;物联网服务平台技术可以有效复用,无需所有业务需求都从0开始系统开发,终端设备可基于现有组件快速接入,大幅提高业务响应效率;基于同一物联网服务平台建设的各应用系统,先天具备联动协同机制,面对业务协同的复杂问题,可有效降低管理成本。本文主要介绍物联网服务平台的核心功能。物联网服务平台是感知设备和应用系统的中枢纽带,提供通用的物联网应用开发和运行功能,降低物联网应用开发难度。物联网服务平台的功能架构描述如下图所示,它描述了物联网服务平台的各部分功能组成,具体包括接入适配、设备管理、应用开发、统一门户等。接入适配物联网服务平台需要适配接入多种网络环境下的海量多元异构设备。针对物联设备的通讯协议和数据协议的多样性、不规范性,接入适配通过MQTT、CoAP、HTTP标准协议,以及泛协议接入SDK等方式适配各种通信协议;同时,系统支持设备直接接入、网关接入和平台接入等多种方式接入,满足低能耗网络(NB-IoT)、无线网络(WIFI)、移动网络(4G、5G)、光纤接入;在数据协议解析方面,平台能够提供物联协议模型和设备插件两种方式,支持二进制码流格式、XML格式、JSON格式等主流数据格式的解析。接入适配主要功能如下图所示,具体分为数据解析和协议适配接入。数据解析通过提供设备数据模型,统一各类终端的数据标准,实现对设备数据的精准快速解析及统一管理。协议适配通过内置标准协议或提供私有协议SDK等方式适配各种通信协议,实现碎片化的海量设备统一接入。设备管理设备管理具备海量物联终端管理能力,提供设备信息管理、设备调试、设备通信、设备群组管理、生命周期管理、物模型管理、适配服务管理等功能。实现对接入平台的海量感知设备进行统一的接入管理和协同管理,支持由物联网服务平台向海量设备下发控制命令及远程配置,实现终端设备与平台之间的双向数据传输链路,并具备海量设备接入、高并发、高可用的平台特性。设备管理提供两大能力:设备信息管理和设备连接管理。设备信息管理提供设备列表、在线调试和设备群组功能。通过设备列表功能进行设备基础信息管理、历史数据管理、历史命令管理、在线记录查询等功能。通过在线调试功能对设备接入进行调试、对API进行调试。群组功能用于群组管理,统一服务基于群组进行数据推送。设备连接管理提供设备注册、设备鉴权、状态检测、数据上报、命令下发和连接管控等功能。连接管控提供设备启用和禁用功能,功能结构图如下图所示。应用开发应用开发主要封装物联网服务平台的基础能力,对外提供统一服务能力,
2022年6月20日
其他
物联网技术系列之MQTT协议详解
物联网通过网络及传感器技术将分散在各地的设备联系起来,进行信息交换及交互控制,实现智能化感知与管理。但是随着物联网的快速发展,海量物联设备的接入给传统web通信协议带来很大的挑战,而MQTT协议的出现可以解决网络不可靠、终端设备资源有限等问题。本文将就MQTT协议的特点、消息格式做深入分析。MQTT(Message
2022年6月13日
其他
物联网技术系列-边缘计算
生活中应该有过这种经历:不小心,手指被尖锐东西扎到,人们通常会立即移开自己的手指,这种反应是人的自组织条件反射。如果是由我们大脑汇集信息后做出反应决策,那会怎样?我们将自组织条件反射比喻为边缘计算,大脑反应决策比喻为云计算,这样我们可以大概理解边缘计算与云计算的区别。万物互联的时代,海量的数据上传至云计算中心处理分析,而现有云计算模型的网络带宽和计算资源不太能高效处理这些数据,因此越来越多的物联网应用将数据计算的任务延伸到边缘计算。什么是边缘计算边缘计算是相对云计算而言的,将数据处理、数据存储、缓存、隐私保护等由云计算中心节点移往边缘节点。从数据源进行数据的采集,边缘计算分析处理后结果上传至云计算中心。同时边缘计算系统应该是一种分布式计算系统,并且具备弹性管理、协同执行、实时处理的特性。为什么需要边缘计算海量设备的接入意味着海量数据的产生,如若设备产生的海量数据全部上传到云计算中心处理,必然会对设备到云计算中心的带宽带来压力,进而造成服务响应能力降低,同时海量数据上传到云计算中心会有隐私信息暴露的风险。有了边缘计算,可以有效缓解以上问题,具体如下:减少带宽压力:在边缘节点处理大量临时数据,不再全部上传至云计算中心,这将减轻网络带宽和云计算中心计算存储的压力。增强服务响应能力:边缘节点本地化处理,避免数据上传下达产生的时延弊端,提升设备处理能力和服务响应速度。安全与隐私保护:将用户隐私数据不再上传至云计算中心,而是存储在边缘设备,减少数据泄露的风险,保护用户数据安全和隐私。自治:边缘节点具备一定自治能力,在网络不稳定情况下,可以保证边缘业务正常运行。边缘计算参考架构在终端设备和云计算中心之间引入边缘计算,将云服务扩展到边缘。边缘计算总体架构分为终端层、边缘层、云层,下图展示了边缘计算的架构。接下来我们介绍每层的组成及功能。终端层:该层主要有各种硬件设备组成,比如钞车、水电表、摄像头等。终端层负责采集终端产生的感知数据,并上传至上层处理。边缘层:由大量的边缘节点组成,分布在设备与云层之间。功能层面完成海量异构设备的接入、设备联动、异常操作告警及系统版本升级等功能。云层:完成边缘节点管理,包括边缘节点监控、注册管理、应用编排与升级等功能。实现“云端管理、边运行、边云一体”的架构。挑战应用部署:边缘计算模型中,部分计算任务由云计算中心迁移至边缘节点,由于边缘节点运行环境的差异,因此在边缘节点部署应用会遇到极大的困难。程序划分:部分计算任务由云计算中心下发至边缘节点,如何实现程序的划分,其直接影响应用服务的高性能及可靠性。任务管理:边缘节点部署多种计算任务,需要做好多任务管理,包括优先级、先后顺序等。作者
2021年11月4日
其他
2021信息科技“金点子”创意征集大赛开幕
由总行信息科技部举办的“2021信息科技‘金点子’创意征集大赛”即日起拉开序幕,将于10月24日至11月30日,在全行科技条线集中开展“激发创新思维、培育创新文化”的创意征集活动。本次大赛围绕“助力战略转型、打造创新工作环境、创新创意储备、‘金点子’培育孵化”目标,征集信息科技和银行产品、服务、管理等方面的创新创意,以及“痛点难点”问题的解决方案。创新无处不在,是科技人价值的体现,请总行信息科技部各中心处室、信用卡中心信息科技部和各分行信息科技部加强大赛宣贯,广泛动员,积极组织本条线员工参赛,聚焦全行战略目标,侧重金融科技应用,为科技赋能业务贡献力量。扫描二维码,关注“中国光大银行科技创新实验室”微信公众号,掌握本次大赛最新动态,了解光大科技人的“金点子”。
2021年10月24日
其他
【钓鱼邮件】我怎么就成了跳板?
电子邮件是企业中重要的沟通方式之一,企业员工每天都会收到多封邮件,但是可别小看这一封小小的邮件,有时候,当你打开一封看似平常的邮件时,你可能已经慢慢步入了黑客设下的陷阱中,很容易成为黑客攻击企业的跳板,给个人和企业带来难以预估的危害。小编通过一个案例,带你了解黑客是如何通过钓鱼邮件将小鱼变成攻击企业跳板的。小明是某公司员工,一天中午,他的办公邮箱收到了一封黑客仿冒工会的钓鱼邮件,邮件主题是“端午节假日福利发放通知”,内容是工会将发放假日福利。过节发放福利是传统,所以小明并没有过多怀疑邮件真伪,他查看了通知内容,不假思索打开了邮件附件。【事实上在打开附件的过程中,小明的办公电脑中已经被悄悄植入了木马,只不过与互联网隔离,木马无法与黑客的远控服务器进行通信】下班后小明将办公电脑带回了家,想上网查点资料,便连接了互联网。【潜伏在小明电脑中的木马通过互联网和黑客的远控服务器取得了联系,这样黑客便能控制小明的电脑,搜索电脑涉密文件、内部聊天记录、浏览器访问记录、使用过的用户名、密码等。不仅如此,为保证利益最大化,黑客还在电脑中设置了多个定时攻击任务,等待白天自动运行】第二天,小明开开心心的带着电脑回到公司,连接公司的内网正常进行办公。【电脑中的定时任务自动开始执行,扫描内网设备的安全漏洞,并自动通过发现的漏洞攻击内网电脑和服务器。】当安全人员发现内网告警,对小明的电脑进行定位和处置后,他才如梦初醒。这是一起典型的钓鱼邮件攻击行为,黑客利用小明的信息安全意识不足,不仅实现对他办公电脑上敏感信息的盗取,还能控制这台电脑作为桥头堡顺藤摸瓜渗透到企业内网中,由于内网中有大量服务器、终端和应用系统,渗透成功的后果实在难以估量。看似简单的查看一封邮件,变成了黑客攻击企业的重要跳板。追寻根因,就是安全意识薄弱导致的,那么如何避免这种情况的发生呢?首先要学会识别钓鱼邮件,通常钓鱼邮件都是由黑客精心伪装的,那么关键是我们怎样炼就一双慧眼将钓鱼邮件识别出来,下面就教大家几种识别钓鱼邮件的方法:1.
2021年10月22日