精华内容
下载资源
问答
  • 本节书摘来自华章出版社《OpenGL ES应用开发实践指南:Android卷》一 书中第2章,第2.5节,...现在,我们已经定义了曲棍球桌子结构,并且把这些数据复制到了OpenGL可以存取本地内存;在把曲棍球桌子画到屏幕上...

    本节书摘来自华章出版社《OpenGL ES应用开发实践指南:Android卷》一 书中的第2章,第2.5节,作者:(美)Kevin Brothaler ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

    2.5 引入OpenGL管道

    现在,我们已经定义了曲棍球桌子的结构,并且把这些数据复制到了OpenGL可以存取的本地内存;在把曲棍球桌子画到屏幕上之前,它需要在OpenGL的管道(pipeline)中传递,这就需要使用称为着色器(shader)的子例程(见图2-6)。这些着色器会告诉图形处理单元(GPU)如何绘制数据。有两种类型的着色器,在绘制任何内容到屏幕之前,需要定义它们。
    Joe问:什么是字节序
    字节序(Endianness)是描述一个硬件架构是如何组织位(bit)和字节(byte)的方式,它们在底层组成一个数字。现实中,最常见的就是多字节数,既可以把它们按大头序(big endian order)排列,即把最重要的字节放在前面;或者按小头序(little endian order)排列,即把最不重要的字节放前面。
    举个例子,有个十进制数10 000,如果把它转成二进制数,就是10011100010000。在大头的架构上,这些位就会排列成:
    00100111 00010000
    在小头的架构上,它们就会排列为:
    00010000 00100111
    这次使用十六进制再来看一下。十进制数10 000就是十六进制系统中的2710;因为每两个字符对应一个8位字节,在看计算机代码时,十六进制用起来更好些;在大头的架构上,这个数字会另存为:
    27 10
    而在小头的架构上,同样的数字会另存为:
    10 27
    正常情况下,我们不需要担心字节序。当使用ByteBuffer时,只需要保证它和硬件使用了同样的字节序;否则结果就会出现莫名其妙的错误。在Wikipedia上有更多关于字节序的内容。
    1.顶点着色器(vertex shader)生成每个顶点的最终位置,针对每个顶点,它都会执行一次;一旦最终位置确定了,OpenGL就可以把这些可见顶点的集合组装成点、直线以及三角形。
    2.片段着色器(fragment shader)为组成点、直线或者三角形的每个片段生成最终的颜色,针对每个片段,它都会执行一次;一个片段是一个小的、单一颜色的长方形区域,类似于计算机屏幕上的一个像素。
    一旦最后的颜色生成了,OpenGL就会把它们写到一块称为帧缓冲区(frame buffer)的内存块中,然后,Android会把这个帧缓冲区显示到屏幕上。
    screenshot

    Joe问:为什么使用着色器
    在着色器出现之前,OpenGL只能使用一个固定的方法集合控制很少而有限的事情,比如场景里有多少光线或者加多少雾;这些固定的API很容易使用,但是它们很难扩展。你只能实现API提供的效果,而且仅此而已;几乎不能添加如卡通着色一样的自定义
    效果。
    随着时间的推移,底层的硬件有了很大提高;设计OpenGL的人意识到这些API需要演进,并跟上这些变化。在OpenGL ES 2.0里,他们使用着色器加入了可编程API;为了保持简洁,他们把那些固定的API完全删除了,因此,用户必须使用着色器。
    我们现在用着色器控制每个顶点应该如何画到屏幕上,我们也控制所有点、直线和三角形上的每个片段应该如何绘制;这打开了一个新的、充满了无限可能的新世界。我们现在可以按每个像素实现光照和其他优美的效果,如卡通着色。只要我们可以用着色器语言表达出来,就可以加入任何理想的自定义效果。
    作为OpenGL和着色器的快速参考,khronos.org提供了一个很好的快速参考卡片,可以把它打印出来,并且随时查看。

    2.5.1 创建第一个顶点着色器

    让我们创建一个简单的顶点着色器,它会分配在代码中定义的那些位置;为此,首先需要按照下面的步骤为这个着色器创建一个新的文件:
    1.首先,需要创建一个新文件夹;右键单击项目中的“res”文件夹,选择“New”,再选择“Folder”,并把这个新文件夹命名为“raw”。
    2.现在,需要创建一个新文件;右键单击刚刚创建的新文件夹,选择“New”,再选择“File”,并把新文件命名为“simple_vertex_shader.glsl”。
    既然着色器的新文件已经创建好了,让我们在其中加入如下代码:
    screenshot

    这些着色器使用GLSL定义,GLSL是OpenGL的着色语言;这个着色语言的语法结构与C语言相似。更多的信息可以参考前文提到的快速参考卡片或者完整的规范。
    对于我们定义过的每个单一的顶点,顶点着色器都会被调用一次;当它被调用的时候,它会在a_Position属性里接收当前顶点的位置,这个属性被定义成vec4类型。
    一个vec4是包含4个分量的向量;在位置的上下文中,可以认为这4个分量是x、y、z和w坐标,x、y和z对应一个三维位置,而w是一个特殊的坐标,第6章会讲述更多关于w的细节。如果没有指定,默认情况下,OpenGL都是把向量的前三个坐标设为0,并把最后一个坐标设为1。
    还记得曾经讲过一个顶点会有几个属性,比如颜色和位置么?关键词“attribute”就是把这些属性放进着色器的手段。
    之后,可以定义main(),这是着色器的主要入口点;它所做的就是把前面定义过的位置复制到指定的输出变量gl_Position;这个着色器一定要给gl_Position赋值;OpenGL会把gl_Position中存储的值作为当前顶点的最终位置,并把这些顶点组装成点、直线和三角形。

    2.5.2 创建第一个片段着色器

    既然已经创建了一个顶点着色器,就有了为每个顶点生成最终位置的子例程;我们仍然需要创建一个为每个片段生成最终颜色的子例程。在此之前,让我们花些时间了解一下什么是片段,以及一个片段是怎么产生的。
    光栅化(Rasterization)技术
    移动设备的显示屏由成千上百万个小的、独立的部件组成,它们称为像素(pixel);这些像素中的每一个都有能力显示几百万种不同颜色范围中的一种颜色。然而,这实际上是一种视觉技巧:大多数显示器并不能真正创造几百万种颜色,所以每个像素通常由三个单独的子组件构成,它们发出红色、绿色和蓝色的光,因为每个像素都非常小,人的眼睛会把红色、绿色及蓝色的光混合在一起,从而创造出巨量的颜色范围;把足够多的单独的像素放在一起,就能显示出一页文本或者蒙娜丽莎像。
    OpenGL通过“光栅化”的过程把每个点、直线及三角形分解成大量的小片段,它们可以映射到移动设备显示屏的像素上,从而生成一幅图像。这些片段类似于显示屏上的像素,每一个都包含单一的纯色。为了表示颜色,每个片段都有4个分量:其中红色、绿色、蓝色用来表示颜色,阿尔法(alpha)分量用于表示透明度;关于这个颜色模型是如何工作的,我们将在2.6节中讨论更多的细节。

    380d9a8000019fa0db3521f887ecf33fa049582d

    在图2-7中,可以见到OpenGL怎样把一条直线光栅化为一个片段集合。显示系统通常会把这些片段直接映射到屏幕上的像素,结果一个片段就对应一个像素;然而,并不总是这样的:一个超高分辨率的设备可能需要使用较大的片段,以减少GPU的工作负荷。
    编写代码
    片段着色器的主要目的就是告诉GPU每个片段的最终颜色应该是什么。对于基本图元的每个片段,片段着色器都会被调用一次,因此,如果一个三角形被映射到10 000个片段,片段着色器就会被调用10 000次。
    让我们继续并编写这个片段着色器;在项目中创建一个新的文件——“/res/raw/simple_fragment_shader.glsl”,并加入如下代码:
    screenshot

    精度限定符
    在这个片段着色器中,文件顶部的第一行代码定义了所有浮点数据类型的默认精度。这就像在Java代码中选择浮点数还是双精度浮点数一样。
    可以选择lowp、mediump和highp,它们分别对应低精度、中等精度及高精度;然而,只有某些硬件实现支持在片段着色器中使用highp。
    为什么顶点着色器没有定义精度呢?顶点着色器同样可以改变其默认的精度,但是,对于一个顶点的位置而言,精确度是最重要的,OpenGL设计者决定把顶点着色器的精度默认设置成最高级——highp。
    你可能已经猜到了,高精度数据类型更加精确,但是这是以降低性能为代价的;对于片段着色器,出于最大兼容性的考虑,选择了mediump,这也是基于速度和质量的权衡。

    生成片段的颜色
    这个片段着色器的剩余部分与早前定义的顶点着色器一样。不过这次我们要传递一个uniform,它叫做u_Color。它不像属性,每个顶点都要设置一个;一个uniform会让每个顶点都使用同一个值,除非我们再次改变它。如顶点着色器中的位置所使用的属性一样,u_Color也是一个四分量向量,但在颜色的上下文中,这四个分量分别对应红色、绿色、蓝色和阿尔法。
    接着我们定义了main(),它是这个着色器的主入口点,它把我们在uniform里定义的颜色复制到那个特殊的输出变量——gl_FragColor。着色器一定要给gl_GragColor赋值,OpenGL会使用这个颜色作为当前片段的最终颜色。

    展开全文
  • 原因就是工程新引入了一个sdk,它只有真机指令集,不支持模拟器, 所以armv7得架构不用,只要在x86_64模拟器不报错就行 其实想开了很简单,想不开一点点删代码很不容易。 将报错这几个类自己定义加到...

     

    首先为什么会这么想,一般人也不会这么想

     

    原因就是工程新引入了一个sdk,它只有真机的指令集,不支持模拟器,

     

    所以armv7得架构不用管,只要在x86_64模拟器不报错就行

     

    其实想开了很简单,想不开一点点删代码很不容易。

     

    将报错的这几个类创建相应的.h或.m加到工程里

     

    如果暴露了h的 只添加m

    然后对工程里调用了的这几个类的方法名属性在h中进行声明

     

    模拟器成功运行 

     

    不需要删代码  不需要大范围的条件编译

     

    必须实现m方法的,例如:对于单例的sharedInstance方法可以直接返回nil

    + (instancetype)sharedInstance;

    {

        return  nil;

    }

     

    当然真机运行要移除这几个文件

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 进而回顾了接入网发展历程,描述了软件定义光接入网总体架构,在光接入网引入SDN思想和OLT池化技术,分析了灵活可编程光层、精细化流表转发、控制层虚拟化等各层次主要关键技术,给出了适用于软件定义光接入网典型...
  • 今天在vue中引入vuex时候出现了错误,解决了一个多少时,总结如下: vuex 使用: vuex就是一个状态里中心 也好比一个仓库 细分可分为五个部分,这是我不考虑 module 分别是 state geters setter mutations...

    今天在vue中引入vuex的时候出现了错误,解决了一个多少时,总结如下:

    vuex 的使用:

    vuex就是一个状态管里中心 也好比一个仓库

    细分可分为五个部分,这是我不考虑 module

    分别是 state geters setter mutations actions

    state 就是要存入的数据

    getters setters 就不用多说的,是获取和设置数据用的

    mutations  是可是操作 state中数据的一个层  在vue中用 commit来调用   用来 同步 同步 同步写入数据

    actions  是用来操作 mutations的 在 actions中可以进行异步操作,如发送一个url请求,得到返回数据 再调用 mutations来写处理返回的数据到 state中 可以说是一个异步 异步 异步的写入的  在vue中用 dispatch  来调用 mutations

    上图是vuex的推荐目录

    在store.js中引入 state.js  mutations.js actions.js  

    如下图

    actions.js

    state.js

    mutations.js

    store.js

     完成之后在 main.js中引入

    这样就可以在任意组件中使用 store了    js中的使和方法是 this.$store.state   this.$store.commit  this.$store.dispatch

    template中使用方法是 {{$store.state.paramname}}

     

    这里要说一个注意的地方 其实vue的文档中已级作了说明,就是在 vue的 methods中的方法定义的时候不要使用 箭头函数 如果使用的话, this 的指向就是错误的 具体原因在文档中

     

    我就是在写方法时使用了 箭头函数,导到 this.$store 是一个 undefined ,错误找了一个小时

     

     

     

    展开全文
  • 【摘 要】传统核心网络竖井式架构及网络功能定位导致了业务与能力紧...根据网络能力开放多种实际应用需求,结合3GPP规范定义总结出运营商可通过引入SCEF实现QoS管道能力开放、物联网领域能力开放部署应用。...

          【摘 要】传统核心网络的竖井式架构及网络功能定位导致了业务与能力紧耦合,各网元对网络能力的封装已无法应对OTT竞争及未来业务丰富多样化的需求。根据网络能力开放的多种实际应用需求,结合3GPP规范定义总结出运营商可通过引入SCEF实现QoS管道能力开放、物联网领域能力开放的部署应用。展望面向5G业务需求,SCEF演进网元将带来更广领域、更高价值的应用。 
      【关键词】SCEF;QoS能力开放;物联网能力开放 
      Analysis on Introduction Requirements and Applications Deployment of SCEF 
      SONG Xiaoming, SHAO Yongping, YANG Xu, WANG Fang 
      [Abstract] The shaft architecture and network function positioning of traditional core network led to the tight coupling of service and capability. The encapsulation of each network element for network capability is unable to cope with the OTT competition and the diversification of future services. According to various actual application requirements of network capability openness and the specification definitions of 3GPP, operators can introduce the application deployment of SCEF to enable QoS pipeline capability openness and in the field of IoT capability openness. SCEF evolved network elements will bring applications with wider range and higher value according to 5G business needs. 
      [Key words]SCEF; QoS capability openness; IoT capability openness 
      1 引言 
      在电信运营商CT向IT战略转型,大力推进网络能力开放,积极发展蜂窝物联网的背景下,面向第三方应用的业务及场景日益增多,这将会对核心网提出更高的能力要求。3GPP R13定义了能力开放架构,引入业务能力开放网元SCEF(Service Capibility Exposure Function,网络能力开放功能),并定义了SCEF相关的网元接口以安全开放网络业务能力,SCEF可实现的主要功能为将核心网网元能力开放给各类业务应用,通过协议封装及转换实现与合作/自有平台对接,SCEF的应用使网络具备了多样化的运营服务能力。 
      2 SCEF引入需求分析 
      传统电信网络虽然语音、数据等基础网络能力强大,但核心网的竖井式架构导致了业务与能力紧耦合,各网元对网络能力的封装形成了资源孤岛,极大地限制了业务创新空间,已无法适应互联网+时代开放、共享、合作模式的多样化业务创新需求。因此运营商网络转型需求迫切,可通过引入3GPP定义的能力开放架构,运营商通过SCEF网元开放接口,屏蔽底层实现,将蕴含在网络和系�y中的核心能力提供给上层使用,由应用向用户提供灵活丰富的业务模式。 
      核心网通过引入SCEF可满足多场景、多类型业务应用的需求。 
      (1)管道能力差异化应用需求。可充分挖掘现有网络能力价值,例如管道能力是电信网络的核心竞争力,若能通过SCEF能力开放接口面向游戏/视频类应用打开QoS(Quality of Service,服务质量)管控等能力,为不同用户提供多样化、差异化管道服务,可进一步将运营商网络资源价值最大化。 
      (2)网络适配物联网终端的灵活、快速响应需求。物联网终端类型繁多,不同应用的通信属性差异较大,比如有些业务场景需要网络参数按需实时调整配置时,若采用修改HSS等网元配置信息的方式,会存在网络配置工作量大、需求响应周期长、影响网络安全等问题。而采用打开SCEF能力开放接口的方式,实现配置参数下发,将第三方平台用户属性或配置需求信息实时更新至网络侧,可满足灵活、快速、高效配置网络属性的需求。 
      (3)面向5G微服务化需求。5G网络架构采用切片化提供网络能力,以适应多类型业务多场景化通信需求,业务可编排网络可自动部署的演进趋势更需要网络能力可开放可共享。因此SCEF网元功能将变得尤为重要,各类控制面网元可通过SCEF来实现信息可交互、可共享、可配置、可编排,以满足5G多样化业务需求。 
      3 SCEF网络架构及开放的能力 
      3GPP R13定义的能力开放架构如图1所示,通过各类接口可开放的网络能力主要包括:通信信息获取、位置信息获取、通信服务开通信息获取、网络设置信息获取等。SCEF的引入使得能力开放网络配置简单、高效。通过对单个网元SCEF进行配置,即可实现核心网多网元各种能力的开放,而不需要在每个核心网网元中新增能力开放模块。同时,引入SCEF网元对接各种业务需求的合作/自有平台,可自动将平台需求参数通过SCEF自动下发至核心网网元,避免了网络维护人员工作量的增加以及人为配置可能出现差错的风险,可确保网络配置的正确率及网络安全,提高网络运维效率。   基于SCEF网络架构定义,可开放的网元能力及应用主要包括下面几点。 
      (1)对PCRF的能力实现开放 
      面向用户多样化数据速率承载的需求,运营商可将SCEF与流量经营PCRF(Policy and Charging Rules Function,策略与计费规则功能网元)网元之间的Rx接口进行能力开放,例如PCRF自有能力、PCC加速、QoS资源申请、修改、释放等功能开放给业务平台,以实现管道能力实时敏捷适配用户多样化需求。 
      (2)对HSS/MME实现能力开放 
      随着物联网业务的高速发展,其终端多样化、需求个性化将会对核心网网络提出更多能力要求。一方面是网络侧信息获取需求,通过SCEF可将网络侧HSS/MME(Home Subscriber Server/ Mobility Management Entity,归属用户服务器/移动性管理实体)中存储的用户位置信息、网络配置、业务/服务开通信息等网络侧信息提供给第三方/自有应用平台,可为用户提供多样化信息服务。另一方面需要将第三方平台用户个性化属性或配置信息下发至网络侧,以实现网络参数按需灵活自动配置。 
      (3)对更多核心网能力实现开放 
      面向未来5G应用的多种业务场景及多样化用户需求,运营商还可将更多的网元能力进行开放。例如开放S-CSCF(Serving-Call Session Control Function,服务-呼叫会话控制功能)与SCEF之间的ISC(IP Multimedia Subsystem Service Control,IMS业务控制)接口可实现多方会议、号码显示等语言类能力的开放等,并最终可基于4G/5G融合架构通过NEF(Network Exposure Function,网络功能开放)与SCEF统一的北向接口实现更多核心网网元能力的融合开放。 
      4 SCEF部署及应用 
      4.1 QoS管道能力开放及部署应用 
      面向未来市场的井喷式发展以及业务的QoS多样化、个性化需求,运营商可充分利用自身管道优势,面向合作方业务平台,开放网络管道能力以满足游戏加速、视频类应用等多样化QoS需求。 
      部署方式为在EPC(Evolved Packet Core,演进的分组核心网)网络架构中增加网络能力开放层SCEF,根据应用的QoS要求向PCRF申请、调整网络资源,同时根据应用要求向PCRF执行网络资源事件通知的订阅和取消订阅,并将SCEF与业务平台之间基于JSON/XML(JavaScript Object Notation/Extensible Markup Language,Java脚本对象表示/扩展标记语言)的协议转换为SCEF与PCRF之间的Diameter协议,解决了协议兼容性问题的同时也提高了网络安全性。EPC网络基于SCEF的QoS能力开放架构如图2所示,SCEF通过API(Application Programming Interface,应用程序编程接口)接口向第三方业务开放网络能力,通过Rx接口实现接入控制,并实现接口封装及转换、会话管理、路由等功能。 
      图2 QoS管道能力开放架构图 
      通过SCEF将网络侧用户数据业务的QoS能力封装后以API(Application Programming Interface,应用程序编程接口)形式开放给第三方应用。应用平台根据用户需求及时(用户使用业务时)向网络侧发起业务加速申请,网络侧依据与业务签订的协议,为当前用户提供加速服务。以游戏加速应用为例,用户开启某个手机游戏,发起业务加速请求,游戏业务平台调用能力网元接入模块经由管道能力网元向网络侧申请业务加速,用户升级为临时VIP用户,游戏服务商为该用户的游戏链接申请差异化服务。 
      4.2 物联网领域的能力开放及部署应用 
      NB-IoT蜂�C物联网以其覆盖广、连接多、速率低、成本低、功耗低等优势而得到迅速发展。以NB-IoT低功耗实现技术能力开放为例,若引入能力开放网元SCEF,可使终端省电特性更加智能化,同时运营商网络运维更加安全、高效。 
      基于现有EPC架构的NB-IoT网络,影响终端省电时长的三个参数为周期性TAU(Tracking Area Update,跟踪区更新)、PSM(Power Saving Mode,省电模式)的Active Time和eDRX(extended Idle Mode DRX,扩展的空闲模式DRX)周期长度,这三个参数的关系如图3所示。终端在一个TAU周期结束后,会退出省电模式,再次发起TAU流程;UE可同时请求激活PSM模式和eDRX两种省电模式,由MME决定某个或两个同时生效。若将核心网MME、HSS网元的网络参数配置能力进行开放,可将物联网用户个性化、多样化的省电时长需求参数通过物联网卡和终端的统一管理平台下发至核心网控制面网元,以实现网络自助配置并决定终端省电时长。这不但满足了终端用户多样化的省电时长需求,更是避免了网络维护人员工作量的增加以及人为配置可能出现差错的风险,且免去网维人员参与配置,需求响应更及时高效。 
      图3 周期性TAU、Active Time、eDRX三个参数关系图 
      部署方式为在EPC网络架构中增加网络能力开放SCEF网元,网络架构如图4所示。物联网统一管理平台将影响终端休眠时长/频率的三个时间参数PSM的Active Time、周期性TAU时间和eDRX周期长度集合下发至SCEF,SCEF将周期性TAU时长参数下发至HSS,HSS再下发至MME,SCEF通过S6t接口向用户归属HSS查询到用户拜访的MME,SCEF将省电模式的时间参数PSM的Active Time、eDRX参数通过T6a接口下发至MME,当UE和MME进行Attach附着/TAU流程时协商省电模式时间参数,并以MME配置参数为准。SCEF能力开放功能的引入,使得网络可根据物联网用户需求自助配置省电时间参数,满足了用户多样化、个性化低功耗需求。   图4 物联网应用能力开放架构图 
      5 SCEF面向5G演进的展望 
      SCEF的引入为运营商网络能力开放带来了新的商机,但面向未来5G丰富多样的业务需求,能力开放若面向多网元应用,南向需支持多种协议接口,将导致网络结构很复杂,接口功能分散且重复、网络部署与运维难度大、存在安全性风险等。因此,5G架构规范TS 23.501中将NEF作为了架构中的重要功能,如图5所示,控制功能集中部署、切片化的架构设计更利于网络能力开放。另外,5G架构的网络还可将虚拟化管理及编排能力等新型网络能力对外开放,实现业务自主编排、网络服务及功能差异化定制、网络资源按需伸缩等多类型能力开放应用。 
      图5 能力开放基于5G的网络架构 
      SCEF的引入打开了运营商网络能力开放的窗口,也改变了传统业务的运营模式。面对日益多样化、差异化的业务需求,运营商通过能力开放将核心能力转化为竞争优势,SCEF的引入功不可没,面向未来5G,它将以特有的优势联手优质第三方合作平台,开放各种业务能力,创建共赢的电信生态环境。 
      6 结束语 
      面对OTT竞争及未来业务丰富多样化的需求,网络能力开放是电信网络发展的必然趋势。本文以SCEF引入的需求分析为切入点,从管道能力差异化应用、网络智能适配物联网终端需求、5G微服务化应用三个方面分析了未来核心网网络能力开放的必要性。通过分析规范定义的SCEF网络架构及其可提供的开放能力,提出了SCEF在QoS管道能力开放应用、物联网终端省电智能化配置应用的部署实例。同时,展望5G架构,进一步明确了SCEF能力开放引入的重要意义。面向未来,运营商通过能力开放将核心网络能力转化为竞争优势,还可联手优质第三方合作平台,通过开放各种网络能力,共同创建共赢的电信生态环境。 
      参考文献: 
      [1] 中国通信标准化协会. 2016-1847T-YD面向物联网的蜂窝窄带接入(NB-IoT)核心网设备技术要求(报批稿)[Z]. 2017. 
      [2] 中��通信标准化协会. 2016-1854T-YD面向物联网的蜂窝窄带接入(NB-IoT)核心网总体技术要求(报批稿)[Z]. 2017. 
      [3] 3GPP TS 23.401 V14.3.0. Technical Specification Group Services and System Aspects; General Packet Radio Service (GPRS) enhancements for Evolved Universal Terrestrial Radio Access Network (E-UTRAN) access (Release 14)[S]. 2017. 
      [4] 3GPP TS 23.682 V15.0.0. Technical Specification Group Services and System Aspects; Architecture enhancements to Facilitate Communications with Packet Data Networks and Applications (Release 15)[S]. 2017. 
      [5] 张卓筠,贺晓博,高功应,等. 5G网络能力开放需求和解决方案研究[J]. 邮电设计技术, 2016(7): 9-11. 
      [6] 高枫,张峰,马铮,等. 电信能力开放趋势分析及策略探讨[J]. 移动通信, 2014(23): 53-57. 
      [7] 叶宇宏. 基于移动互联网的能力开放平台的规划和设计[J]. 福建电脑, 2016(7): 121-122. 
      [8] 刁永平. 运营商能力开放整体框架探析[J]. 广东通信技术, 2016(12): 31-34. 
      [9] 徐良红,皋宇. 运营商网络能力开放研究[J]. 电信技术, 2014(12): 19-21. 
      [10] 于洁. 运营商整合IT资源实现能力开放的初步研究[J]. 通讯世界, 2016(8): 109-120.

    转载于:https://my.oschina.net/u/3584467/blog/2991307

    展开全文
  • 1.什么是Maven Maven 是一个项目管理工具,它包含了一个项目对象模 型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖 理系统(Dependency ...以上是一个大牛给的定义...
  • 在GitLab 8.8中引入。 介绍 管道是持续集成,交付和部署顶级组件。 管道包括: 定义要运行作业作业。例如,代码编译或测试运行。 定义何时以及如何运行阶段。例如,该测试仅在代码编译后运行。 ...
  • Oracle 应用管道函数时 pipelined 出现PLS-00653:在PL/SQL 定义域内不允许有聚集/表函数网友说:在实际应用中,为了让PL/SQL 函数返回数据多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成。...
  • 聚合管道是MongoDB2.2版本引入的新功能。它由阶段(Stage)组成,文档在一个阶段处理完毕后,聚合管道会把处理结果传到下一个阶段。 每个阶段用阶段操作符(Stage Operators)定义,在每个阶段操作符中可以用表达式...
  • Oracle 9i 通过引入的管道化表函数纠正了后一种情况。表函数是返回整个行集(通常作为一个集合)函数,可以直接从 SQL 语句中进行查询,就好像它是一个真正数据库表一样。管道化表函数与之相似,但是它像在...
  • JAVA8中接口interface引入方法实现猜想在JAVA8之前java中接口类型旨在定义类型接口规约,并不能拥有自己方法实现,具体实现完全交由实现类自己完成。以普通人和中上阶层为例,为各自子女读大学目标: ...
  • Linux下进程间通信

    2020-12-21 21:03:58
    Linux下进程间通信 文章目录Linux下进程间通信引入管道FIFO与管道区别POSIX共享内存...在Linux下常见有管道、FIFO、POSIX定义的共享内存,信号量和消息队列、System V定义的共享内存,信号量和消息队列,以
  • 这两个长度尺度的存在描述了约束通量管的固有形状,并且是QCD中约束的双重超导体模型的特征。 结果,计算了夸克约束电位,并在SU(3)双QCD配方的红外扇区中构造了弦张力的最终表达。 此外,随着动态夸克的引入,...
  • 有时候我们对 dependencies 和 dependencyManagement ...所有在 dependencies 中定义的依赖都会被在子项目中自动引入,并被子项目继承。 dependencyManagement dependencyManagement 提供是版本号管理方式。 举
  • 有时候我们对 dependencies 和 dependencyManagement 可能会有点晕。我们简单来说这个就常考虑在 parent ...dependencies所有在 dependencies 中定义的依赖都会被在子项目中自动引入,并被子项目继承。dependencyMan...
  • 有时候我们对 dependencies 和 dependencyManagement 可能会有点晕。我们简单来说这个就常考虑在 ...dependencies所有在 dependencies 中定义的依赖都会被在子项目中自动引入,并被子项目继承。dependencyManage...
  • 有时候我们对 dependencies 和 dependencyManagement 可能会有点晕。我们简单来说这个就常考虑在 parent ...dependencies所有在 dependencies 中定义的依赖都会被在子项目中自动引入,并被子项目继承。dependencyMan...
  •  UNIX上进程间通信方式有多种,早期有无名管道、有名管道和信号,后来又引入了IPC对象和套接字。信号是在软件层次上对中断机制一种模拟,是一种异步通信方式。信号可以直接进行用户空间进程和内核进程之间...
  • 要想正确领会工程师在基于AMBA 3 AXI协议设计中所面临设计挑战复杂性,必须首先...AMBA 3 AXI协议:通道能力通道概念的引入使AMBA 3 AXI架构与以前AMBA协议有很大不同。5个独立通道每一个都由一组信息信号组
  • 通过切开三重托,我们得到了由两个托里所包围流形,该托里支持满足Ocneanu代数高维版本状态。 这定义了延伸Drinfel'd double代数结构。 其不可还原表示法,由两个通量和一个电荷标记,表征了环面激发。...
  • 近年来,智慧管网、智慧廊、智慧...如今现实中,这种定义说法实际上在许多地区也早已开始引入落地。智慧管网、智慧廊、智慧水利、智慧水务这四者到底分别代表什么意思,中间有哪些联络和区别,非常值得逐一表明。
  • <BR><BR>自从模块原理引入电力电子技术领域以来,已开发和生产出多种内部电路相联接形式电力半导体模块,诸如双向晶闸、电力MOSFET以及绝缘栅双极型晶闸(IGBT)等模块,使得模块技术得以更...
  • 针对这一问题,结合软件定义网络集中管控、动态管理优势和分布式拒绝服务攻击特点,引入双向流量概念,提出了攻击检测四元组特征,并利用增长型分层自组织映射算法对网络流中提取四元组特征向量快速准确地分析并...
  • 我们知道vuecli最初页面是渲染App.vue这个默认组件,我们自定义组件都得引入到这个大组件中,所以这个大组件定义的样式一般是全局使用, 即 App.vue <style></style> 标签中是不用加scoped, ...
  • 引入中断目的 实现并发活动 实现实时处理 实现故障处理 中断源和中断类型 引起系统中断事件,叫做中断源 中断类型 强迫型中断和自愿型中断 强迫型中断:程序没有预期:例如:I/O中断,外部中断 自愿中断...
  • * 3、Java8为集合类引入了另一个重要概念:流(stream)。一个流通常以一个集合类实例为其数据源, * 然后在其上定义各种操作。流API设计使用了管道(pipelines)模式。 * 对流一次操作会返回另一个流。如同...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 134
精华内容 53
关键字:

引入管的定义