[OpenAirInterface实战-13] :OAI 基站配置文件详解

2023-10-26

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/120791987


目录

第1章 基站配置文件概述

1.1 基站配置文件的作用

1.2 配置文件的路径

1.3 配置文件名解读

1.4 配置的使用

1.5 配置文件与命令行选项的关系

第2章 配置文件解读

2.1 示例1:gnb.sa.band78.fr1.106PRB.usrpb210.conf


第1章 基站配置文件概述

1.1 基站配置文件的作用

配置文件是对基站进行配置的文件,基站要能够正常工作,必须要有大量的参数配置。

通过文件对基站进行配置是一个比较快捷的方式。

每个配置文件,代表一种网络部署!!!

1.2 配置文件的路径

(1)存放路径:

/root/oai/openairinterface5g/targets/PROJECTS

CENTOS-LTE-EPC-INTEGRATION: ???

GENERIC-LTE-EPC:连接LTE EPC的配置

GENERIC-NR-5GC:连接5G核心网的配置

(2)CENTOS-LTE-EPC-INTEGRATION/conf

enb.centos.calisson.conf

enb.centos.memphis.conf  

enb.centos.nord.conf

(3)GENERIC-LTE-EPC/conf

./rru.oaisim.conf
./enb.band7.tm1.50PRB.usrpb210.conf
./rru.oaisim.tdd.conf
./gnb.band66.tm1.106PRB.usrpn300.conf
./gnb.band78.tm1.24PRB.usrpn300.conf
./testing_enb.conf
./enb.band42.tm1.25PRB.iris030.conf
./gnb.band257.tm1.32PRB.usrpx300.conf
./rcc.band7.tm1.if4p5.50PRB.conf
./gnb.band257.tm1.32PRB.usrpn300.conf
./gnb.band78.tm1.24PRB.usrpx300.conf
./UE_config.xml
./enb.band7.tm1.50PRB.usrpb210-d2d.conf
./oaiL1.nfapi.usrpb210.conf
./gnb.band257.tm1.66PRB.usrpn300.conf
./rcc.band7.tm1.50PRB.nfapi-STUB.conf
./testing_gnb.conf
./enb.band13.tm1.50PRB.emtc.conf
./benetel-5g.conf
./rcc_b38_if5_ENDC.conf
./testing_gnb_n310.conf
./gnb.band78.tm1.106PRB.usrpb210.conf
./gnb.band78.tm1.106PRB.PTRS.usrpx300.conf
./gnb.band78.106PRB.slave.conf
./cu.lte.conf
./rcc.band7.tm1.if4p5.50PRB.lo.conf
./testing_gnb_24PRB.conf
./gnb.band78.106PRB.30kHz,usrpb2x0.conf
./enb.band7.tm1.25PRB.iris030.conf
./rcc.band7.tm1.50PRB.nfapi.conf
./enb.band7.tm1.50PRB.usrpb210_ue_expansion.conf
./gnb.band78.tm1.24PRB.usrpb210.conf
./gnb.band261.tm1.32PRB.usrpn300.conf
./gnb.band78.tm1.217PRB.usrpn300.conf
./enb.band7.tm1.100PRB.usrpx310.conf
./gnb.band66.tm1.106PRB.usrpx300.conf
./testing_eNB_band13.conf
./rcc.band38.tm1.if4p5.50PRB.lo.conf
./enb.band38.tm1.100PRB.usrpx310.conf
./benetel-4g.conf
./enb.band38.tm1.usrpx310.conf
./du.lte.band7.10MHz.if4p5.conf
./enb.band7.master.conf
./gnb.band78.slave.conf
./gnb.band78.tm1.217PRB.usrpx300.conf
./enb.band38.tm1.25PRB.iris030.conf
./rcc.band78.tm1.106PRB.nfapi.conf
./oaiL1.nfapi.usrpx300.conf
./enb.band7.tm1.25PRB.usrpb210.replay.conf
./gnb.band78.tm1.106PRB.usrpn300.conf
./gnb.band78.tm1.106PRB.usrpx300.conf
./gnb.band78.tm1.273PRB.usrpn300.conf

(4)GENERIC-NR-5GC

./gnb.sa.band78.fr1.106PRB.usrpb210.sabox.conf

./gnb.sa.band78.fr1.106PRB.usrpb210.conf

./gnb.sa.band41.fr1.106PRB.usrpb210.conf

./gnb.band78.tm1.106PRB.usrpn300.gtp-itti.conf

./cu_gnb.conf

./du_gnb.conf

./ue.conf

1.3 配置文件名解读

  • cu/du/gnb/enb:指明设备的部署类型
  • sa:5G独立部署
  • bandxx:频段
  • fr1 or fr2:5G 频谱区间
  • tmx:传输模式
  • PRB: 分配给SCH信道的PRB个数
  • usrpbxxx:OAI支持的实际RF硬件的型号,目前OAI只支持usrpb系列硬件。
  • nfapi:PNF和VFN部署中,VFN的对外接口是nfapi,而不是RF.

1.4 配置的使用

通过-O选项指明配置文件的全路径,如下示例所示:

sudo RFSIMULATOR=server ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf --parallel-config -d PARALLEL_SINGLE_THREAD --rfsim --phy-test --noS1 --nokrnmod 1

1.5 配置文件与命令行选项的关系

(1)配置文件必须通过命令行选项指定

(2)部分命令行选项可以覆盖配置文件的设置

(3)大部分配置参数,无法通过命令行选项重新配置,命令行选项是配置文件的一个子集。

第2章 配置文件解读

2.1 示例1:gnb.sa.band78.fr1.106PRB.usrpb210.conf

Active_gNBs = ( "gNB-Eurecom-5GNRBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";

gNBs =
(
 {
    // Identification parameters:
    gNB_ID    =  0xe00;
    gNB_name  =  "gNB-Eurecom-5GNRBox";

    // Tracking area code, 0x0000 and 0xfffe are reserved values
    tracking_area_code  =  1;
    plmn_list = ({
                  mcc = 208;
                  mnc = 99;
                  mnc_length = 2;
                  snssaiList = (
                    {
                      sst = 1;
                      sd  = 0x1; // 0 false, else true
                    },
                    {
                      sst = 1;
                      sd  = 0x112233; // 0 false, else true
                    }
                  );

                  });

    nr_cellid = 12345678L;

    // Physical parameters:

    ssb_SubcarrierOffset                                      = 0;
    pdsch_AntennaPorts                                        = 1;
    pusch_AntennaPorts                                        = 1;
    sib1_tda                                                  = 0;

     pdcch_ConfigSIB1 = (
      {
        controlResourceSetZero = 12;
        searchSpaceZero = 0;
      }
      );

    servingCellConfigCommon = (
    {
 #spCellConfigCommon

      physCellId                                                    = 0;

#  downlinkConfigCommon
    #frequencyInfoDL
      # this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
      absoluteFrequencySSB                                             = 641280;
      dl_frequencyBand                                                 = 78;
      # this is 3600 MHz
      dl_absoluteFrequencyPointA                                       = 640008;
      #scs-SpecificCarrierList
        dl_offstToCarrier                                              = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
        dl_subcarrierSpacing                                           = 1;
        dl_carrierBandwidth                                            = 106;
     #initialDownlinkBWP
      #genericParameters
        # this is RBstart=27,L=48 (275*(L-1))+RBstart
        initialDLBWPlocationAndBandwidth                               = 12952; # 6366 12925 12956 28875 12952
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
        initialDLBWPsubcarrierSpacing                                   = 1;
      #pdcch-ConfigCommon
        initialDLBWPcontrolResourceSetZero                              = 12;
        initialDLBWPsearchSpaceZero                                     = 0;
      #pdsch-ConfigCommon
        #pdschTimeDomainAllocationList (up to 16 entries)
        initialDLBWPk0_0                    = 0;  #for DL slot
        initialDLBWPmappingType_0           = 0;  #0=typeA,1=typeB
        initialDLBWPstartSymbolAndLength_0  = 40; #this is SS=1,L=13

        initialDLBWPk0_1                    = 0;  #for mixed slot
        initialDLBWPmappingType_1           = 0;
        initialDLBWPstartSymbolAndLength_1  = 57; #this is SS=1,L=5

  #uplinkConfigCommon
     #frequencyInfoUL
      ul_frequencyBand                                              = 78;
      #scs-SpecificCarrierList
      ul_offstToCarrier                                             = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
      ul_subcarrierSpacing                                          = 1;
      ul_carrierBandwidth                                           = 106;
      pMax                                                          = 20;
     #initialUplinkBWP
      #genericParameters
        initialULBWPlocationAndBandwidth                            = 12952;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
        initialULBWPsubcarrierSpacing                               = 1;
      #rach-ConfigCommon
        #rach-ConfigGeneric
          prach_ConfigurationIndex                                  = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
          prach_msg1_FDM                                            = 0;
          prach_msg1_FrequencyStart                                 = 0;
          zeroCorrelationZoneConfig                                 = 13;
          preambleReceivedTargetPower                               = -96;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
          preambleTransMax                                          = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
        powerRampingStep                                            = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
        ra_ResponseWindow                                           = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
        ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR                = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
        ssb_perRACH_OccasionAndCB_PreamblesPerSSB                   = 14;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
        ra_ContentionResolutionTimer                                = 7;
        rsrp_ThresholdSSB                                           = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
        prach_RootSequenceIndex_PR                                  = 2;
        prach_RootSequenceIndex                                     = 1;
        # SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
        #
        msg1_SubcarrierSpacing                                      = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
        restrictedSetConfig                                         = 0,

      # pusch-ConfigCommon (up to 16 elements)
        initialULBWPk2_0                      = 6;  # used for UL slot
        initialULBWPmappingType_0             = 1
        initialULBWPstartSymbolAndLength_0    = 41; # this is SS=0 L=13

        initialULBWPk2_1                      = 6;  # used for mixed slot
        initialULBWPmappingType_1             = 1;
        initialULBWPstartSymbolAndLength_1    = 52; # this is SS=10 L=4

        initialULBWPk2_2                      = 7;  # used for Msg.3 during RA
        initialULBWPmappingType_2             = 1;
        initialULBWPstartSymbolAndLength_2    = 52; # this is SS=10 L=4

        msg3_DeltaPreamble                                          = 1;
        p0_NominalWithGrant                                         =-90;

# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
        pucchGroupHopping                                           = 0;
        hoppingId                                                   = 40;
        p0_nominal                                                  = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
      ssb_PositionsInBurst_PR                                       = 2;
      ssb_PositionsInBurst_Bitmap                                   = 1;

# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
      ssb_periodicityServingCell                                    = 2;

# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
      dmrs_TypeA_Position                                           = 0;

# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
      subcarrierSpacing                                             = 1;


  #tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
      referenceSubcarrierSpacing                                    = 1;
      # pattern1
      # dl_UL_TransmissionPeriodicity
      # 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
      dl_UL_TransmissionPeriodicity                                 = 6;
      nrofDownlinkSlots                                             = 7;
      nrofDownlinkSymbols                                           = 6;
      nrofUplinkSlots                                               = 2;
      nrofUplinkSymbols                                             = 4;

      ssPBCH_BlockPower                                             = -25;
  }

  );


    # ------- SCTP definitions
    SCTP :
    {
        # Number of streams to use in input/output
        SCTP_INSTREAMS  = 2;
        SCTP_OUTSTREAMS = 2;
    };


    // MME parameters:
    amf_ip_address      = ( { ipv4       = "192.168.70.132";
                              ipv6       = "192:168:30::17";
                              active     = "yes";
                              preference = "ipv4";
                            }
                          );


    NETWORK_INTERFACES :
    {
        GNB_INTERFACE_NAME_FOR_NG_AMF            = "demo-oai";
        GNB_IPV4_ADDRESS_FOR_NG_AMF              = "192.168.70.129/24";
        GNB_INTERFACE_NAME_FOR_NGU               = "demo-oai";
        GNB_IPV4_ADDRESS_FOR_NGU                 = "192.168.70.129/24";
        GNB_PORT_FOR_S1U                         = 2152; # Spec 2152
    };

  }
);

MACRLCs = (
    {
        num_cc                      = 1;
        tr_s_preference             = "local_L1";
        tr_n_preference             = "local_RRC";
        ulsch_max_slots_inactivity  = 100;
        pusch_TargetSNRx10          = 200;
        pucch_TargetSNRx10          = 200;
    }
);

L1s = (
    {
	num_cc = 1;
	tr_n_preference = "local_mac";
	pusch_proc_threads = 8;
  ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
    }
);

RUs = (
    {
       local_rf       = "yes"
         nb_tx          = 1
         nb_rx          = 1
         att_tx         = 0
         att_rx         = 0;
         bands          = [7];
         max_pdschReferenceSignalPower = -27;
         max_rxgain                    = 114;
         eNB_instances  = [0];
         #beamforming 1x4 matrix:
         bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
         clock_src = "internal";
    }
);

THREAD_STRUCT = (
  {
    #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
    parallel_config    = "PARALLEL_SINGLE_THREAD";
    #two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
    worker_config      = "WORKER_ENABLE";
  }
);

rfsimulator :
{
    serveraddr = "server";
    serverport = "4043";
    options = (); #("saviq"); or/and "chanmod"
    modelname = "AWGN";
    IQfile = "/tmp/rfsimulator.iqs";
};

     log_config :
     {
       global_log_level                      ="info";
       global_log_verbosity                  ="medium";
       hw_log_level                          ="info";
       hw_log_verbosity                      ="medium";
       phy_log_level                         ="info";
       phy_log_verbosity                     ="medium";
       mac_log_level                         ="info";
       mac_log_verbosity                     ="high";
       rlc_log_level                         ="info";
       rlc_log_verbosity                     ="medium";
       pdcp_log_level                        ="info";
       pdcp_log_verbosity                    ="medium";
       rrc_log_level                         ="info";
       rrc_log_verbosity                     ="medium";
       ngap_log_level                         ="debug";
       ngap_log_verbosity                     ="medium";
    };



作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/120791987

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[OpenAirInterface实战-13] :OAI 基站配置文件详解 的相关文章

  • html5 manifest 安卓,移动APP配置文件 manifest.json 讲解 (附视频)

    xfeff Manifest json文件是5 43 移动App的配置文件 xff0c 用于指定应用的显示名称 图标 应用入口文件地址及需要使用的设备权限等信息 xff0c 用户可通过HBuilder的可视化界面视图或者源码视图来配置5 4
  • Android读写properties配置文件

    写这篇文章之前可以成功运行 文章后就各种找不到文件 所以并没有采用此种方式 后期完善 详见下篇解决方案 配置文件读取很容易 修改需要注意权限 比如assets目录下就不允许修改 配置文件的创建 New File 命名后选择propertie
  • spring配置文件

    文章目录 1 Spring程序开发步骤2 Spring配置文件2 1 Bean标签基本配置2 2 Bean标签范围配置2 2 Bean生命周期配置2 3 Bean实例化三种方式2 4 Bean的依赖注入分析2 5 依赖注入概念2 6 Bea
  • Android 使用Properties配置文件

    相信各位在进行Android开发过程中会遇见有时需要把一些配置信息保存到本地的需求 xff0c 当然Android中有SharedPreferences可以提供给我们使用 xff0c 但是知道另一种方法也不错 xff0c 是吧 以下是针对使
  • Eslint:配置文件

    通常我们使用VSCODE的时候有时候代码会很乱不规范 xff0c 这时候我们需要配置一下eslint来试试了 xff0c 安装eslint插件 xff0c 打开终端输入eslint init 进行初始化eslint xff0c 之后生成 e
  • CentOS-Base.repo yum配置文件

    span class token punctuation span baiyun 64 hd102 yum repos d span class token punctuation span span class token functio
  • springboot项目启动指定项目外部yml配置文件

    spring boot的经典项目配置是application yml xff0c 在项目打包部署运行的时候 xff0c 这个文件也会一同打进包里 xff0c 随之启动 这就带来了一个问题 xff1a 如果部署的服务器发生了变动 xff0c
  • Vim配置文件(.vimrc)详解

    64 TOC详解 Vim配置文件的作用 Vim启动时 xff0c 会根据配置文件 xff08 vimrc xff09 来设置 Vim xff0c 因此我们可以通过此文件来定制适合自己的 Vim Vim分类 系统Vim配置文件 etc vim
  • OAI搭建步骤(EPC+eNB)

    声明 xff1a 本文CSDN作者原创投稿文章 xff0c 未经许可禁止任何形式的转载 xff0c 原文链接 文章目录 一 系统概述二 搭建核心网EPC openair cn 2 1 准备主机2 2 更换内核2 3 获取openair cn
  • 【SpringBoot】配置文件application自定义内容引入

    背景 进行Spring Boot配置文件部署时 xff0c 发出警告Spring Boot Configuration Annotation Processor not configured xff0c 但是不影响运行 解决方案 pom x
  • 【Python】配置文件configparser

    使用configparser模块读取模型参数 xff0c 设置config ini文件内容如下 xff0c train 和 savepath 分别为两个session span class token punctuation span tr
  • Redis 配置文件redis.conf详细解释

    Redis 配置文件示例 注意单位 当需要配置内存大小时 可能需要指定像1k 5GB 4M等常见格式 1k 61 gt 1000 bytes 1kb 61 gt 1024 bytes 1m 61 gt 1000000 bytes 1mb 6
  • vim 配置文件 ,高亮+自动缩进+行号+折叠+优化

    http www blogjava net MEYE articles 355888 html vim 配置文件 xff0c 高亮 43 自动缩进 43 行号 43 折叠 43 优化 http apps hi baidu com share
  • SpringBoot系列---application.yml配置文件

    1 yml配置文件格式 span class token comment 对象 span span class token key atrule person span span class token punctuation span s
  • uhd驱动安装(usrpB210,usrpX310等)

    sdr技术与设备介绍 参考博文地址 上述博文介绍了什么是SDR技术 以及sdr设备的分类应用 问题描述 使用sdr设备 usrpx系列 usrpb系列 的准备 驱动 镜像 方案一 推荐方案 资源下载地址 一个UHD源码 一个UHD对应的镜像
  • Spring Cloud获取本机IP地址

    最新的Spring Cloud获取本机的IP地址的配置文件如下 eureka instance hostname spring cloud client ip address lease renewal interval in second
  • Java读配置文件

    读取配置文件的方案 public String getProperty String name String k Properties prop new Properties String key null String val null
  • FreeRTOS学习笔记-2-FreeRTOSConfig.h

    http www freertos org a00110 html 边看边试着翻译了下 发现看懂是一回事 写成文字表达出来又是另一个层次了 何况还有很多看不懂的 以后有机会 一点一点的补上去吧 lt gt gt gt FreeRTOS 的配
  • [OpenAirInterface实战-20] :OAI 软件无线电USRP E310硬件详解

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121094384 第1章 概述 USR
  • [OpenAirInterface实战-6] :OAI在github中源代码的存放结构

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 OpenAirInterface实战 6 OAI在github中源代码的存放结构 文火冰糖 王文兵 的博客 CSDN博客 目录 第1章 基本

随机推荐

  • MATLAB入门到精通(三):常用函数及数学应用

    合集如下 MATLAB入门到精通 一 简介及数据类型 MATLAB入门到精通 二 基本语句及绘图 MATLAB入门到精通 三 常用函数及数学应用 十一 常用函数 11 1 随机数函数 11 1 1 rand 函数 rand 函数用来产生均匀
  • 创建一个React项目实现一个计算器

    使用环境react脚手架 node js create react app 文件名 配置完这些就让我们开始把 count js import React Component from react import store from redu
  • mybatis中的typeAlias

    mybatis 的 xml 文件中需要写类的全限定名 较繁琐 可以配置自动扫描包路径给类配置别名 有两种配置方式 方式一 mybatis config xml 中配置
  • AB32VG1项目之智能晾衣架

    智能晾机架项目 开发过程 前期准备 分离工程 导入工程 安装包 安装最近的rt thread 包 AB32VG1的 SDK包 RISC V GCC工具链 下载 硬件搭建 开发板上的3 3V能否可用的问题 大体的硬件规划 软件设计 控制逻辑设
  • 关于Unrecognized Windows Sockets error: 5: socket write error 错误

    最近有个需求是从A数据库读取数据导入到B数据库 demo的数据量也就几万条 但是遇到了一个非常罕见的问题 后端框架是mybatis plus spring boot 在insertBatch到数据库B时 没有立即报错 而是执行插入了几百条数
  • 小程序通过webView打开H5页面并传参(包含webView业务域名配置)、H5页面实现返回小程序并实现传参

    小程序内嵌webview实现跳转 传参 1 小程序通过webView打开H5页面并传参 2 H5接收小程序传参 H5返回小程序并实现传参 小程序接收H5传参 目录 一 小程序通过webView打开H5页面并传参 1 业务域名 2 在小程序中
  • (转)认识SAP SD销售模式之跨公司销售

    跨公司销售 销售订单的发货工厂对应的公司和销售组织对应的公司不同 比如 9801公司为销售性公司 9901为生产性的公司 当公司9801接到订单后 直接从9901公司发货 如果不通过跨公司销售 需要9801像9901公司下虚拟的采购订单 然
  • win10 下 Linux使用方法笔记

    最近想学习一下比特币源码 官方推荐是在Linux系统下学习 且推荐在win10 下的Linux系统进行编译运行 所以下面将学习过程记录一下 1 参考了这篇文章中的方法 进行安装WSL https www cnblogs com JettTa
  • agoda获取酒店数据

    最近改了改代码 正好解决了一些报错问题 更新出来 个别处会加蜜 数据库以及线程控制 from DBUtils PooledDB import PooledDB import requests import demjson import ti
  • 堆和栈的区别

    1 1内存分配方面 堆 一般由程序员分配释放 若程序员不释放 程序结束时可能由OS回收 注意它与数据结构中的堆是两回事 分配方式是类似于链表 可能用到的关键字如下 new malloc delete free等等 栈 由编译器 Compil
  • leetcode622-设计循环队列

    本题重点 1 选择合适的数据结构 2 针对选择的数据结构判断 空 和 满 这两点是不分先后次序的 在思考时应该被综合起来 事实上 无论我们选择链表还是数组 最终都能实现题中描述的 循环队列 的功能 只不过选择不同结构时 我们面临和需要解决的
  • 不是一个PDF文件或该文件已损坏

    之前用公司电脑打开PDF文档的时候 出现了这样的一种现象 就是提示格式错误 不是一个PDF文件或该文件已被损坏 有三种解决方法 1 有可能是电脑上自带的PDF阅读软件版本太低 出现了不兼容的现象 换个最新的PDF阅读器吧 我用了福昕阅读器很
  • 【死磕NIO】— 探索 SocketChannel 的核心原理

    大家好 我是大明哥 一个专注于 死磕 Java 系列创作的程序员 死磕 Java 系列为作者 chenssy 倾情打造的 Java 系列文章 深入分析 Java 相关技术核心原理及源码 死磕 Java https www cmsblogs
  • oracle不小心将表update修改了如何回滚

    oracle提供了一种闪回的方法 可以将某个时间的数据给还原回来 SELECT FROM T DIS EVENT RELATION TYPE AS OF TIMESTAMP TO TIMESTAMP 2023 08 08 15 31 00
  • python opencv 在线读取网络图片图像资源

    opencv在线读取网络图片图像资源 照例打开opencv3 3 0 python3 6官方文档 https docs opencv org master d8 dfe classcv 1 1VideoCapture html 详解 官方文
  • Adam和AdamW的区别

    Adam 与 Adamw的区别 一句话版本 Adamw 即 Adam weight decate 效果与 Adam L2正则化相同 但是计算效率更高 因为L2正则化需要在loss中加入正则项 之后再算梯度 最后在反向传播 而Adamw直接将
  • python框架和模型库_一个pytorch库,拥有最先进的架构,预训练模型和实时更新结果...

    PytorchInsight This is a pytorch lib with state of the art architectures pretrained models and real time updated results
  • first season last episode,Rachel finds out Ross likes her,what would she do???

    Scene Central Perk the whole gang is there Ross is showing pictures of his new baby boy Ben to the group Ross And here s
  • Flex布局

    之前一直都是使用position来定位块的位置 现在新学了一个比较主流的flex来定位块的位置 感觉确实比之前的好多了 现在总结下大概的用法 flex是把一个div分成主轴和交叉轴 其中主轴方向的定位有三个 1 flex direction
  • [OpenAirInterface实战-13] :OAI 基站配置文件详解

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120791987 目录 第1章 基站配