精华内容
下载资源
问答
  • 论文研究-多阶段多目标洗钱网络路径算法研究及反洗钱应对策略.pdf, 针对多阶段非法资金转移的路径优化问题,基于多目标优化的思想,构建了以洗钱量最大化、风险最小化及...
  • (2)在一个主要由陌生人组成的交易型社区的模糊情境下,信息性社会影响起着主要作用,信息源的传播路径越多一方面加强了信息源的传染性,但另一方面也降低了该信息源的必要性而不利于其他成员与其构建关系; (3)交易型...
  • 当前,网络交易的规模和数量成几何倍数增长。消费者与网络经营者之间的纠纷屡有发生,消费者安全权、隐私权、知情权、公平交易权和选择权屡遭侵犯。究其原因,与我国相关法律制度不完善、政府监管不到位、第三方交易...
  • 为了能实际求解可交易瓶颈许可证TBP均衡系统, 利用网络对偶均衡理论建立了TBP的交通网络对偶均衡模型。以路段和节点的均衡条件代替路径均衡条件, 并放松了节点流量的平衡条件和分时OD流量与总需求的平衡条件, 从而...
  • vnpy实盘自动交易

    千次阅读 2020-06-25 01:23:20
    初始环境(下载vnstation)搭建我就分享了,网络上有很多教程,vnpy社区也有很多大家遇到的坑,可以直接搜索找答案 本人用的是直接下载GitHub包,没有安装傻瓜版的程序。所以之后分享图片和文件路径不一样。这里说明...

    教程1分享用vnpy交易Binance BTCUSDT future

    环境搭建

    初始环境(下载vnstation)搭建我就不分享了,网络上有很多教程,vnpy社区也有很多大家遇到的坑,可以直接搜索找答案

    本人用的是直接下载GitHub包,没有安装傻瓜版的程序。所以之后分享图片和文件路径不一样。这里说明一下
    本机已经有Anacoda3,在GitHub下载最新版,记住要下最新版(2.1.4)
    https://github.com/vnpy/vnpy/releases
    下载后解压,运行install.bat安装。安装完成后找到如下路径(具体看你python安装路径不同),这个路径就是之后数据/策略编写/保存的地方。
    在这里插入图片描述
    GitHub下载下来的examples/vn_trader里找到run.py文件
    在这里插入图片描述
    在这里插入图片描述
    运行run.py, 按住shift +右键,选powershell
    在这里插入图片描述
    几点说明下:

    1. 我之前安装了rqdata试用,所以第4行开始有说明试用语句。
    2. 如果没有运行成功或者报错大家可以尝试卸载pyqt5 后重新安装等方法解决。
      VN trader 运行好了 (我已经绑定了ctptest和binance api)
      在这里插入图片描述
      找到左上角的系统后点击连接BINANCES,这个接口是币安期货
      在这里插入图片描述
      输入自己的api key 和secret连接
      在日志里找到登录成功信息
      在这里插入图片描述
      如果你做到跟我一样,恭喜你已经成功搭建好币安期货实盘环境。
      系列2将分享数据下载
    展开全文
  • 需要用抓包手段来分析原因,但是由于一些网络部署架构或者交换机产品自身原因,难以及时捕获到抓包所需的交易路径镜像流量,给故障分析带来挑战;(2)随着网络安全、应用性能监控以及各类审计系统的流量需求,如...

    相信很多做运维的小伙伴在工作过程中不免会碰到以下尴尬的情况:

    (1)当生产网络发生大流量传输引起带宽瞬间拥堵丢包、应用系统交易缓慢或系统交易成功率降低,需要用抓包手段来分析原因,但是由于一些网络部署架构或者交换机产品自身原因,难以及时捕获到抓包所需的交易全路径镜像流量,给故障分析带来挑战;

    (2)随着网络安全、应用性能监控以及各类审计系统的流量需求,如BPC应用交易监控、IDS入侵检测系统、邮件以及客服录音审计等系统,传统的网络设备上没有足够的能力提供所需流量,盲目在交换机做大量镜像可能对生产交换机带来隐患。以前这些问题没有好的解决办法,但是今天我们可以通过流量采集网络来解决。


    运维之眼——流量采集网络


    流量采集网络是将数据中心生产网络设备各关键节点的镜像流量进行采集汇聚,并经过加工处理后发送给指定分析设备的网络系统。流量采集网络可以对各区域网络设备的镜像流量进行分布采集,对网络冗余多路径流量进行集中汇总去重,并按需对采集到的数据基于硬件进行L2-L4层灵活过滤后,将数据分配给各个基于流量分析的后台系统。我们平时可能注意不到流量采集网络的存在,但是它如同一个“影子”将触手深入到生产网络的各个角落,时刻跟踪网络里的一举一动。有了流量采集网络,运维工作者犹如多了一双眼睛能够了解应用真实全路径交易过程,支持对生产系统运行情况进行回溯分析与处置,支持用大数据分析异常网络流量进行预警建模分析。下面我们就来介绍一下我行的数据中心流量采集网络。


    运维之眼——流量采集网络


    流量采集网络可以看作是一张由流量采集设备组成的,与生产网络平行部署的独立网络,它将各个网络设备的镜像流量进行采集并按照区域和架构层次将镜像流量进行汇聚,利用流量采集设备所具有的流量过滤交换引擎实现全线速对数据进行2-4层的条件过滤和去除重复包、截短数据包等高级功能操作处理,然后将数据发送至各个流量分析系统。流量采集网络可以实现按照各系统对数据要求将特定数据精准地发送至各设备,解决了传统镜像数据无法过滤发送而消耗网络交换机处理性能问题。同时流量采集网络所具有的流量过滤交换引擎,实现了低延时、高速度对数据进行过滤和转发,保证了流量采集网络的采集数据质量,为后续各流量分析设备提供了良好的数据基础。

    流量采集网络的架构主要由采集层、汇聚层和分配层组成,如图一。


    运维之眼——流量采集网络

    图一 流量采集网络架构

    流量采集网络设备主要分为三层:流量采集层、流量汇聚层、流量分配层。各层功能简要介绍如下:

    流量采集层设备在每个数据中心各机房模块均有部署,用于对部署各机房模块的各区不同型号网络设备的镜像流量进行采集,流量采集层设备会采用10G或40G接口接收每一个网络设备的镜像数据,并会对不同网络设备的数据打上标签以对采集点进行染色便于后续进行定位分析。同时,采集层支持对地址段、地址通讯对等大流量进行初步过滤。

    流量汇聚层设备在每个数据中心的核心网络模块部署,一是汇聚同数据中心的各个流量采集层采集的数据流,二是流量汇聚分配层设备根据数据标签将流量按区域和层次进行汇总,并进行切片、去重等高级功能处理。

    流量分配层设备在每个数据中心的核心网络模块部署,按需将不同的数据分配给不同的分析工具系统,同时对数据基于MAC地址、Vlan Id、IP地址和端口等2-4层特定条件进行过滤,流量分配设备可以实现对数据的末端精细化裁剪和过滤,满足不同流量分析系统对数据采集的不同要求。

    流量采集网络数据采集过滤的吞吐能力和去重能力按照规模进行部署,实现对生产网络数据进行了全覆盖的流量采集和优化处理,可追溯任意生产IP在网络中的访问过程。在生产事件处置和应用系统架构优化改造过程中,流量采集网络均起到了重要作用。例如在网络支付清算平台应用交易提速优化过程中,由于流量采集网络在生产区域进行了全覆盖流量采集点部署,实现在交易路径的防火墙前后、负载均衡前后和SSL前后等关键节点均可进行流量提取分析,使网联交易链上所有节点均可进行数据分析,逐笔业务、逐毫秒地对网络支付清算平台交易质量进行优化。在开发、运维同事的共同努力下,我行网络支付清算平台在双十一期间系统成功率保持100%,在商业银行中取得较好的成绩。

    运维之眼——流量采集网络

    随着虚拟化和云技术的不断发展,数据中心越来越多系统从原来的物理机迁移至云平台,数据中心的虚拟化东西流量呈显著增长。但是传统物理流量采集网络无法对虚拟化环境的流量进行直接采集,导致虚拟化环境中的业务流量成为盲区,使虚拟化环境中的业务应用发生问题时,无法直接提取流量进行分析。面对虚拟化环境流量采集需求,我们必须与时俱进引入新的虚拟化流量采集技术,使虚拟化环境流量可提取可分析。

    我行已经在云环境中完成虚拟化流量采集环境的试点部署工作,虚拟化流量采集架构主要由流量采集管理平台和部署在云平台物理机上的采集虚拟机两部分组成,如图二。其中流量采集管理平台负责采集虚拟机的部署、虚拟化流量采集策略的配置下发及采集虚拟机到采集物理设备的通道建立等管理工作;而采集虚拟机部署在云平台每台物理机上,用于采集同一物理机中的虚拟机之间交互的流量,并将流量传送至流量采集物理设备进行过滤和分配。

    运维之眼——流量采集网络

    图二 虚拟化流量采集架构

    虚拟化流量采集环境如何搭建呢?首先,虚拟化集中管理平台vCenter授予流量采集管理平台所需权限,以保证流量采集管理平台可以获取vCenter中相应物理机和虚拟机信息。其次,在流量采集管理平台对vCenter每台物理机部署采集虚拟机,该采集虚拟机具有多个虚拟网卡,通过API从虚拟交换机中对同物理平台的各虚拟机不同网卡流量进行采集。在虚拟化环境中虚机不同网卡的流量对应在不同的Port-Group中。采集虚拟机可以根据需求以虚拟机的Port-Group为单位对虚拟机流量进行提取。例如如果我们对虚拟机上的业务流量感兴趣而对虚拟机的备份流量暂时无需求,那就可以针对虚拟机的业务数据的Port-Group进行流量采集。再次,在流量采集管理平台制定流量采集策略,同样可以根据数据的MAC地址、Vlan Id、IP地址和端口等条件指定采集各虚拟机出入网卡的所需流量。

    流量采集视频_腾讯视频

    图三 虚拟化流量采集示例

    如果在运维过程中虚拟机发生了迁移该怎么办?流量还能提取到吗?答案是肯定的!流量采集管理平台会得到vCenter发出的虚拟机迁移通知,告知哪台虚拟机迁移到哪台物理机,流量采集管理平台会根据迁移消息在新的物理机重新部署和下发对该迁移虚拟机的流量采集策略,这样即使虚拟机发生了迁移,它的流量我们一样能采集到。

    虚拟机切换视频_腾讯视频

    图四 虚拟机迁移时流量采集示例

    随着信息科技的不断发展和对运维精细化要求的不断提高,流量采集面临不少难题:

    (1)数据中心的数据流量显著增大。容易导致采集网络带宽容量不足,根据实际运行情况发现流量采集设备间的带宽打满,导致数据丢包会引发如故障分析丢包以及应用流量BPC监控不准监控失真等情况。

    (2)数据采集需求多导致跨数据中心镜像流量叠加。面对不同的后台系统流量需求,由于我行生产系统部署在同城两个双活数据中心,而部分后台系统部署在单个中心,导致需要将流量汇总至单个数据中心后分配给这些后台系统,造成跨数据中心流量过大以致用于跨中心传输的DWDM多个10G接口带宽使用过载,而DWDM的100G传输资源非常昂贵,从成本考虑需对数据采集需求重新进行优化。

    针对上述流量采集网络使用中面临的问题,后续我行将对流量采集网络进行进一步架构调整和优化,包括:

    (1)优化互联带宽。未来流量采集网络设备之间采用多条大带宽线路进行互联,以解决现有带宽不足导致数据传输过程中丢包问题。

    (2)对流量采集需求进行重新梳理和规划。实现按分析系统采集需求维度对数据进行二次归类,优化现网流量采集过滤策略,化繁为简使不同流量分析系统策略更加独立减少相互影响。协助各流量分析系统规划并实现采集流量本地提取,减少跨中心数据传输占用流量采集网络带宽资源情况。

    以上是对我行总行流量采集网络现网架构、虚拟化流量采集技术以及未来发展的简单介绍。流量采集网络像是运维的眼睛,有了它可以有机会看到网络环境中发生的各种事情。中国光大银行的流量采集网络仍处在不断建设和优化的过程中,届时再与大家共同学习进步。

    本文转载自公众号:匠心独运维妙维效

    展开全文
  • 课程目标掌握连接到比特币正式网络与测试网进行开发学会创建钱包与备份钱包生成账号地址前言比特币的账号是通过bip协议生成种子,然后扩展成多个子地址,这些子地址都由同一个种子可以推导出来,而知道其中一个子...

    本文转自:https://www.chaindesk.cn/witbook/9/74

    课程目标
    掌握连接到比特币正式网络与测试网进行开发
    学会创建钱包与备份钱包
    生成账号地址
    前言
    比特币的账号是通过bip协议生成种子,然后扩展成多个子地址,这些子地址都由同一个种子可以推导出来,而知道其中一个子账号的私钥不能推导兄弟和父辈节点的私钥,所以将同一个种子扩展生成的子账号统一为一个账号,在每次交易时都可以使用它的新的子地址去交易,这样更安全,也更难追踪,也常常将这个大账号称为钱包。因此对账号的操作,我们需要先来创建钱包账号,那么本章的内容就是学习如何创建钱包,和钱包的一些常用功能。

    一、获取钱包客户端对象
    在上一章的内容中已经将创建钱包客户端对象的方法封装到了Models/walletClient.js文件中的getWalletClient()方法中,如下:

    getWalletClient: () => {
    var Client = require('bitcore-wallet-client');

    var client = new Client({
    baseUrl: config.BWS_URL,
    verbose: false,
    });
    return client
    },

    在实例化的时候需要指定bitcore-wallet服务端地址,我们使用的是bitpay的地址BWS_URL: 'https://bws.bitpay.com/bws/api',你也可以自己搭建一个钱包服务端。

    现在我们在业务类wallet中调用该方法。

    var client = require("../models/walletClient").getWalletClient()
    1


    现在client对象还没有生成认证,可以看到在__proto下clien有很多个方法,接下来通过client对象调用创建钱包。

    二、创建钱包的API文档说明
    创建钱包的API文档如下:

    API.createWallet(walletName, copayerName, m, n, opts, opts.network, opts.walletPrivKey, opts.id, opts.withMnemonics, cb)
    Create a wallet.

    Parameters

    walletName: String, Create a wallet.

    copayerName: String, Create a wallet.

    m: Number, Create a wallet.

    n: Number, Create a wallet.

    opts: object, (optional: advanced options)

    opts.network: string, 'livenet' or 'testnet'

    opts.walletPrivKey: String, set a walletPrivKey (instead of random)

    opts.id: String, set a id for wallet (instead of server given)

    opts.withMnemonics: String, generate credentials

    cb: , Create a wallet.

    Returns: undefined

    根据API的定义可知,必传参数有如下六个:

    walletName: String, 创建的钱包名称。

    copayerName: String, 创建钱包的人,即钱包的拥有者。

    m: Number, 该钱包拥有者个数。若为1,则是个人钱包;若大于1,则是共享钱包,需要多重签名。

    n: Number, 与m对应,不能大于m,指定需要签名的个数。若是个人钱包,则为1。

    opts: 可选参数,它是一个对象,包含的字断如下:

    opts.network: string, 钱包连接的网络类型,支持正式网络和测试网络,分别表示为:livenet、testnet。

    opts.walletPrivKey: 钱包私钥,可以不用指定,会随机生成。

    opts.id: String, 钱包ID,可以不用指定,会自动生成。

    opts.withMnemonics: String, 助记词,用于生成凭证,对钱包的操作都是用这个凭证进行的操作。

    cb: 回调方法。该方法是没有返回值的,响应的数据是通过callba回掉进行传递。

    三、编码实现创建钱包
    1. 小试牛刀
    根据上面的分析我们进行如下的调用。

    var client = require("../models/walletClient").getWalletClient()

    client.createWallet("MyWallet", "lixu", 1, 1, {
    network: "testnet",
    coin: "btc",
    }, function (err, ret) {
    console.log(ret,ret)
    console.log(client)
    })

    运行后生成的client对象如下:

     

    可知创建后的钱包作为client对象的credential属性,里面的字断记录了钱包的详细数据。这样我们便创建了一个名称为“MyWallet”、拥有者是“lixu”、在测试网络下的比特币个人钱包,默认使用BIP44协议创建账号、地址类型是P2PKH支付给公钥哈希。另外,我们没有发现该账号的助记词,所以创建钱包的方法还需完善,那么正确的步骤是这样的呢?

    2. 通过随机助记词生成种子
    我们需要在创建钱包之间调用seedFromRandomWithMnemonic()方法通过随机助记词生成种子,目的是为了能够导出该钱包的助记词备份钱包。下面API文档就不作解释了,大家可以在GitHub查看,它的用法如下

    client.seedFromRandomWithMnemonic({
    passphrase: "12345678",
    network: "testnet",
    coin: "btc",
    })

    注意:

    密码字断不能忘记,需要使用密码与助记词共同生成种子,密码不一样种子就不一样,导致无法找回账号。现在运行后的结果如下所示。
    network设置为testnet则是连接到测试网,若连接到正式网络则是“livenet”。


    3. 导出钱包
    我们创建好钱包后,下次再次使用钱包时需要使用import()方法导入钱包去激活,所以我们创建钱包后需要备份钱包数据,与以太坊中keystore类似。备份钱包数据需要用到export()方法,它将该钱包对象导出存到文件中,用于下次通过文件打开钱包。import()方法的用法接下来会进行介绍。

    特别提醒:

    本项目为了让大家快速开发比特币钱包项目,对于非重点内容没有花时间去讲解。那么这里项目中导出的钱包为了便于讲解是放在的服务器中,这是非常不安全的做法,对于有经验的开发者自然是了解如何处理这类敏感数据。另外,服务端是对同一个用户”lixu“即代码中“copayerName”字段创建的钱包,在实际开发中需要实现用户模块建立用户体系,这里就简写了。建议将此数据放到客户端保存,并且需要加密。

    ......

    var path = require('path');
    var fs = require('fs');

    client.createWallet("MyWallet", "lixu", 1, 1, {
    network: "testnet",
    coin: "btc",
    }, function (err, ret) {
    console.log(ret,ret)
    let filePath = path.join(path.join(__dirname, "../static/wallet_file"), "MyWallet.dat")
    fs.writeFileSync(filePath, client.export());
    })

    将钱包数据储存在以.bat结尾的文件中,以钱包名称命名,所以钱包名称重复会覆盖钱包账号。运行后打开static/wallet_file文件夹下的MyWallet.bat文件,它的数据以json字符串储存,如下图,使用格式化工具后查看可知它的数据就是client.credentials字断中的数据。

     

    4. 新建地址
    新创建的钱包没有自动生成地址,为了打开该钱包的时候有一个地址,所以我们可以在创建成功后调用新建地址的方法让他拥有第一个账号地址。当然,它的路径肯定就是“M/0/0”了。接下来我们会获取钱包的子账号地址进行查看。

    ......

    console.log(ret,ret)
    let filePath = path.join(path.join(__dirname, "../static/wallet_file"), "MyWallet.dat")
    fs.writeFileSync(filePath, client.export());

    client.createAddress({}, function (err, addr) {
    console.log(err, addr)
    });

    输出如下:

     

    四、完整源码
    1. controllers/wallet.js
    在controllers文件夹下新建wallet.js文件,后端实现钱包模块功能,下面先实现创建钱包的功能。

    前端需要传递walletname, password两个参数,最后将新建的第一个账号地址返回给前端,数据结构如下:

    {
    code: 0,
    status: 'success',
    data: {
    address: 'mrPo6ePcPKFezfRV4Q2pzpmFLTQERvNZKx'
    }
    }

    将常量放在了config配置文件中,在上一章中已经作了介绍。


    var client = require("../models/walletClient").getWalletClient()
    var path = require('path');
    var fs = require('fs');
    var config = require("../config/config")
    var { success, fail } = require("../utils/myUtils")

    module.exports = {
    walletCreate: (req, res) => {
    let { walletname, password } = req.body
    console.log(req.body)

    client.seedFromRandomWithMnemonic({
    passphrase: password,
    network: config.networkType,
    coin: config.coinType,
    })
    console.log(client.credentials.mnemonic)
    client.createWallet(walletname, config.coinType, 1, 1, {
    network: config.networkType,
    withMnemonics: client.credentials.mnemonic,
    coin: config.coinType,

    }, function (err, ret) {
    console.log(err, ret)
    if (err) {
    res.send(fail(err.message))
    return
    }
    let filePath = path.join(config.walletFilePath, walletname + ".dat")
    fs.writeFileSync(filePath, client.export());

    client.createAddress({}, function (err, addr) {
    console.log(err, addr)
    if (err) {
    res.send(fail(err.message))
    return
    }
    res.send(success({ "address": addr.address }))
    });
    })
    },
    }

    2. router/router.js
    将创建钱包的接口绑定到路由。

    let router = require('express').Router();

    let walletController = require("../controllers/wallet")

    //钱包
    router.post("/wallet/create", walletController.walletCreate)

    router.get("/wallet.html", (req, res) => {
    res.render("wallet.html");
    })

    module.exports = router

    3. static/js/wallet.js
    在文档加载完成后设置创建钱包表单的验证与网络请求。

    $(document).ready(function () {

    //创建钱包
    $("#wallet-create-form").validate({
    rules: {
    walletname: {
    required: true,
    },
    password: {
    required: true,
    },
    },
    messages: {
    walletname: {
    required: "请输入新建的钱包名称",
    },
    password: {
    required: "请输入新建的钱包密码",
    },
    },
    submitHandler: function (form) {
    $(form).ajaxSubmit({
    url: "/wallet/create",
    type: "post",
    dataType: "json",
    success: function (res, status) {
    console.log(status + JSON.stringify(res))
    alert(JSON.stringify(res.data))
    if (res.code == 0) {
    window.location.reload()
    }
    },
    error: function (res, status) {
    console.log(status + JSON.stringify(res))
    }
    });
    }
    })

    })

    4. views/wallet.html
    前端:钱包列表的初始页面。

    <html>

    <head>
    <title>钱包</title>
    <script src="/js/lib/jquery-3.3.1.min.js"></script>
    <script src="/js/lib/jquery.url.js"></script>
    <script src="/js/wallet.js"></script>
    <link rel="stylesheet" href="/css/btcwallet.css">
    </head>

    <body>
    <%include block/nav.html%>

    <div id="main">
    <h1>钱包列表</h1>
    <form id="wallet-create-form">
    <button type="submit">创建钱包</button>
    <input type="text" name="walletname" placeholder="请输入钱包名称">
    <input type="text" name="password" placeholder="请输入钱包密码">
    </form>
    </div>
    </body>

    </html>

    五、项目运行效果


    项目源码Github地址

    版权声明:博客中的文章版权归博主所有,未经授权禁止转载,转载请联系作者(微信:lixu1770105)取得同意并注明出处。

    未经授权禁止转载、改编,转载请注明出处!

    本文地址: https://www.chaindesk.cn/witbook/9/74
    作者:李旭
    链接:https://www.chaindesk.cn/witbook/9/74
    来源:http://www.chaindesk.cn
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    其他章节: https://www.chaindesk.cn/witbook/9

     

    转载于:https://www.cnblogs.com/freeliver54/p/10215144.html

    展开全文
  • 此源码由九度网络科技有限公司提供 1、使用技术 struts2 hibernate spring dwr 2、开发环境 tomcat6.0 jdk1.5 eclipse MySQL5.0 3、根据你的需要开放自主交易和寄售交易 4、在线订单即时提醒,让你更快,更准确的发货 ...
  • 此源码由九度网络科技有限公司提供 http://www.9dyou.com 1、使用技术 struts2 hibernate spring dwr 2、开发环境 tomcat6.0 jdk1.5 eclipse MySQL5.0 3、根据你的需要开放自主交易和寄售交易 4、在线订单即时...
  • (1)当生产网络发生大流量传输引起带宽瞬间拥堵丢包、应用系统交易缓慢或系统交易成功率降低,需要用抓包手段来分析原因,但是由于一些网络部署架构或者交换机产品自身原因,难以及时捕获到抓包所需的交易路径镜像...

    相信很多做运维的小伙伴在工作过程中不免会碰到以下尴尬的情况:

    (1)当生产网络发生大流量传输引起带宽瞬间拥堵丢包、应用系统交易缓慢或系统交易成功率降低,需要用抓包手段来分析原因,但是由于一些网络部署架构或者交换机产品自身原因,难以及时捕获到抓包所需的交易全路径镜像流量,给故障分析带来挑战;

    (2)随着网络安全、应用性能监控以及各类审计系统的流量需求,如BPC应用交易监控、IDS入侵检测系统、邮件以及客服录音审计等系统,传统的网络设备上没有足够的能力提供所需流量,盲目在交换机做大量镜像可能对生产交换机带来隐患。以前这些问题没有好的解决办法,但是今天我们可以通过流量采集网络来解决。

    4cd1fd6d6ecc457a791279f71db103b8.png

    流量采集网络是将数据中心生产网络设备各关键节点的镜像流量进行采集汇聚,并经过加工处理后发送给指定分析设备的网络系统。流量采集网络可以对各区域网络设备的镜像流量进行分布采集,对网络冗余多路径流量进行集中汇总去重,并按需对采集到的数据基于硬件进行L2-L4层灵活过滤后,将数据分配给各个基于流量分析的后台系统。我们平时可能注意不到流量采集网络的存在,但是它如同一个“影子”将触手深入到生产网络的各个角落,时刻跟踪网络里的一举一动。有了流量采集网络,运维工作者犹如多了一双眼睛能够了解应用真实全路径交易过程,支持对生产系统运行情况进行回溯分析与处置,支持用大数据分析异常网络流量进行预警建模分析。下面我们就来介绍一下我行的数据中心流量采集网络。

    211c71b470d166f7653270a1456ef5c0.png

    流量采集网络可以看作是一张由流量采集设备组成的,与生产网络平行部署的独立网络,它将各个网络设备的镜像流量进行采集并按照区域和架构层次将镜像流量进行汇聚,利用流量采集设备所具有的流量过滤交换引擎实现全线速对数据进行2-4层的条件过滤和去除重复包、截短数据包等高级功能操作处理,然后将数据发送至各个流量分析系统。流量采集网络可以实现按照各系统对数据要求将特定数据精准地发送至各设备,解决了传统镜像数据无法过滤发送而消耗网络交换机处理性能问题。同时流量采集网络所具有的流量过滤交换引擎,实现了低延时、高速度对数据进行过滤和转发,保证了流量采集网络的采集数据质量,为后续各流量分析设备提供了良好的数据基础。

    流量采集网络的架构主要由采集层、汇聚层和分配层组成,如图一。

    7ba9a8b29275a518ed3d52d47378ccc0.png

    图一 流量采集网络架构

    流量采集网络设备主要分为三层:流量采集层、流量汇聚层、流量分配层。各层功能简要介绍如下:

    流量采集层设备在每个数据中心各机房模块均有部署,用于对部署各机房模块的各区不同型号网络设备的镜像流量进行采集,流量采集层设备会采用10G或40G接口接收每一个网络设备的镜像数据,并会对不同网络设备的数据打上标签以对采集点进行染色便于后续进行定位分析。同时,采集层支持对地址段、地址通讯对等大流量进行初步过滤。

    流量汇聚层设备在每个数据中心的核心网络模块部署,一是汇聚同数据中心的各个流量采集层采集的数据流,二是流量汇聚分配层设备根据数据标签将流量按区域和层次进行汇总,并进行切片、去重等高级功能处理。

    流量分配层设备在每个数据中心的核心网络模块部署,按需将不同的数据分配给不同的分析工具系统,同时对数据基于MAC地址、Vlan Id、IP地址和端口等2-4层特定条件进行过滤,流量分配设备可以实现对数据的末端精细化裁剪和过滤,满足不同流量分析系统对数据采集的不同要求。

    流量采集网络数据采集过滤的吞吐能力和去重能力按照规模进行部署,实现对生产网络数据进行了全覆盖的流量采集和优化处理,可追溯任意生产IP在网络中的访问过程。在生产事件处置和应用系统架构优化改造过程中,流量采集网络均起到了重要作用。例如在网络支付清算平台应用交易提速优化过程中,由于流量采集网络在生产区域进行了全覆盖流量采集点部署,实现在交易路径的防火墙前后、负载均衡前后和SSL前后等关键节点均可进行流量提取分析,使网联交易链上所有节点均可进行数据分析,逐笔业务、逐毫秒地对网络支付清算平台交易质量进行优化。在开发、运维同事的共同努力下,我行网络支付清算平台在双十一期间系统成功率保持100%,在商业银行中取得较好的成绩。

    73b5f9330e10ef36a71c79af1b8e2ce0.png

    随着虚拟化和云技术的不断发展,数据中心越来越多系统从原来的物理机迁移至云平台,数据中心的虚拟化东西流量呈显著增长。但是传统物理流量采集网络无法对虚拟化环境的流量进行直接采集,导致虚拟化环境中的业务流量成为盲区,使虚拟化环境中的业务应用发生问题时,无法直接提取流量进行分析。面对虚拟化环境流量采集需求,我们必须与时俱进引入新的虚拟化流量采集技术,使虚拟化环境流量可提取可分析。

    我行已经在云环境中完成虚拟化流量采集环境的试点部署工作,虚拟化流量采集架构主要由流量采集管理平台和部署在云平台物理机上的采集虚拟机两部分组成,如图二。其中流量采集管理平台负责采集虚拟机的部署、虚拟化流量采集策略的配置下发及采集虚拟机到采集物理设备的通道建立等管理工作;而采集虚拟机部署在云平台每台物理机上,用于采集同一物理机中的虚拟机之间交互的流量,并将流量传送至流量采集物理设备进行过滤和分配。

    f44bae09c883d7aa00ef236d5706b31e.png

    图二 虚拟化流量采集架构

    虚拟化流量采集环境如何搭建呢?首先,虚拟化集中管理平台vCenter授予流量采集管理平台所需权限,以保证流量采集管理平台可以获取vCenter中相应物理机和虚拟机信息。其次,在流量采集管理平台对vCenter每台物理机部署采集虚拟机,该采集虚拟机具有多个虚拟网卡,通过API从虚拟交换机中对同物理平台的各虚拟机不同网卡流量进行采集。在虚拟化环境中虚机不同网卡的流量对应在不同的Port-Group中。采集虚拟机可以根据需求以虚拟机的Port-Group为单位对虚拟机流量进行提取。例如如果我们对虚拟机上的业务流量感兴趣而对虚拟机的备份流量暂时无需求,那就可以针对虚拟机的业务数据的Port-Group进行流量采集。再次,在流量采集管理平台制定流量采集策略,同样可以根据数据的MAC地址、Vlan Id、IP地址和端口等条件指定采集各虚拟机出入网卡的所需流量。

    流量采集视频_腾讯视频

    图三 虚拟化流量采集示例

    如果在运维过程中虚拟机发生了迁移该怎么办?流量还能提取到吗?答案是肯定的!流量采集管理平台会得到vCenter发出的虚拟机迁移通知,告知哪台虚拟机迁移到哪台物理机,流量采集管理平台会根据迁移消息在新的物理机重新部署和下发对该迁移虚拟机的流量采集策略,这样即使虚拟机发生了迁移,它的流量我们一样能采集到。

    虚拟机切换视频_腾讯视频

    图四 虚拟机迁移时流量采集示例

    随着信息科技的不断发展和对运维精细化要求的不断提高,流量采集面临不少难题:

    (1)数据中心的数据流量显著增大。容易导致采集网络带宽容量不足,根据实际运行情况发现流量采集设备间的带宽打满,导致数据丢包会引发如故障分析丢包以及应用流量BPC监控不准监控失真等情况。

    (2)数据采集需求多导致跨数据中心镜像流量叠加。面对不同的后台系统流量需求,由于我行生产系统部署在同城两个双活数据中心,而部分后台系统部署在单个中心,导致需要将流量汇总至单个数据中心后分配给这些后台系统,造成跨数据中心流量过大以致用于跨中心传输的DWDM多个10G接口带宽使用过载,而DWDM的100G传输资源非常昂贵,从成本考虑需对数据采集需求重新进行优化。

    针对上述流量采集网络使用中面临的问题,后续我行将对流量采集网络进行进一步架构调整和优化,包括:

    (1)优化互联带宽。未来流量采集网络设备之间采用多条大带宽线路进行互联,以解决现有带宽不足导致数据传输过程中丢包问题。

    (2)对流量采集需求进行重新梳理和规划。实现按分析系统采集需求维度对数据进行二次归类,优化现网流量采集过滤策略,化繁为简使不同流量分析系统策略更加独立减少相互影响。协助各流量分析系统规划并实现采集流量本地提取,减少跨中心数据传输占用流量采集网络带宽资源情况。

    以上是对我行总行流量采集网络现网架构、虚拟化流量采集技术以及未来发展的简单介绍。流量采集网络像是运维的眼睛,有了它可以有机会看到网络环境中发生的各种事情。中国光大银行的流量采集网络仍处在不断建设和优化的过程中,届时再与大家共同学习进步。

    本文转载自公众号:匠心独运维妙维效

    展开全文
  • 但文中并未对交易网络进行复杂网络分析,从复杂网络角度分析问题可能会提供更多的可解释性考量,复杂网络分析主要包括节点中心性分析、网络异常交易结构发现、资金流转路径发现。本报告将结合复杂网络分析对反洗钱...
  • 字货币BitCoin启发了一系列P2P支付网络的诞生,可以让全世界任何两个人通过互联网实现金融交易,而无需通过金融机构和各种烦琐的手续。如果交易双方两人不存在直接的互信关系,系统能在两人之间的信任链中寻找可能的...
  • 股票预测模型,收集用于股票预测的机器学习和深度学习模型,包括交易机器人和模拟。 目录 内容 楷模 LSTM LSTM双向 LSTM 2路径 格鲁 双向GRU GRU 2路径 香草 香草双向 香草2路径 LSTM Seq2seq LSTM双向Seq2seq ...
  • 本来的交易访问关系是A中心内部... 另外能否能只要指定源端和目标端的IP走到B中心,其他交易路径不变还是在A中心内部从m到n系统。意思就是我想让最少的数据传输经过B中心在返回A中心。这个最小的数据范围是什么。。。。
  • 关于闪电网络: 简单来说,闪电网络是构建在比特币网络上的Layer2支付协议,用来解决比特币...而且双方若无直接的点对点支付通道,只要闪电网络中存在一条连通双方的、由多个支付通道构成的支付路径,那么也可以利...
  • 网络内执行路径查找,被动转发入款。 通过网络发送。 更新广告费用表。 自动通道管理( )。 闪电网络规范合规 lnd完全符合 。 BOLT代表:闪电技术的基础。 目前,规范的制定者是来自世界各地的几组实施者,...
  • Roxe是下一代全球支付网络,采用数字代币模式,通过Roxe支付协议进行点对点交易,可为支付和汇款、传统资产和数字资产提供更安全、可靠、实时的清算和跨境结算服务。 为提高支付效率,Roxe运用区块链技术统一了分散...
  •  B) 电子商务可以使用户方便的进行网上交易。  C) 电子商务可以使用户方便的进行网上支付。  D) 电子商务活动要求用户利用PC机上网完成  Key: D  (54)在以下关于EDI的叙述中,哪种说法是错误的  A)EDI...
  • 而基于市场经济平台,当数据成为商品,交易便是必然路径。那么,这些不合规不合法的买卖行为都是如何肆无忌惮地进行着?又是如何在高科技的支持下蔚然成风的呢? 数据黑市的“货源”哪里来? 所谓数据黑市,是指法律...
  • 1、通过界面获取路径及其他参数,将这些信息调用网络操作类处理,获取网络操作类回传的handler 2、通过界面获取用户所输入买卖数据及佣税费参数,并调用费用计算类分析计算,显示相应结果 二、费用计算类: ...
  • 而基于市场经济平台,当数据成为商品,交易便是必然路径。那么,这些不合规不合法的买卖行为都是如何肆无忌惮地进行着?又是如何在高科技的支持下蔚然成风的呢? 数据黑市的“货源”哪里来? 所谓数据黑市,是指法律...
  • 全国政协经济委员会副主任房爱卿在峰会致辞中表示,电子商务是流通领域的一场革命,冲破了地域和时间的限制,由过去面对面交易,变为网络空间交易。“形成了开放、多维、立体的经贸模式,也拓宽了进入国际市场的路径...
  • 比特币系统的C++实现

    2020-08-18 19:13:39
    部署过程就是把代码统统贴过去,要注意的就是代码中有两个文件的路径,要手动改一下,代码中有两个文件的路径,要手动改一下,代码中有两个文件的路径,要手动改一下,重要的事情说三遍,然后就可以运行,观察比特币...
  • 区块链设计上就是安全性和保密性高于效率的一种网络方案。 作为数据应用,不可避免需要进行数据查询,分页显示作为大多数交易所的首页。下面我们就来看一下如何用fabric-java-sdk实现分页。分页可以有两种路径: 1...
  • 概括地说,该算法使用Google的OR-tools CP-Sat求解器来解决约束满足问题,这些问题由方程组构成,这些方程组是根据从放逐路径API映射到图形数据结构中列出的交易组合创建的。 下面介绍了这些方程组的确定以及该方法...
  • 大幅度地降低交易成本是网络商品直销的优点T 2.机器人搜索引擎以某种策略手动地在Internet中搜集和发现信息F 3.将成品零部件等从供应商处运回厂内的物流称为采购物流F 4.URL的内容包括协议服务器名称路径及文件名T 5...
  • 美国最大的网络安全意识协会分析了网络犯罪分子每天使用的相同的交易技术,白帽渗透测试人员用来测试他们客户的控制:社会工程方法,包括鱼叉式钓鱼。这进一步证明了所有动机的邪恶黑客都继续瞄准人类,因为他们被...
  • 区块链综述文章参考文献整理

    千次阅读 2020-05-27 16:49:42
    文章路径. 文章结构: 在第二部分中,我们介绍了区块链的背景,包括加密元素,块和区块链的基本数据结构,挖掘过程和区块链架构。 在第三部分中,我们介绍了区块链P2P网络和多链网络。我们还将描述交易过程并讨论...

空空如也

空空如也

1 2 3 4
收藏数 80
精华内容 32
关键字:

交易网络路径