当前位置: 首页 > news >正文

区块链服务网络的顶层设计与应用实践

日前,2023全球数字经济大会专题论坛:Web3.0发展趋势专题论坛暨2023区块链、元宇宙蓝皮书发布会在北京举行。本次论坛上隆重发布了《中国区块链发展报告(2023)》,对我国区块链行业在2022年的发展状况进行了总结梳理,针对区块链行业发展的焦点问题、核心技术以及未来趋势进行了精准解读,为进一步发挥区块链技术在促进我国数字经济发展中的重要作用提供了科学参考。

BSN也参与了此次《中国区块链发展报告(2023)》的部分内容编写,论述了基于以区块链为代表的分布式技术,在构建公共IT系统(多方IT系统),继而推动互联网新公共层的建立,并最终形成下一代分布式可信互联网上的探索与实践。

BSN编写的部分全文如下:

区块链服务网络的顶层设计与应用实践

——可信公共IT基础设施建设的探索与实践

单志广、谭敏、何亦凡、马晓军、刘国栋

国家信息中心、中国移动通信集团设计院有限公司、北京红枣科技有限公司

摘要:区块链技术的崛起,是新一轮数字经济变革的关键。只有理解技术的本质才能更好的满足真实的业务需求,实现新型技术对数字经济的赋能。本文从技术演进的角度深入探讨了区块链作为一种广播式传输技术的本质,并提出构建基于区块链的公共信息化系统的必要性。在此基础上结合区块链服务网络(Blockchain-based service network,BSN)在实践中的设计理念以及技术体系,阐述了构建可信公共信息化系统中涉及的关键技术架构、必要特性和相关应用探索与实践。

关键词:区块链服务网络(Blockchain-based Service Network, BSN)、广播式传输协议、公共信息化系统

一、引言

(一)区块链技术的本质

区块链是新一轮数字经济变革中关键技术之一。然而,目前对于区块链的概念定义还存在多种不同的观点。是一个共享账本、一套多重技术的组合?或者是一种数据不可篡改、可追溯的技术?抑或是代表了某种数字货币?笔者看来,这些定义都只是区块链技术概念的外延,仅体现了其技术特性和部分应用场景。那么区块链技术的本质是什么?让我们先跳出概念定义本身,快速回顾一下信息化技术发展的过程。

人类历史上,每次信息化革命均是通过改变信息的传输方式提升了通信效率,从而提高了生产力,推动社会进步。1876年电话的发明,使得人类的信息交流发生了质的飞跃,让人们之间的交流突破了空间和时间的限制。然而早期的电话只能实现两两通话,无法满足需要多人决策的场景需求,而且这种线性的信息传输方式在传递过程中的低效和容易出错的问题也凸显出来。随着技术的发展和演进,出现了支持多人通话的电话会议系统。站在信息传播的角度来看,电话会议将原来信息的线性传输变为广播式传输,信息的交换和传递方式发生了根本性的改变。

1946年出现了第一台真正意义上的计算机,随后在1970年代Internet诞生,也就是我们今天的互联网,随之掀起了一场科技与信息革命,开创了人类文明的全新时代。然而互联网是由一个个计算机相连接组成的网络,其信息的传输方式本质上还是两两传输的线性方式。

我们不妨用电话及电话会议来类比互联网和区块链技术。区块链技术的伟大之处,在于其基于互联网现有的硬件模拟出一种广播式传输方式,让多个IT系统之间可以进行“电话会议”,形成信息可全方位传递、交换的网络。相较于区块链对于传播方式的改变,人们常说的区块链共识只是基于广播式通讯上的一种应用。换句话说,之所以可以达成共识是因为有一个更高效的广播式传输技术作为基础,而这种广播式传输实际上是对互联网的升级以及信息传播方式的变革,将带来产业结构和经济结构的变化。

这种广播式通讯须同时满足三个原则:一是数据以广播式方式向其他人传输;二是任何数据接受者的反馈都将广播给网络内的所有人;三是网络内的所有人同时知道其他人接收到相同的数据。不难看出,广播式通讯方式具有信息传输效率更高、更透明、更加去中心化、更加安全可信的优势。

综上所述,区块链技术的本质是利用广播式传输方式,在达成共识的基础上,对数据从结构、追溯、权限和验证上进行共治的去中心化、分布式,并且公开透明的信息化系统。

(二)未来的公共信息化系统

互联网是建立在点对点传输的基础之上的,这导致目前的互联网技术体系只能有效地服务于中心化应用,或者称为被一家主体控制的私有信息化系统。随着互联网上的商业逻辑和数据交互的日趋复杂化,以及发展数字经济的需要,不同的业务场景和数据处理要求对于分布式技术和应用的需求越来越明确。

基于区块链和分布式技术,未来可以在公共环境中构建公共信息化系统,由权利对等的多方共有、共享、共治。公共信息化系统中的所有数据、运算都对所有方透明,并且可以让终端用户通过私钥管理自己的数据,真正掌握自身数据的控制权和所有权。未来所有的信息化系统都会由私有信息化系统和公共信息化系统共同组成,来服务不同的业务场景和数据处理需求。

随着分布式技术应用的推广普及以及公共信息化系统的出现和快速发展,未来将会出现无数开放、透明的分布式网络环境,而分布式身份与认证、全网分布式域名、链环境互认等分布式技术能力,以及未来还将出现的包括新的分布式云技术、分布式操作系统、分布式数据库和广播式通信协议等在内的新的技术体系,将会把所有这些公共分布式网络环境连接在一起,从而形成物理互联网之上一个新的技术体系层。

在这里插入图片描述

图1 未来互联网结构图

因此未来的互联网也会分为两层,一层就是现在的互联网,也可以称为互联网的私有层,服务于目前在世界上占据主流的、由一个实体或一家公司控制的私有IT系统;第二层就是新的互联网公共层,服务于公共信息化系统,对数据的透明性、互通性、所有权以及永续性等要求较高的应用场景都会向互联网公共层迁移或进化。

这也将改变今后的信息化系统设计逻辑,IT人员在设计应用时可以更加灵活,根据自身的业务需要,考虑哪些数据需要放在私有化系统中进行保存和处理,而对于某些场景,则要将数据放在公共信息化系统中,以便充分利用公共信息化系统在数据所有权、透明性和高效互联互通上的优势。

而BSN的使命及目标,就是推广互联网新公共层的概念,构建公共信息化系统所需的基础分布式云环境,为未来所有基于分布式技术的新型操作系统、通信协议、数据库、开发工具和应用场景的创建建立基础。

(三)公共信息化系统的意义

公共信息化系统代表了一种新的IT系统和应用程序的构建思路,有望在未来发展成为一种主流趋势,为用户带来更加开放、透明、安全和高效的IT系统和应用程序。在公共信息化系统上,用户可以建立个人数据库,使用私钥管理自己的数据,以及决定是否允许其他IT系统访问和调用自己的数据。结合隐私计算等技术,用户可以更好地保护自己的数据隐私和安全,避免数据被单个实体或公司滥用和泄露。公共信息化系统还可以促进用户参与和创新,用户可以自由地参与到信息系统和应用程序的建设和管理中来,也可以根据自己的需求和兴趣定制和开发更加个性化、灵活、高效的应用程序和系统。相较于私有化信息系统,公共信息化系统具有以下几个显著优势:

第一,更加公开透明。由于数据是共享和公开的,并且所有用户都具有同等权利,使得所有用户都可以访问和使用同样的数据,从而提高数据的透明性和可见性,这也有利于公众监督和评估数据的质量和真实性,这也是为什么分布式系统经常被称为可信网络或可信系统。

第二,更高效的信息互通。由于数据是在公共环境中共享和交换的,多个应用程序和系统之间可以更加容易和高效地传输数据,提高了数据的互通性和互操作性,从而使得用户可以更加方便地使用和管理数据。

第三,更明确的数据所有权。在公共信息化系统中,多个用户可以共同管理和控制IT系统和应用程序,不存在单个实体或公司对数据的垄断,保护了用户的数据所有权和使用权。

第四,数据永续存在。在公共信息化系统中可以更加长久地保存数据,因为不会受到单个实体或公司的控制和限制,数据也不会被单个实体或公司的倒闭或解散所影响。

相信随着业务和技术的演进,未来各国都会针对公共信息化系统推动相关立法和监管办法,促进行业的健康有序发展。

二、区块链服务网络的构建机制

(一)概念与特点

区块链服务网络(blockchain-based service network,BSN)是由国家信息中心进行总体规划和顶层设计,并联合中国移动、中国银联、北京红枣科技等单位共同发起建立的全球性区块链公共基础设施。通过提供分布式云基础环境软件,BSN可以帮助传统的云服务商、数据中心、企业打造一个专用的或可供加入的系统级公共分布式信息化网络,使用区块链作为操作系统,管理各类分布式应用、操作系统和云资源。

BSN从设计之初,就是按照分布式云基础设施理念开展的。BSN通过提供分布式云管软件,可以在任何私有云和公有云内建立一个与传统云环境平行的分布式云环境(BSN专网);同时BSN也推出了分布式云服务网络(BSN公网),企业和个人可以搭建自己的算力中心来加入网络,并自由搭建和管理自己的分布式应用。与互联网类似,所有的BSN虚拟数据中心、云环境和算力中心通过通信协议相互连接,形成全球BSN网络。

(二)构建理念

区块链服务网络的顶层设计思想和构建理念可以概括为一个核心、两大方向、六多服务、七大原则。

1.一个核心。

即以服务数字经济、智慧城市、数字政府等数字化发展为核心。充分发挥区块链在促进数据共享、优化业务流程、降低运营成本、提升协同效率、建设可信体系等方面的作用。面向数字经济、智慧城市、数字政府等发展需求,通过提供一站式的区块链运行环境和节点精细化的计算、存储和网络服务,有效降低区块链部署运维成本,通过智能网关和预制链码机制,有效降低区块链应用开发技术门槛,利用区块链技术促进数据、信息、资金、人才、征信等方面更大规模的互联互通,保障生产要素在区域内有序高效流动。

2.两大方向。

坚持共管与共治两个基本方向,BSN并非属于某一个体或某一家公司,而是由服务网络联盟对服务网络进行共同管理及共同治理,从而在最大程度上保证服务网络的健康运营及网络生态的良性构建。

3.六多服务。

即打造“多云服务、多门户、多底层框架、多公网、多地域、多机构”的服务体系。一是多云服务,用户可以自由在任何云服务商的资源上部署应用,甚至可以将一个应用的多个节点部署在不同的云服务商的城市数据中心上。二是多门户,不同的用户可以在不同门户内加入同一个开放联盟链。三是多底层框架,通过制定区块链底层框架适配标准,打通区块链底层技术平台,实现不同框架间跨链数据交换。四是多公网,区块链公用基础设施支持任意用户使用任意公网自由访问。五是多地域,区块链公用基础设施应该是一个全球性部署的网络设施,一个区块链应用可根据需要选择不同地域的节点构成。六是多机构,区块链公用基础设施应支持多机构接入和业务协同。

4.七大原则。

BSN构建遵循“自主性、公用性、扩展性、开源性、多门户、低成本、安全性”的建设原则。一是自主性,BSN由中国自主研发并控制入网权,实现多底层框架的统一纳管适配和实现组件化的跨链技术、分布式存储技术以及集成开发环境,打造功能完备的区块链建链、用链、扩链、跨链、管链一体化生态。二是公用性,要以建设公共基础设施的理念进行研究、设计、建设和运营,而不是一个完全商业化的项目,BSN通过一套区块链环境和协议把数据中心资源连接起来,在加密算法、国密支持、信息安全技术等方面均支持国家标准和行业标准。三是扩展性,允许所有符合安全和配置要求的数据中心和云服务资源依申请加入BSN。四是开源性,遵循区块链开源发展理念,城市数据中心软件必须开源,运行机制对所有人透明。五是多门户,BSN采取多门户策略,避免垄断和排他性,任何加入网络的云服务商均可以自建服务门户,管理自己的开发者和服务产品。六是低成本,构建BSN的最直接目的就是降低区块链应用的开发、部署、运维、互通和监管成本,从而推动区块链技术的普及和发展。七是安全性,BSN的建设严格遵循国家信息安全技术相关标准中规定的3级以上物理及网络安全相关要求,并保证关键节点的冗余部署,保证系统的可用性。

(三)发展目标

BSN定位于分布式技术应用的底层公共基础设施,致力于持续降低分布式技术的应用成本、技术门槛和监管难度。从技术上,当前阶段BSN将区块链作为分布式云环境中的操作系统,并持续推进新型分布式操作系统建设,不断突破技术瓶颈,全面革新分布式技术的认知与应用模式,为分布式技术创新提供底层沃土,以加快推进分布式技术的普及和应用;从应用思路上,BSN致力于加速推动分布式技术的产业融合,使其在促进我国信息化水平提升方面发挥更大的作用,为实体经济的数字化转型和创新发展注入新动能,为中国数字经济发展和社会治理提供强有力的支撑。

从长远来看,随着社会需求的变化及技术的演变传统互联网势必无法完全满足使用的需求,而公共信息化系统的出现将会使分布式技术融入现有的经济体系之中,这也将成为全球各地区探索的方向。因此,BSN的长期目标就是在互联网上推动建立一个新的公共层,为各行各业、各种类型的分布式应用提供服务。

三、区块链服务网络的应用实践

(一)技术架构

BSN的技术架构包括BSN专网和BSN公网两大体系,其中BSN专网即企业级的“BSN分布式云管平台”,支持在各类物理IDC机房、公有云和私有云部署,建立基于区块链的分布式云系统环境。

而BSN公网则包括面向国内市场的“BSN-DDC基础网络”,一个由开放联盟链组成的公共分布式云服务网络,算力中心免费、开源;以及专门面向境外市场的“BSN Spartan Network”,一个由无币公链组成的公共分布式云服务网络,提供免费、开源和匿名的数据中心。

在这里插入图片描述

图2 BSN技术架构

1.BSN专网。

BSN专网即企业级的“BSN分布式云管平台”,分布式云管平台是一套用来管理分布式和区块链系统以及应用的专业云环境管理软件,面向政企和机构客户,在其现有的公有云、私有云或局域网内,部署一套基于BSN技术体系的专有分布式网络环境,与仅支持中心化应用的传统云管环境平行,以多区块链框架作为操作系统,能够跨云资源层、系统层、节点层、应用层和BaaS层进行全方位、自动化的计费、运维和运营管理。

2.BSN公网。

包括面向国内的“BSN-DDC基础网络”,以及专门面向境外的“BSN Spartan网络”。

(1)面向国内的BSN-DDC基础网络

BSN-DDC基础网络是BSN发展联盟与多家区块链技术服务企业共同搭建的公共分布式云服务网络,面向国内市场,集成了多条开放联盟链作为操作系统,用以开发和运行分布式应用,同时也为区块链和NFT等技术在国内的发展应用提供基础设施能力支撑,为其合规发展保驾护航。

(2)面向海外的BSN Spartan网络

BSN Spartan网络是基于BSN技术体系建立的公共分布式云服务网络,面向境外市场,遵循国际技术标准,创新性地使用无币公链作为操作系统。海外企业尤其是传统企业的IT部门可以基于BSN Spartan网络的无币公链技术构建自己的分布式应用。BSN Spartan网络完全开源,并可以匿名使用,以确保数据和隐私的安全性。

(二)技术特性

BSN对于区块链核心的底层技术进行了统一的适配与纳管。通过多底层框架集成适配、异构云资源的编排及调度、同构/异构跨链通信及可拓展的PKI体系等技术,为用户提供庞大的分布式云环境,用以搭建和运行各种各样的分布式应用。

1.多底层框架集成适配。

作为一个基础设施环境,技术的兼容性和多样性是首要考虑的问题。BSN几乎将全球所有主流的区块链底层框架进行了研究,实现了对几十种全球范围内成熟稳定的开源和商用区块链底层框架的适配纳管,并形成了一套区块链底层框架纳管的最佳实践标准。

2.异构云资源的编排及调度。

BSN服务网络不仅能够基于主流的OpenStack和Kubernetes集群技术对区块链运行环境资源实现全生命周期管理,并且实现了基于多种异构云的自动化资源调配、扩容编排、负载优化、监控分析和运行维护的统一管理,意味着BSN可以将市场几乎所有主流云资源统一纳入虚拟环境管理体系,并实现自动化管理和部署。

3.同构/异构跨链通信。

随着区块链技术的广泛应用,不同区块链应用之间数据的共享需求越来越迫切。BSN实现了基于中继链跨链机制的跨链通信枢纽,支持平台内多种同构/异构链的跨链交易管理和交易处理,同时支持与平台外部的链网络进行跨链通信和交易处理;支持统一的链ID、Relayer管理和跨链管理合约的自动化部署和管理,从而满足了跨链通信过程中信息的有效性、安全性和事务性的需求。

4.可拓展的PKI体系。

支持各类国密和国际算法,对平台内管理的各种区块链网络的节点通信认证、交易处理、应用接入提供CA证书颁发、更新、吊销和验证服务。通过国家权威机构颁发的根密钥和跨链技术,实现了各类区块链应用的可信互联互通。

(三)应用成效

BSN受到了业界用户的广泛认可,其技术模式和发展理念被写入包括云南省、海南省、安徽省、福建省、宁夏回族自治区、湖北省、甘肃省、江西省以及湖南省长沙市、福建省南平市、山东省淄博市、山东省青岛市、浙江省杭州市、湖北省武汉市等多个省市的“十四五”规划、“新基建”总体规划等政策实施方案中。基于BSN专网已经面向行业打造了一批标杆项目,并取得了显著的应用效果。目前,海南省、甘肃省、黑龙江省、河北省、广东省、河南省,以及杭州、长沙、珠海、长春、锦州、雄安、宁波共13个省市部署了BSN政务和行业专网,为各省市数字经济发展提供了可靠的区块链公共服务能力。此外,基于BSN技术和设施,我国首个基于自主区块链基础设施建设的“深圳-新加坡跨境贸易区块链专网”正式建成并于2021年9月上线运行。该专网由深圳市政务服务数据管理局、商务局和新加坡IMDA牵头,基于深圳南方电子口岸单一窗口业务,利用BSN技术,构建了深圳和新加坡之间的跨境数据加密、存储、传输、调用和互认的底层基础设施网络,实现了深圳-新加坡两地跨境贸易数据可加密、可管理、可监管、可授权、可定向传输、可追溯的安全流通,有效提升了跨境贸易便利化,该模式未来可以复制到国内其他口岸和其他国与国之间的贸易场景,并实现任意多个数据中心间的灵活应用组网。

BSN-DDC公网目前已经有包括泰安链、中移链、武汉链、文昌链、遵义链、酒泉链、成都链等多个开放联盟链在网络中部署开发使用,为广大企业单位和个人提供了成本极低的区块链基础服务,应用领域覆盖政务民生、司法、税务、文旅、金融、制造、农业、商贸、知识产权等各个领域。自2022年1月25日发布以来,DDC网络上的业务发展迅速。截至目前,已经有超过1500家平台和企业在DDC网络上注册,创建了超过3200万个链账户,生成了接近500万个官方DDC和超过3000万个平台方NFT,整个网络的日交易量稳定保持在100万左右,2022年链上交易总数累计超过1.5亿次,DDC官方网关的请求量超过135亿次。2022年6月29日,BSN-DDC公网迎来里程碑时刻,自正式运行以来,第一次单日生产环境应用的日交易(Transaction)数超过以太坊(Ethereum)。当日BSN-DDC基础网络全天24小时交易数达到了974,517次,而以太坊全天24小时交易数则为938,166次。此外,BSN-DDC基础网络区域算力中心,也先后在全国范围内布设56个区域级算力中心,服务近2000家各类区块链应用平台方企业,终端用户超过3500万,每日活跃区块链业务量更是超100万个,全球领先。

2022年9月,面向国际市场的BSN Spartan网络正式上线,支持传统领域企业能够在不使用虚拟货币的情况下应用区块链技术。BSN支持从国内DDC基础网络向国外Spartan网络的单向跨链。基于BSN的跨链技术,可以推动中国艺术家作品出海。例如,把中国艺术家的作品铸造成NFT,以合规的方式发布到OpenSea上,推广中国艺术和文化。在沙特,全球最大的石油生产企业沙特阿美利用BSN云管平台开展供应链管理,通过将上下游企业、第三方仓储物流企业、银行等供应链数据上链,实现了信息流、资金流、物流的集成,提升了工作效率。在香港,汇丰银行利用BSN建立B2B支付处理网络,解决支付和结算、贸易融资、供应链等领域在使用区块链技术时遭遇的虚拟货币风险、交易数据完整性、透明性等问题,提高了支付过程的效率和安全性。此外,阿联酋、土耳其、巴林等国政府利用BSN推动数字身份认证、医疗信息共享等应用。

BSN不仅以区块链技术为底座赋能中国数字经济的发展,为区块链应用的实践提供借鉴经验与思路,更致力于区块链领域的标准规范制定、技术研究等。在2022年,BSN参与了4次行业关键标准规范的起草与制定,包括《区块链专用服务网络基础设施总体要求》团体标准、《数据安全合规评估方法》团体标准等,并提交了7项技术专利以及18个软件著作权,为区块链技术发展树立标杆,赋能千行百业。

四、总结与展望

BSN将继续保持中立、成本低廉、公开透明、技术多样性、生态多元、安全可信和可监管的立场,吸引更多的技术企业和用户,为现代化数据治理和数据要素“大市场”的建设提供关键的能力载体。

未来,随着新的互联网公共层和信息化系统的发展,将出现类似当前互联网的另一个具有颠覆性的新产业,包括未来分布式的操作系统、数据库和通讯协议等都有巨大的发展空间和机会。通过BSN当前的发展趋势及持续的推动可以预见,未来将形成一个由中国主导关键技术和标准的新的互联网公共层,使中国成为全球信息化革命的发源地。以此希望有更多志同道合的伙伴加入BSN,共同推动中国技术走出去,共同实现人类信息化技术进步的伟大事业。

参考文献

[1] 袁勇等:《区块链技术发展现状与展望》,《自动化学报》2016年第42期。

[2] 区块链服务网络发展联盟:《区块链服务网络基础白皮书》,2020。

[3] 李芳等:《区块链跨链技术进展研究》,《软件学报》2019年第30期。

[4] 区块链服务网络发展联盟:《区块链服务网络(BSN)发展报告(2022年)》,2022。

[5] 单志广等:《区块链服务网络的构建机理与技术实现》,《软件学报》2023年第34期。

-END-

欢迎转发评论。

相关文章:

区块链服务网络的顶层设计与应用实践

日前,2023全球数字经济大会专题论坛:Web3.0发展趋势专题论坛暨2023区块链、元宇宙蓝皮书发布会在北京举行。本次论坛上隆重发布了《中国区块链发展报告(2023)》,对我国区块链行业在2022年的发展状况进行了总结梳理&…...

tomcat日志输出乱码

在Tomcat中,默认的字符编码可能导致应用参数日志出现乱码问题。这通常发生在接收来自客户端的请求参数,并将其记录到日志文件时。 Tomcat默认使用平台的默认字符编码,这可能是不稳定的,特别是当应用程序运行在不同的操作系统上时…...

Form1单例模式与互斥锁

一、使用mutex来解决。 如何让窗体Form1也是一个单例模式呢? 在窗体项目中找到Program.cs,双击。找到入口点,更改如下: [STAThread]private static void Main(){string mutexName "MyapplicatonMutexApp1121";usin…...

MySQL | 常用命令示例

MySQL | 常用命令示例 一、启停MySQL数据库服务二、连接MySQL数据库三、创建和管理数据库四、创建和管理数据表五、数据备份和恢复六、查询与优化 MySQL是一款常用的关系型数据库管理系统,广泛应用于各个领域。在使用MySQL时,我们经常需要编写一些常用脚…...

常见网关对比

常见网关对比 目前常见的开源网关大致上按照语言分类有如下几类: Nginxlua :OpenResty、Kong、Orange、Abtesting gateway 等 Java :Zuul/Zuul2、Spring Cloud Gateway、Kaazing KWG、gravitee、Dromara soul 等 Go :Janus、fa…...

机器学习动量优化算法笔记

动量优化算法(Momentum Optimization)是一种常用于训练神经网络的优化算法。它通过模拟物体在惯性作用下的运动来加速梯度下降过程,从而加快神经网络的收敛速度并提高训练效率。 在梯度下降算法中,每次更新权重时都是根据当前批次…...

asp.net与asp.net优缺点及示例

Asp.net Mvc架构模式是一种低耦合、可测试的web应用程序框架,它是基于CLR和成熟的MVC架构构建的。ASP .NET MVC不支持 ViewState和服务器控件。 Asp.net优点: 1.架构降低了程序间的耦合性,M VC,分层,目标明确 2.性能不支持viewsta…...

php 年月日 分组分页

//年月日 //分组 分页$type $this->request->type;$dateType "%Y-%m";//月$dateType1 "CONCAT(tmp.date,-01 00:00:00)";$dateType2 "CONCAT(LAST_DAY(CONCAT(tmp.date, -15)), 23:59:59)";if ($type day) {//日$dateType "%Y-…...

flutter开发实战-请求dio设置Cookie

flutter开发实战-请求dio设置Cookie 在最近开发中碰到了需要websocket长链接收到响应的auth,在之后的请求中需要将其设置为cookie中。 如Cookie:authDHSfQQSAXf89xZqJTLdEDVI2hwzc7p2lUmSNNdUSlgW2MyfQINpYr7jUbkX/; 设置cookie用到了dio_cookie_manager组件 一、…...

C语言第十一课--------操作符的使用与分类-------基本操作

作者前言 作者介绍: 作者id:老秦包你会, 简单介绍: 喜欢学习C语言和python等编程语言,是一位爱分享的博主,有兴趣的小可爱可以来互讨 个人主页::小小页面 gitee页面:秦大大 一个爱分享的小博主 欢迎小可爱们…...

2,继承、内联函数、虚继承、友元、构造析构函数、初始化列表

继承 2.1结构体成员权限2.1.1访问权限2.1.2类与结构体 2.2类的成员函数2.2.1类内规则2.2.2类成员内联函数inline 2.3类的继承2.3.1类的继承与成员函数2.3.2类的多继承2.3.2.1类的多继承:菱形问题提出 2.3.3类的虚继承(关键字virtual) 2.4友元…...

Mkdocs中利用Js实现大小圈鼠标拖动样式

在docs/javascripts/extra.js下复制粘贴: var CURSOR;Math.lerp (a, b, n) > (1 - n) * a n * b;const getStyle (el, attr) > {try {return window.getComputedStyle? window.getComputedStyle(el)[attr]: el.currentStyle[attr];} catch (e) {}return …...

pytorch(6)——神经网络基本骨架nn.module的使用

1 神经网络框架 1.1 Module类的使用 NN (Neural network): 神经网络 Containers: 容器 Convolution Layers: 卷积层 Pooling layers: 池化层 Padding Layers: 填充层 Non-linear Activations (weighted sum, nonlinearity): 非线性激活 Non-linear Activations (other): 非线…...

论文精读之BERT

目录 1.摘要(Abstract) 2.引言(Introduction): 3.结论(Conlusion): 4.BERT模型算法: 5.总结 1.摘要(Abstract) 与别的文章的区别是什么:BERT是用来设计去…...

实战:Docker+Jenkins+Gitee构建CICD流水线

文章目录 前言Jenkins部署创建Jenkins docker-compose配置maven源启动Jenkins容器安装插件Gitee ssh公匙配置与测试项目提交 Jenkins创建流水线写在最后 前言 持续集成和持续交付一直是当下流行的开发运维方式,CICD省去了大量的运维时间,也能够提高开发…...

7.25 Qt

制作一个登陆界面 login.pro文件 QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on …...

P1420 最长连号

题目描述 输入长度为 n n n 的一个正整数序列,要求输出序列中最长连号的长度。 连号指在序列中,从小到大的连续自然数。 输入格式 第一行,一个整数 n n n。 第二行, n n n 个整数 a i a_i ai​,之间用空格隔开…...

UVA-1354 天平难题 题解答案代码 算法竞赛入门经典第二版

GitHub - jzplp/aoapc-UVA-Answer: 算法竞赛入门经典 例题和习题答案 刘汝佳 第二版 这道题需要: 1. 遍历二叉树的每种构成方式。我这里每次把当前所有结点列出,然后遍历选取两个组合构成一个新结点,原来的结点剔除,新结点加入。…...

电机故障诊断(python程序,模型为CNN结合LSTM)

代码运行环境要求:TensorFlow版本>2.4.0,python版本>3.6.0 运行效果视频:电机故障诊断(python代码)_哔哩哔哩_bilibili 1.电机常见的故障类型有以下几种: 轴承故障:轴承是电机运转时最容…...

ubuntu 20.04 rtc时间显示问题探究

1、硬件与软件 本次测试的硬件为RK3568芯片,操作系统为ubuntu 20.04。 2、RTC与系统时间 先说结果,如果RTC驱动不可用或者RTC内部存储的时间非法, 那么操作系统会存储上一次有效的时间,当再次上电时,date命令会使用存储…...

React Native 导航系统实战(React Navigation)

导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

LLMs 系列实操科普(1)

写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...