CN106656870A - 一种基于储存端口的二层交换机储存方法 - Google Patents

一种基于储存端口的二层交换机储存方法 Download PDF

Info

Publication number
CN106656870A
CN106656870A CN201510714009.3A CN201510714009A CN106656870A CN 106656870 A CN106656870 A CN 106656870A CN 201510714009 A CN201510714009 A CN 201510714009A CN 106656870 A CN106656870 A CN 106656870A
Authority
CN
China
Prior art keywords
storage
message
switch
request
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510714009.3A
Other languages
English (en)
Other versions
CN106656870B (zh
Inventor
王劲林
丁力
王玲芳
齐卫宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongke Haiwang Technology Co ltd
Original Assignee
Institute of Acoustics CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Acoustics CAS filed Critical Institute of Acoustics CAS
Priority to CN201510714009.3A priority Critical patent/CN106656870B/zh
Publication of CN106656870A publication Critical patent/CN106656870A/zh
Application granted granted Critical
Publication of CN106656870B publication Critical patent/CN106656870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于储存端口的二层交换机储存方法。在一个实施例中,所述方法包括:具有储存端口的交换机启动时,预先建立环形缓冲区;交换机接收储存报文,提取储存报文的净荷部分;将储存报文的净荷部分写入缓存区,并将环形缓冲区中的写指针后移;交换机生成请求报文,储存端口根据请求报文转化为协议报文数据;交换机根据储存设备发送的反馈报文,确定环形缓冲区是否为空;当环形缓冲区为不空,将环形缓冲区中的读指针所指向的缓冲区的净荷部分提取出来,并放置在反馈报文的数据部分,将环形缓冲区的读指针后移。本发明通过储存端口结合预先建立的环形缓存区,实现了交换机在转发层面对储存设备的访问控制。

Description

一种基于储存端口的二层交换机储存方法
技术领域
本发明涉及交换机转发层储存领域,尤其涉及一种基于储存端口的二层交换机储存方法。
背景技术
2009年,美国斯坦福大学clean state研究组提出一种新型的网络架构体系,软件定义网络(SDN),通过将网络的转发层与控制层实现分离,提高网络的可编程性,为核心网络及应用的创新提供了良好的平台。近年来OpenFlow与POF(协议无感知)等技术相继对SDN的思想进行了实现,尤为一提的是POF技术不仅对已有网络协议具有良好的支持,还支持用户自定义的任意的新协议。目前POF软交换机与POF硬件交换机均已经发布,开发人员可以很方便利用POF技术进行一些新应用的设计。POF交换机对接收到的每一个报文都将进行匹配流表项里面所规定的指令,而流表的生成完全由控制器进行控制,开发人员只需对控制器进行编程,便能实现对接收到的帧的任意层执行POF的指令集。
未来网络将从现在的以IP为中心向以内容为中心进行转移,然而当前的路由交换节点并不能支持对内容的长久缓存。由于路由交换节点并未对经过的内容进行缓存,用户每一次都需从内容源提供商获取感兴趣的内容服务,无疑会造成带宽等资源的巨大浪费。通过在转发层支持数据的存取,交换节点可以通过可配置的缓存策略,将网络中经过的流行度高的内容缓存在本地,为以后的用户提供就近服务,从而大大降低对网络带宽的占用以及内容源节点的压力。
本发明针对交换机不能对储存设备进行访问控制的问题,提供了一种基于扩展储存端口支持二层交换机储存的方法。
发明内容
本发明的目的是为了解决现有技术存在的上述不足,提供了一种基于扩展储存端口的二层交换机转发层支持储存的方法,使交换机在转发层面实现了对储存设备的访问控制。
为实现上述目的,本发明实施例提供了一种基于储存端口的二层交换机储存方法,所述方法包括:
步骤1、具有储存端口的交换机启动时,预先建立一个环形缓冲区;
步骤2、交换机接收储存报文,提取储存报文的净荷部分,根据环形缓冲区储存容量,确定是否将储存报文的净荷部分写入缓存区;
步骤3、当环形缓冲区储存容量未满,将储存报文的净荷部分写入缓存区,并将环形缓冲区中的写指针后移;
步骤4、交换机生成一个请求报文,储存端口根据请求报文转化为协议报文数据,储存设备进入储存准备状态;
步骤5、交换机根据储存设备发送的反馈报文,确定环形缓冲区是否为空;
步骤6、当环形缓冲区为不空,将环形缓冲区中的读指针所指向的缓冲区的净荷部分提取出来,并放置在反馈报文的数据部分,将环形缓冲区的读指针后移。
优选地,当环形缓冲区储存容量已满,反馈至交换机的控制单元,丢弃储存报文。
优选地,当环形缓冲区为空,反馈至交换机的控制单元,丢弃储存报文。
优选地,环形缓冲区具有固定储存容量。
优选地,写指针指向可输入数据的空缓冲区。
优选地,读指针指向可提取数据的第一个满缓存区。
优选地,请求报文为读请求、写请求或删除请求中的一种。
优选地,交换机生成一个请求报文的方法具体包括:进入交换机的二层帧,通过流表匹配后执行流表项中的动作,生成一个请求报文或控制器发送一个扩展OpenFlow消息。
优选地,基于储存端口的二层交换机读取方法,具体包括:
步骤1、交换机接收读取报文,储存端口根据请求报文转化为协议报文数据,储存设备进入储存准备状态;
步骤2、交换机根据储存设备发送的反馈报文,为储存设备从储存端口发送的包含内容净荷部分的报文加上协议头部;
步骤3、将包含内容净荷部分的报文和协议头部的报文从原来报文的进入端口转发出去。
优选地,协议为二层协议或iSCSI协议。
本发明提供的一种基于储存端口的二层交换机储存方法,通过带储存端口的二层交换机写入数据到储存设备,当交换机接收到一个需要写入的报文时,先将报文的净荷部分放置在环形缓冲区中,然后产生一请求报文,并向储存端口转发,用于通知储存设备就绪。经过交换机与储存设备的报文交互,交换机最终将环形缓存区当前读指针指向的净荷提取出来从储存端口转发给储存设备,完成报文的写入。
附图说明
图1为本发明实施例提供的一种基于储存端口的二层交换机储存方法流程图;
图2为本发明实施例提供的SDN交换机、SDN控制器、储存设备关系示意图;
图3为本发明实施例提供的交换机写入内容到储存设备示意图;
图4为本发明实施例提供的交换机从储存设备读取内容示意图。
具体实施方式
POF交换机相比其他交换机具有更高的灵活性和可编程性,下面以POF交换机为例,现结合附图和具体实施例,对本发明所提供的提供一种基于扩展储存端口实现二层交换机在转发层支持储存的方法作进一步阐述。
图1为本发明实施例提供的一种基于储存端口的二层交换机储存方法流程图。图1所示,该方法包括:
S101、具有储存端口的交换机启动时,预先建立一个环形缓冲区;
具体地,储存端口既可对应逻辑上的端口,也可对应物理上的端口、可以配置,也可以固化;对于可配置的储存端口,既可以支持静态配置,也可以支持动态配置,如对于SDN(软件定义内容网络)交换机可以通过SDN控制器进行配置。带储存端口的交换机在启动时预先建立一个环形缓冲区。
S102、交换机接收储存报文,提取储存报文的净荷部分,根据环形缓冲区储存容量,确定是否将储存报文的净荷部分写入缓存区;
具体地,当交换机收到一个需要写入到储存设备的报文后,提取报文的净荷部分,检查环形缓冲区是否已满。
S103、当环形缓冲区储存容量未满,将储存报文的净荷部分写入缓存区,并将环形缓冲区中的写指针后移;
具体地,环形缓冲区若不满,则将报文的净荷部分写入到缓存区中,同时将环形缓冲区中的写指针后移;环形缓冲区若满,则将通知控制器(对于SDN交换机来说),环形缓存区已满,丢弃该报文。
S104、交换机生成一个请求报文,储存端口根据请求报文转化为协议报文数据,储存设备进入储存准备状态;
具体地,交换机产生一个报文,指明请求操作类型(读、写、删除等,这里为写请求),然后向储存端口转发,储存端口的驱动将写请求报文转化为约定的协议报文数据(如采用自定义的二层协议或iSCSI协议等),用于通知储存设备进入写准备状态。另外,进入交换机的二层帧,通过流表匹配后执行流表项中的动作(即生成一个请求报文)或控制器发送一个扩展OpenFlow消息,交换机调用此方法生成一个请求报文等。
S105、交换机根据储存设备发送的反馈报文,确定环形缓冲区是否为空;
S106、当环形缓冲区为不空,将环形缓冲区中的读指针所指向的缓冲区的净荷部分提取出来,并放置在反馈报文的数据部分,将环形缓冲区的读指针后移。
具体地,交换机收到储存设备的“写就绪”报文后,检查环形缓冲区是否为空,若不为空,则将环形缓冲区的读指针所指向的缓冲区的净荷部分提取出来,并将提取出来的净荷部分放置在“写就绪”报文的数据部分,操作完成后将环形缓存区的读指针后移;若为空,则将通知控制器(对于SDN交换机来说),环形缓存区为空,丢弃该报文。
优选地,环形缓冲区具有固定储存容量。
具体地,环形缓冲区是在交换机启动时预先分配的,具有固定大小。
优选地,写指针指向可输入数据的空缓冲区。
优选地,读指针指向可提取数据的第一个满缓存区。
具体地,环形缓冲区维护2个指针,读指针与写指针,其中读指针始终指向可以提取数据的第一个满缓存区,写指针始终指向可以输入数据的一个空缓冲区。
图2为本发明实施例提供的SDN交换机、SDN控制器、储存设备关系示意图。如图2所示,首先要确定交换机需要对网络中哪一种类型的数据包进行缓存,这可以通过对控制器进行编程来实现。在本场景中,假定交换机与储存设备之间的通信协议为SSCP协议,假定交换机采用以太网报文,在以太网报文中CCN(内容中心网络)对应的EtherType为0x0011,EtherType后1个字节表示数据包的类型字段Type,其中类型Type字段0x01字段代表兴趣包,类型Type字段0x02代表内容包,控制器在下发给交换机的流表中配置类型为EtherType为0x0011,Type为0x02的内容包需要写入到储存设备中,EtherType为0x0011,Type为0x01的兴趣包需要从储存设备中读取内容。
图3为本发明实施例提供的交换机写入内容到储存设备示意图。如图3所示,在一个例子中,交换机接收到EtherType为0x0011,Type为0x02的内容包。交换机将执行匹配流表中的指令,这些指令包括:(1)对环形缓冲区操作的指令:将会提取内容包中的净荷部分写入到缓存区中;(2)向储存设备发起初始请求(包括读,写,删除等操作)的指令:通知储存设备进入写请求阶段。储存设备的请求分发线程收到类型为写请求的SSCP报文后将报文放入到写请求队列中。储存设备的请求处理线程将从写请求队列中取出一个请求,同时将储存设备的当前状态从WAIT_REQUEST状态更改为Prepare_Write状态,经过一组报文的交互后,交换机最终收到储存设备的“写就绪”报文,此时交换机将从环形缓冲区中取出报文净荷放置在“写就绪”报文的数据部分,并通过储存端口转发给储存设备,储存设备收到该报文后完成报文的真正写入。
图4为本发明实施例提供的交换机从储存设备读取内容示意图。如图4所示,在一个例子中,交换机接收到EtherType为0x0011,Type为0x01的兴趣包。交换机将执行匹配流表中的指令,这些指令包括,向储存设备发起初始请求(包括读、写、删除等操作)的指令:通知储存设备进入读请求阶段。储存设备的请求分发线程将收到类型为读请求的SSCP报文后将报文放入到读请求队列中。储存设备的请求处理线程将从读请求队列中取出一个请求,同时将储存设备的状态的当前状态从WAIT_REQUEST状态更改为Prepare_Read状态,经过一组报文的交互后,储存设备将读取的内容放入到“读完成”报文的数据部分,交换机收到此报文后加上CCN协议头部,然后从兴趣包进入端口转发出去。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机储存器(RAM)、内存、只读储存器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的储存介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于储存端口的二层交换机储存方法,其特征在于,该方法包括以下步骤:
步骤1、具有储存端口的交换机启动时,预先建立一个环形缓冲区;
步骤2、交换机接收储存报文,提取所述储存报文的净荷部分,根据所述环形缓冲区储存容量,确定是否将所述储存报文的净荷部分写入缓存区;
步骤3、当所述环形缓冲区储存容量未满,将所述储存报文的净荷部分写入缓存区,并将环形缓冲区中的写指针后移;
步骤4、交换机生成一个请求报文,储存端口根据所述请求报文转化为协议报文数据,储存设备进入储存准备状态;
步骤5、交换机根据储存设备发送的反馈报文,确定环形缓冲区是否为空;
步骤6、当环形缓冲区为不空,将环形缓冲区中的读指针所指向的缓冲区的净荷部分提取出来,并放置在反馈报文的数据部分,将环形缓冲区的读指针后移。
2.根据权利要求1所述的方法,其特征在于,当所述环形缓冲区储存容量已满,反馈至交换机的控制单元,丢弃所述储存报文。
3.根据权利要求1所述的方法,其特征在于,当环形缓冲区为空,反馈至交换机的控制单元,丢弃所述储存报文。
4.根据权利要求1所述的方法,其特征在于,所述环形缓冲区具有固定储存容量。
5.根据权利要求1所述的方法,其特征在于,所述写指针指向可输入数据的空缓冲区。
6.根据权利要求1所述的方法,其特征在于,所述读指针指向可提取数据的第一个满缓存区。
7.根据权利要求1所述的方法,其特征在于,所述请求报文为读请求、写请求或删除请求中的一种。
8.根据权利要求1所述的方法,其特征在于,交换机生成一个请求报文的方法具体包括:进入交换机的二层帧,通过流表匹配后执行流表项中的动作,生成一个请求报文或控制器发送一个扩展OpenFlow消息。
9.根据权利要求1所述的方法,其特征在于,基于储存端口的二层交换机读取方法,具体包括:
步骤1、交换机接收读取报文,储存端口根据所述请求报文转化为协议报文数据,储存设备进入储存准备状态;
步骤2、交换机根据储存设备发送的反馈报文,为储存设备从储存端口发送的包含内容净荷部分的报文加上协议头部;
步骤3、将包含内容净荷部分的报文和协议头部的报文从原来报文的进入端口转发出去。
10.根据权利要求9所述的方法,其特征在于,所述协议为二层协议或iSCSI协议。
CN201510714009.3A 2015-10-28 2015-10-28 一种基于储存端口的二层交换机储存方法 Active CN106656870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510714009.3A CN106656870B (zh) 2015-10-28 2015-10-28 一种基于储存端口的二层交换机储存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510714009.3A CN106656870B (zh) 2015-10-28 2015-10-28 一种基于储存端口的二层交换机储存方法

Publications (2)

Publication Number Publication Date
CN106656870A true CN106656870A (zh) 2017-05-10
CN106656870B CN106656870B (zh) 2020-04-17

Family

ID=58829447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510714009.3A Active CN106656870B (zh) 2015-10-28 2015-10-28 一种基于储存端口的二层交换机储存方法

Country Status (1)

Country Link
CN (1) CN106656870B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107241409A (zh) * 2017-06-05 2017-10-10 武汉虹信通信技术有限责任公司 用于lte中rlc与相邻层的数据传输方法
CN111200594A (zh) * 2019-12-20 2020-05-26 华为技术有限公司 接收数据的方法、装置、数据接收设备和存储介质
CN112235204A (zh) * 2020-10-13 2021-01-15 中移(杭州)信息技术有限公司 一种数据上报方法、系统、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257457A (zh) * 2008-03-31 2008-09-03 华为技术有限公司 网络处理器复制报文的方法和网络处理器
CN102591815A (zh) * 2011-12-27 2012-07-18 Tcl集团股份有限公司 一种用环形数据缓冲区读写批量数据的方法及装置
CN104506456A (zh) * 2014-12-26 2015-04-08 上海斐讯数据通信技术有限公司 限制交换机入口丢包的方法
CN104539490A (zh) * 2015-01-28 2015-04-22 盛科网络(苏州)有限公司 基于交换芯片实现报文高速统计的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257457A (zh) * 2008-03-31 2008-09-03 华为技术有限公司 网络处理器复制报文的方法和网络处理器
CN102591815A (zh) * 2011-12-27 2012-07-18 Tcl集团股份有限公司 一种用环形数据缓冲区读写批量数据的方法及装置
CN104506456A (zh) * 2014-12-26 2015-04-08 上海斐讯数据通信技术有限公司 限制交换机入口丢包的方法
CN104539490A (zh) * 2015-01-28 2015-04-22 盛科网络(苏州)有限公司 基于交换芯片实现报文高速统计的方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107241409A (zh) * 2017-06-05 2017-10-10 武汉虹信通信技术有限责任公司 用于lte中rlc与相邻层的数据传输方法
CN111200594A (zh) * 2019-12-20 2020-05-26 华为技术有限公司 接收数据的方法、装置、数据接收设备和存储介质
CN111200594B (zh) * 2019-12-20 2021-07-16 华为技术有限公司 接收数据的方法、装置、数据接收设备和存储介质
CN112235204A (zh) * 2020-10-13 2021-01-15 中移(杭州)信息技术有限公司 一种数据上报方法、系统、电子设备和存储介质
CN112235204B (zh) * 2020-10-13 2023-04-07 中移(杭州)信息技术有限公司 一种数据上报方法、系统、电子设备和存储介质

Also Published As

Publication number Publication date
CN106656870B (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
JP6938766B2 (ja) パケット制御方法およびネットワーク装置
CN110495111A (zh) 可缩放演进分组核心
CN108075920A (zh) 一种视联网终端的管理方法和系统
CN104320410A (zh) 基于http的全业务cdn系统及其工作方法
CN105684382A (zh) 报文的控制方法、交换机及控制器
CN107005460A (zh) 一种网关配置方法和网关设备
CN106453625B (zh) 信息同步方法及高可用性集群系统
CN107979760A (zh) 一种直播视频的查看方法和装置
CN110366145A (zh) 通信方法、装置及系统
CN106656870A (zh) 一种基于储存端口的二层交换机储存方法
CN108173803A (zh) 一种通过视联网访问互联网的方法及视联猫服务端
CN107959658B (zh) 一种网络会议数据同步方法及其系统
EP3425860B1 (en) Tunnel type selection methods and apparatuses
CN105009520B (zh) 用于在通信网络中传送内容的方法及其装置
WO2020142253A1 (en) A system and method of data communication
CN109379209A (zh) 一种视联网存储服务的升级方法和装置
CN107888938A (zh) 一种网络视频播放方法及其装置
CN104702498B (zh) 一种通过协调保护减少设备间光连接数量的方法及装置
CN110213334A (zh) 一种共享文件的传输方法及装置
CN109857591A (zh) 一种传输数据确认的方法和装置
CN104486290B (zh) 一种基于OpenFlow的流媒体云透明服务装置
CN109889775A (zh) 一种数据超时处理的方法和装置
CN105027515B (zh) 用于在内容传输系统中处理数据的设备和方法
CN109151061A (zh) 一种数据存储方法和装置
US10530823B2 (en) Network stream processing to ensuring a guarantee that each record is accounted for exactly once

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210728

Address after: Room 1601, 16th floor, East Tower, Ximei building, No. 6, Changchun Road, high tech Industrial Development Zone, Zhengzhou, Henan 450001

Patentee after: Zhengzhou xinrand Network Technology Co.,Ltd.

Address before: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District

Patentee before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221230

Address after: No. 2180, 2nd Floor, Building D, Building 33, No. 99, Kechuang 14th Street, Economic and Technological Development Zone, Daxing District, Beijing 100176

Patentee after: Beijing Zhongke Haiwang Technology Co.,Ltd.

Address before: Room 1601, 16th floor, East Tower, Ximei building, No. 6, Changchun Road, high tech Industrial Development Zone, Zhengzhou, Henan 450001

Patentee before: Zhengzhou xinrand Network Technology Co.,Ltd.