CN111314227A - 业务路径可编程方法及系统架构 - Google Patents

业务路径可编程方法及系统架构 Download PDF

Info

Publication number
CN111314227A
CN111314227A CN202010181943.4A CN202010181943A CN111314227A CN 111314227 A CN111314227 A CN 111314227A CN 202010181943 A CN202010181943 A CN 202010181943A CN 111314227 A CN111314227 A CN 111314227A
Authority
CN
China
Prior art keywords
hardware
component
dma engine
memory access
switch
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
CN202010181943.4A
Other languages
English (en)
Other versions
CN111314227B (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.)
Shenzhen Yunchuangtiandi Information Technology Co ltd
Original Assignee
Ucloud Technology Co ltd
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 Ucloud Technology Co ltd filed Critical Ucloud Technology Co ltd
Priority to CN202010181943.4A priority Critical patent/CN111314227B/zh
Publication of CN111314227A publication Critical patent/CN111314227A/zh
Application granted granted Critical
Publication of CN111314227B publication Critical patent/CN111314227B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种业务路径可编程方法及系统架构,其中方法应用于系统架构中的处理设备,所述系统架构还包括与所述处理设备相连的内存访问硬件模块,内存访问硬件模块设置于硬件组件之间,且,硬件组件外设置有旁路组件;所述方法包括:所述处理设备存储有依据用户需求匹配的业务路径编程后获得的软件配置和路由配置;通过所述软件配置和所述路由配置、调整旁路组件的工作模式和/或内存访问硬件模块的工作模式来调整系统架构,于所述系统架构中实现与用户需求匹配的业务路径。本发明可以根据用户需求灵活调整硬件架构和软件架构,灵活调整业务路径,从而提高系统架构的适用性和灵活性。

Description

业务路径可编程方法及系统架构
技术领域
本申请涉及计算机及芯片领域,尤其涉及一种业务路径可编程方法及系统架构。
背景技术
随着互联网的快速发展,系统架构越来越大、支持的业务场景也越来越多。为了支持越来越多的业务场景,目前系统架构大部分为软件架构和硬件架构的混合设计。
系统架构可以实现多个功能,每个功能对应的业务数据于系统架构中按照指定的业务路径处理(例如,A硬件处理、进入B软件处理、进入C软件处理、D硬件处理、结束)。也即业务数据在软件架构和硬件架构之间交互,由软件架构处理部分业务操作,由硬件架构处理部分业务操作,从而完成一个业务路径的执行过程。
在实际使用过程中会根据用户需求来调整业务路径,通常情况下硬件架构成型后不会轻易改变,通常会在硬件架构的基础上调整软件架构,以此方式来添加新功能的业务路径或更新已有功能的业务路径。
但是,由于硬件架构已经确定,所以很大程度上会限制软件架构的调整范围,这导致能够业务路径的变更范围有限进而限制系统架构所适用的业务场景和迭代更新过程。
发明内容
鉴于此,本申请提供一种业务路径可编程方法及系统架构,可以根据用户需求灵活调整硬件架构和软件架构,灵活调整业务路径,从而提高系统架构的适用性和灵活性。
为了实现上述目的,本发明提供了下述技术特征:
一种业务路径可编程方法,应用于系统架构中的处理设备,所述系统架构还包括与所述处理设备相连的内存访问硬件模块,内存访问硬件模块设置于硬件组件之间,且,硬件组件外设置有旁路组件;所述方法包括:
所述处理设备存储有依据用户需求匹配的业务路径编程后获得的软件配置和路由配置;通过所述软件配置和所述路由配置、调整旁路组件的工作模式和/或内存访问硬件模块的工作模式来调整系统架构,于所述系统架构中实现与用户需求匹配的业务路径。
可选的,所述通过所述软件配置和所述路由配置、调整旁路组件的工作模式和/或内存访问硬件模块的工作模式来调整系统架构包括:
通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用直通模式来调整调整系统架构;和/或,
通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用插入软件处理模式来调整调整系统架构;和/或,
通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用替换硬件处理模式来调整调整系统架构;和/或,
通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用硬件加速单处理模式来调整调整系统架构;和/或,
通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用硬件加速多处理模式来调整调整系统架构;和/或,
通过所述软件配置和所述路由配置调整旁路组件的工作模式,采用硬件旁路模式来调整调整系统架构。
可选的,在第一硬件组件和第二硬件组件设置第一内存访问硬件模块,且,第一内存访问硬件模块与所述处理设备相连;所述第一内存访问硬件模块包括:
用于连接第一硬件组件的第一开关组件1,和,用于连接第二硬件组件的第一开关组件2,且,所述第一开关组件1连接所述第一开关组件2;
与所述第一开关组件1连接的第一DMA引擎1,与所述第一开关组件2连接的第一DMA引擎2;
与所述第一DMA引擎1和第一DMA引擎2连接第一开关组件3,且,所述第一开关组件3连接所述处理设备;
则所述通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用直通模式来调整调整系统架构,包括:
所述处理设备控制第一开关组件1导通第一硬件组件,控制第一开关组件2导通第二硬件组件,于第一硬件组件和第二硬件组件之间实现直通模式。
可选的,所述通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用插入软件处理模式来调整调整系统架构,包括:
所述处理设备控制第一开关组件1导通第一硬件组件,控制第一开关组件2导通第二硬件组件,控制第一DMA引擎1和第一DMA引擎2处于工作状态;
第一DMA引擎1从第一硬件组件提取业务数据发送至处理设备,经处理设备的软件模块处理后,经第一DMA引擎2发送至第二硬件组件;或者,
第一DMA引擎2从第二硬件组件提取业务数据发送至处理设备,经处理设备的软件模块处理后,经第一DMA引擎1发送至第一硬件组件。
可选的,在第二硬件组件和第三硬件组件设置第二内存访问硬件模块,且,第二内存访问硬件模块与所述处理设备相连;其中,所述第二内存访问硬件模块包括:
用于连接第二硬件组件的第二开关组件1,和,用于连接第三硬件组件的第二开关组件2,且,所述第二开关组件1连接所述第二开关组件2;
与所述第二开关组件1连接的第二DMA引擎1,与所述第二开关组件2连接的第二DMA引擎2;
与所述第二DMA引擎1和第二DMA引擎2连接第二开关组件3,且,所述第二开关组件3连接所述处理设备;
则所述通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用替换硬件处理模式来调整调整系统架构,包括:
所述处理设备控制第一开关组件1导通第一硬件组件,控制第二开关组件2导通第三硬件组件,控制第一DMA引擎1和第二DMA引擎2处于工作状态;
第一DMA引擎1从第一硬件组件提取业务数据发送至处理设备,经处理设备的软件模块处理后或不经软件模块处理,经第二DMA引擎2发送至第三硬件组件;或者,
第二DMA引擎2从第三硬件组件提取业务数据发送至处理设备,经处理设备的软件模块处理或不经软件模块处理,经第二DMA引擎2发送至第一硬件组件。
可选的,通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用硬件加速单处理模式来调整调整系统架构,包括:
所述处理设备控制第一开关组件2导通第二硬件组件,控制第二开关组件1导通第二硬件组件,控制第一DMA引擎2和第二DMA引擎1处于工作状态;
处理设备的第一软件模块输出业务数据经第一DMA引擎2发送至第二硬件模块,经第二硬件模块硬件加速处理后,经第二DMA引擎1发送至处理设备的第二软件模块。
可选的,在第三硬件组件和第四硬件组件之间设置第三内存访问硬件模块,且,第三内存访问硬件模块与所述处理设备相连;其中所述第三内存访问硬件模块包括:
用于连接第三硬件组件的第三开关组件1,和,用于连接第四硬件组件的第三开关组件2,且,所述第三开关组件1连接所述第三开关组件2;
与所述第三开关组件1连接的第三DMA引擎1,与所述第三开关组件2连接的第三DMA引擎2;
与所述第三DMA引擎1和第三DMA引擎2连接第三开关组件3,且,所述第三开关组件3连接所述处理设备;
则通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用硬件加速多处理模式来调整调整系统架构,包括:
所述处理设备控制第一开关组件2导通第二硬件组件,控制第二开关组件1导通第二硬件组件,控制第二开关组件2导通第三硬件组件,控制第三开关组件1导通第三硬件组件,控制第一DMA引擎2和第三DMA引擎1处于工作状态;
所述处理设备的第一软件模块输出业务数据经第一DMA引擎2发送至第二硬件组件,经第二硬件组件加速处理后,通过直通模式发送至第三硬件组件进行再次加速处理后,经第三DMA引擎1发送至处理设备的第二软件模块。
可选的,所述通过所述软件配置和所述路由配置调整旁路组件的工作模式,采用硬件旁路模式来调整调整系统架构,包括:
所述处理设备控制旁路组件处于旁路模式,以绕过硬件组件。
可选的,所述处理设备以队列为单位执行业务路径可编程方法。
一种系统架构,包括:
在硬件组件外设置旁路组件,在硬件组件之间设置内存访问硬件模块,且,内存访问硬件模块与处理设备相连;
其中,所述内存访问硬件模块包括:
用于连接硬件组件的开关组件1,和,用于连接其它硬件组件的开关组件2,且,所述开关组件1连接所述开关组件2;
与所述开关组件1连接的DMA引擎1,与所述开关组件2连接的DMA引擎2;
与所述DMA引擎1和DMA引擎2连接开关组件3,且,所述开关组件3连接处理设备。
通过以上技术手段,可以实现以下有益效果:
本发明在硬件组件外设置旁路组件,所述处理设备通过软件配置控制旁路组件的工作模式,从而实现硬件架构中是否旁路硬件组件的调整,并通过路由配置来更新业务路径。
本发明在硬件组件之间设置内存访问硬件模块,且,内存访问硬件模块与处理设备相连;处理设备通过软件配置控制旁路组件的工作模式来更新系统架构,实现硬件组件之间的业务数据交互,以及,硬件组件与处理设备中软件模块的数据交互,以及,在更新系统架构基础上通过路由配置来更新业务路径。
本发明中通过控制旁路组件和内存访问硬件模块,可以实现根据用户需求灵活调整硬件架构和软件架构,从而实现业务路径可编程的目的,提高系统架构的适用性和灵活性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例公开的一种系统架构的结构示意图;
图1b为本申请实施例公开的一种内存访问硬件模块的结构示意图;
图2为本申请实施例公开的一种业务路径可编程方法的流程图;
图3为本申请实施例公开的一种采用直通模式来调整调整系统架构的示意图;
图4为本申请实施例公开的一种采用插入软件处理模式来调整调整系统架构的示意图;
图5为本申请实施例公开的一种采用替换硬件处理模式来调整调整系统架构的示意图;
图6为本申请实施例公开的一种采用硬件加速单处理模式来调整调整系统架构的示意图;
图7为本申请实施例公开的一种硬件加速多处理模式来调整调整系统架构的示意图;
图8为本申请实施例公开的一种采用硬件旁路模式来调整调整系统架构的示意图。
具体实施方式
技术术语:
DMA,Direct Memory Access,直接内存存取。
ARB:arbiter,仲裁器,多路选择开关。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1a,本发明提供了一种系统架构,包括:
在硬件组件外设置旁路组件,在硬件组件之间设置内存访问硬件模块,且,内存访问硬件模块与处理设备相连。
处理设备为处理器(CPU)和内存(Memory)的集合,处理设备、内存访问硬件模块和硬件组件设置于同一电路板上,或者,设置于同一芯片中。
参见图1b,本发明提供了一种内存访问硬件模块包括:
用于连接硬件组件的开关组件1,和,用于连接其它硬件组件的开关组件2,且,所述开关组件1连接所述开关组件2。
与所述开关组件1连接的DMA引擎1,与所述开关组件2连接的DMA引擎2。
与所述DMA引擎1和DMA引擎2连接开关组件3,且,所述开关组件3连接处理设备。
图1b中,DMA引擎1下对应一个硬件组件,DMA引擎2下对应一个硬件组件,实际情况下可以根据实际应用场景,在每个DMA引擎下对应多个硬件组件,对此不做限定。
在图1a和图1b所示的系统结构之上,本发明提供一种业务路径可编程方法,应用于图1a和图1b所示的系统架构中的处理设备。
本发明可以应用于云服务场景,在云服务场景下,云服务会接收不同租户的不同用户需求。技术人员可以根据用户需求来建立业务路径或更新已有的业务路径,从而确定出与用户需求匹配的业务路径。
以加密功能为例,有的租户对应的业务数据需要加密算法A进行加密,可以根据用户需求建立执行加密算法A的业务路径。有的租户对应的业务数据需要加密算法B进行加密,则可以根据用户需求建立执行加密算法B的业务路径(此处需要绕过加密算法A)。有的租户对应的业务数据不需要加密,则构建跳过加密算法的业务路径。当然,本发明可以适用于其它应用场景,对此不做限定。
在确定出与用户需求匹配的业务路径后,可以依据用户需求匹配的业务路径按照软件编程方式,获得软件配置和路由配置。此处的软件配置和路由配置中涉及到系统架构中旁路组件和内存访问硬件模块的工作模式。
参见图2,本发明提供一种业务路径可编程方法,包括:
步骤S201:处理设备存储有依据用户需求匹配的业务路径编程后获得的软件配置和路由配置。
可以理解的是,一个租户在云服务上可以构建多个功能,每个功能可以对应一个队列,用于存储该功能的业务数据。可以预先根据该功能确定对应的业务路径,并基于业务路径来构建对应的软件配置和路由配置,以便在系统架构中实现该业务路径。处理设备会存储多个队列对应的软件配置和路由配置。
步骤S202:通过所述软件配置和所述路由配置、调整旁路组件的工作模式和/或内存访问硬件模块的工作模式来调整系统架构,于所述系统架构中实现与用户需求匹配的业务路径。
在某个队列的业务数据需处理时,处理设备会按照该队列对应的软件配置和路由配置来调整系统架构,以便于系统架构中实现该队列的业务路径。在其它队列需处理时,处理设备会按照其它队列对应的软件配置和路由配置来调整系统架构,以便于系统架构中实现该队列的业务路径。
也即,处理设备以队列为单位执行业务路径可编程方法,实现队列(通道)级别的业务路径可编程方法。
可选的,根据不同的应用场景本发明提供了六种调整系统架构的方式,在调整系统架构的过程中六种调整系统架构方式可以根据实际业务路径来搭配使用。
也即通过所述软件配置和所述路由配置、调整旁路组件的工作模式和/或内存访问硬件模块的工作模式来调整系统架构包括:
第一种:通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用直通模式来调整系统架构;和/或,
第二种:通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用插入软件处理模式来调整系统架构;和/或,
第三种:通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用替换硬件处理模式来调整系统架构;和/或,
第四种:通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用硬件加速单处理模式来调整系统架构;和/或,
第五种:通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用硬件加速多处理模式来调整系统架构;和/或,
第六种:通过所述软件配置和所述路由配置调整旁路组件的工作模式,采用硬件旁路模式来调整系统架构。
下面分别以具体实例对上述六种方式进行举例说明:
第一种:采用直通模式来调整系统架构。直通模式适用于原来两个硬件组件之间的直接业务数据交互。
参见图3,在第一硬件组件和第二硬件组件设置第一内存访问硬件模块,且,第一内存访问硬件模块与所述处理设备相连;所述第一内存访问硬件模块包括:
用于连接第一硬件组件的第一开关组件1,和,用于连接第二硬件组件的第一开关组件2,且,所述第一开关组件1连接所述第一开关组件2;
与所述第一开关组件1连接的第一DMA引擎1,与所述第一开关组件2连接的第一DMA引擎2;
与所述第一DMA引擎1和第一DMA引擎2连接第一开关组件3,且,所述第一开关组件3连接所述处理设备;
则所述通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用直通模式来调整系统架构,包括:
所述处理设备控制第一开关组件1导通第一硬件组件,控制第一开关组件2导通第二硬件组件,于第一硬件组件和第二硬件组件之间实现直通模式,详见图示中虚线所示路径。
第二种:采用插入软件处理模式来调整调整系统架构。插入软件处理模式适用于原来两个直连硬件组件之间添加软件模块的处理操作。
参见图4,处理设备控制第一开关组件1导通第一硬件组件,控制第一开关组件2导通第二硬件组件,控制第一DMA引擎1和第一DMA引擎2处于工作状态;
第一DMA引擎1从第一硬件组件提取业务数据发送至处理设备,经处理设备的软件模块处理后,经第一DMA引擎2发送至第二硬件组件;或者,
第一DMA引擎2从第二硬件组件提取业务数据发送至处理设备,经处理设备的软件模块处理后,经第一DMA引擎1发送至第一硬件组件,详见图示中虚线所示的路径。
第三种:采用替换硬件处理模式来调整调整系统架构。替换硬件处理模式适用于需要绕过某些硬件组件的情况。
参见图5,在第二硬件组件和第三硬件组件设置第二内存访问硬件模块,且,第二内存访问硬件模块与所述处理设备相连;其中,所述第二内存访问硬件模块包括:
用于连接第二硬件组件的第二开关组件1,和,用于连接第三硬件组件的第二开关组件2,且,所述第二开关组件1连接所述第二开关组件2;
与所述第二开关组件1连接的第二DMA引擎1,与所述第二开关组件2连接的第二DMA引擎2;
与所述第二DMA引擎1和第二DMA引擎2连接第二开关组件3,且,所述第二开关组件3连接所述处理设备;
则所述通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,包括:
所述处理设备控制第一开关组件1导通第一硬件组件,控制第二开关组件2导通第三硬件组件,控制第一DMA引擎1和第二DMA引擎2处于工作状态;
第一DMA引擎1从第一硬件组件提取业务数据发送至处理设备,经处理设备的软件模块处理后或不经软件模块处理,经第二DMA引擎2发送至第三硬件组件;或者,
第二DMA引擎2从第三硬件组件提取业务数据发送至处理设备,经处理设备的软件模块处理或不经软件模块处理,经第二DMA引擎2发送至第一硬件组件。
图5中以绕过第二硬件组件为例进行举例说明,需要指出的是,可以根据实际情况来绕过多个硬件组件,本发明并不限定硬件组件数量。
第四种:采用硬件加速单处理模式来调整调整系统架构。硬件加速单处理模式适用于原来由软件处理,现在采用硬件加速处理,提高处理速度的情况。
参见图6,处理设备控制第一开关组件2导通第二硬件组件,控制第二开关组件1导通第二硬件组件,控制第一DMA引擎2和第二DMA引擎1处于工作状态;
处理设备的第一软件模块输出业务数据经第一DMA引擎2发送至第二硬件模块,经第二硬件模块硬件加速处理后,经第二DMA引擎1发送至处理设备的第二软件模块。
第五种:采用硬件加速多处理模式来调整调整系统架构。硬件加速多处理模式原来由软件处理,现在采用多个硬件加速处理,提高处理速度的情况。
参见图7,在第三硬件组件和第四硬件组件之间设置第三内存访问硬件模块,且,第三内存访问硬件模块与所述处理设备相连;其中所述第三内存访问硬件模块包括:
用于连接第三硬件组件的第三开关组件1,和,用于连接第四硬件组件的第三开关组件2,且,所述第三开关组件1连接所述第三开关组件2;
与所述第三开关组件1连接的第三DMA引擎1,与所述第三开关组件2连接的第三DMA引擎2;
与所述第三DMA引擎1和第三DMA引擎2连接第三开关组件3,且,所述第三开关组件3连接所述处理设备;
则通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,,包括:
所述处理设备控制第一开关组件2导通第二硬件组件,控制第二开关组件1导通第二硬件组件,控制第二开关组件2导通第三硬件组件,控制第三开关组件1导通第三硬件组件,控制第一DMA引擎2和第三DMA引擎1处于工作状态;
所述处理设备的第一软件模块输出业务数据经第一DMA引擎2发送至第二硬件组件,经第二硬件组件加速处理后,通过直通模式发送至第三硬件组件进行再次加速处理后,经第三DMA引擎1发送至处理设备的第二软件模块。
图7中采用第二硬件组件和第三硬件组件进行双硬件加速,可以理解的是,可以根据实际情况来进行多硬件加速,对于进行加速操作的硬件组件数量不做限定。
第六种:采用硬件旁路模式来调整调整系统架构。采用硬件旁路模式用于原来经过硬件组件处理,现在采用旁路绕过硬件组件的处理的情况。
参见图8,所述处理设备控制旁路组件处于旁路模式,以绕过硬件组件。
通过上述技术特征可知本申请具有以下有益效果:
本发明提供六种调整系统架构模式,通过六种调整系统架构模式和软件配置可以组合出各种不同的业务路径,使得业务数据可以在各个软件模块和硬件组件之间灵活调整,从而实现可编程的业务路径,进而使得系统架构中业务路径可以灵活多变。由于后期系统架构中业务路径可以灵活调整,所以可以降低前期系统架构设计的压力,同时为业务场景提供更多的灵活性和扩展性。
在系统架构中很多业务有双向通信的需求,因此本发明中硬件组件和内存访问硬件模块之间可以是单向的也可以是双向的。也就是内存访问硬件模块有前端的输入输出接口,也有后端的输入输出接口,且,同一端的输入输出接口会接入同一个内存访问硬件模块。
本发明以队列为单位进行业务路径的调整,实现细粒度的调整方式。在云服务场景中,采用本发明提供的方案可以非常方便的适用于多租户的场景,不但给租户提供个性化的服务,并且优化了硬件架构,客观上也降低硬件成本。
本发明提供的内存访问硬件模块中DMA引擎在常规DMA引擎基础上做了改进,用来支持标准的Virtio接口,这里不局限Virtio接口,也可以是其他标准化的基于生产者消费者模型的接口,软件支持用户态轮训模式驱动。目的是为了软硬件传输性能、支持标准软件驱动以及降低处理设备的负载。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种业务路径可编程方法,其特征在于,应用于系统架构中的处理设备,所述系统架构还包括与所述处理设备相连的内存访问硬件模块,内存访问硬件模块设置于硬件组件之间,且,硬件组件外设置有旁路组件;所述方法包括:
所述处理设备存储有依据用户需求匹配的业务路径编程后获得的软件配置和路由配置;通过所述软件配置和所述路由配置、调整旁路组件的工作模式和/或内存访问硬件模块的工作模式来调整系统架构,于所述系统架构中实现与用户需求匹配的业务路径。
2.如权利要求1所述的方法,其特征在于,所述通过所述软件配置和所述路由配置、调整旁路组件的工作模式和/或内存访问硬件模块的工作模式来调整系统架构包括:
通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用直通模式来调整调整系统架构;和/或,
通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用插入软件处理模式来调整调整系统架构;和/或,
通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用替换硬件处理模式来调整调整系统架构;和/或,
通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用硬件加速单处理模式来调整调整系统架构;和/或,
通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用硬件加速多处理模式来调整调整系统架构;和/或,
通过所述软件配置和所述路由配置调整旁路组件的工作模式,采用硬件旁路模式来调整调整系统架构。
3.如权利要求2所述的方法,其特征在于,在第一硬件组件和第二硬件组件设置第一内存访问硬件模块,且,第一内存访问硬件模块与所述处理设备相连;所述第一内存访问硬件模块包括:
用于连接第一硬件组件的第一开关组件1,和,用于连接第二硬件组件的第一开关组件2,且,所述第一开关组件1连接所述第一开关组件2;
与所述第一开关组件1连接的第一DMA引擎1,与所述第一开关组件2连接的第一DMA引擎2;
与所述第一DMA引擎1和第一DMA引擎2连接第一开关组件3,且,所述第一开关组件3连接所述处理设备;
则所述通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用直通模式来调整调整系统架构,包括:
所述处理设备控制第一开关组件1导通第一硬件组件,控制第一开关组件2导通第二硬件组件,于第一硬件组件和第二硬件组件之间实现直通模式。
4.如权利要求3所述的方法,其特征在于,所述通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用插入软件处理模式来调整调整系统架构,包括:
所述处理设备控制第一开关组件1导通第一硬件组件,控制第一开关组件2导通第二硬件组件,控制第一DMA引擎1和第一DMA引擎2处于工作状态;
第一DMA引擎1从第一硬件组件提取业务数据发送至处理设备,经处理设备的软件模块处理后,经第一DMA引擎2发送至第二硬件组件;或者,
第一DMA引擎2从第二硬件组件提取业务数据发送至处理设备,经处理设备的软件模块处理后,经第一DMA引擎1发送至第一硬件组件。
5.如权利要求3所述的方法,其特征在于,在第二硬件组件和第三硬件组件设置第二内存访问硬件模块,且,第二内存访问硬件模块与所述处理设备相连;其中,所述第二内存访问硬件模块包括:
用于连接第二硬件组件的第二开关组件1,和,用于连接第三硬件组件的第二开关组件2,且,所述第二开关组件1连接所述第二开关组件2;
与所述第二开关组件1连接的第二DMA引擎1,与所述第二开关组件2连接的第二DMA引擎2;
与所述第二DMA引擎1和第二DMA引擎2连接第二开关组件3,且,所述第二开关组件3连接所述处理设备;
则所述通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用替换硬件处理模式来调整调整系统架构,包括:
所述处理设备控制第一开关组件1导通第一硬件组件,控制第二开关组件2导通第三硬件组件,控制第一DMA引擎1和第二DMA引擎2处于工作状态;
第一DMA引擎1从第一硬件组件提取业务数据发送至处理设备,经处理设备的软件模块处理后或不经软件模块处理,经第二DMA引擎2发送至第三硬件组件;或者,
第二DMA引擎2从第三硬件组件提取业务数据发送至处理设备,经处理设备的软件模块处理或不经软件模块处理,经第二DMA引擎2发送至第一硬件组件。
6.如权利要求5所述的方法,其特征在于,通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用硬件加速单处理模式来调整调整系统架构,包括:
所述处理设备控制第一开关组件2导通第二硬件组件,控制第二开关组件1导通第二硬件组件,控制第一DMA引擎2和第二DMA引擎1处于工作状态;
处理设备的第一软件模块输出业务数据经第一DMA引擎2发送至第二硬件模块,经第二硬件模块硬件加速处理后,经第二DMA引擎1发送至处理设备的第二软件模块。
7.如权利要求5所述的方法,其特征在于,在第三硬件组件和第四硬件组件之间设置第三内存访问硬件模块,且,第三内存访问硬件模块与所述处理设备相连;其中所述第三内存访问硬件模块包括:
用于连接第三硬件组件的第三开关组件1,和,用于连接第四硬件组件的第三开关组件2,且,所述第三开关组件1连接所述第三开关组件2;
与所述第三开关组件1连接的第三DMA引擎1,与所述第三开关组件2连接的第三DMA引擎2;
与所述第三DMA引擎1和第三DMA引擎2连接第三开关组件3,且,所述第三开关组件3连接所述处理设备;
则通过所述软件配置和所述路由配置调整内存访问硬件模块的工作模式,采用硬件加速多处理模式来调整调整系统架构,包括:
所述处理设备控制第一开关组件2导通第二硬件组件,控制第二开关组件1导通第二硬件组件,控制第二开关组件2导通第三硬件组件,控制第三开关组件1导通第三硬件组件,控制第一DMA引擎2和第三DMA引擎1处于工作状态;
所述处理设备的第一软件模块输出业务数据经第一DMA引擎2发送至第二硬件组件,经第二硬件组件加速处理后,通过直通模式发送至第三硬件组件进行再次加速处理后,经第三DMA引擎1发送至处理设备的第二软件模块。
8.如权利要求1所述的系统架构,其特征在于,所述通过所述软件配置和所述路由配置调整旁路组件的工作模式,采用硬件旁路模式来调整调整系统架构,包括:
所述处理设备控制旁路组件处于旁路模式,以绕过硬件组件。
9.如权利要求1所述的系统架构,其特征在于,所述处理设备以队列为单位执行业务路径可编程方法。
10.一种系统架构,其特征在于,包括:
在硬件组件外设置旁路组件,在硬件组件之间设置内存访问硬件模块,且,内存访问硬件模块与处理设备相连;
其中,所述内存访问硬件模块包括:
用于连接硬件组件的开关组件1,和,用于连接其它硬件组件的开关组件2,且,所述开关组件1连接所述开关组件2;
与所述开关组件1连接的DMA引擎1,与所述开关组件2连接的DMA引擎2;
与所述DMA引擎1和DMA引擎2连接开关组件3,且,所述开关组件3连接处理设备。
CN202010181943.4A 2020-03-16 2020-03-16 业务路径可编程方法及系统 Active CN111314227B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010181943.4A CN111314227B (zh) 2020-03-16 2020-03-16 业务路径可编程方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010181943.4A CN111314227B (zh) 2020-03-16 2020-03-16 业务路径可编程方法及系统

Publications (2)

Publication Number Publication Date
CN111314227A true CN111314227A (zh) 2020-06-19
CN111314227B CN111314227B (zh) 2022-10-28

Family

ID=71160561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010181943.4A Active CN111314227B (zh) 2020-03-16 2020-03-16 业务路径可编程方法及系统

Country Status (1)

Country Link
CN (1) CN111314227B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195773A1 (en) * 2005-02-17 2006-08-31 Samsung Electronics Co., Ltd. Viterbi decoder architecture for use in software-defined radio systems
CN101237365A (zh) * 2008-01-28 2008-08-06 宁波大学 一种eda网络实验系统及实验方法
US20090187679A1 (en) * 2008-01-20 2009-07-23 Rahoul Puri Universal DMA (Direct Memory Access) Architecture
US20130031281A1 (en) * 2011-07-25 2013-01-31 Oracle International Corporation Using a dma engine to automatically validate dma data paths
US20170177396A1 (en) * 2015-12-22 2017-06-22 Stephen T. Palermo Methods and apparatus for multi-stage vm virtual network function and virtual service function chain acceleration for nfv and needs-based hardware acceleration
US20170310341A1 (en) * 2016-04-20 2017-10-26 SK Hynix Inc. Efficient data path architecture for flash devices
US20180196103A1 (en) * 2013-02-21 2018-07-12 Advantest Corporation Test architecture with an fpga based test board to simulate a dut or end-point
CN108647368A (zh) * 2018-03-13 2018-10-12 北京航空航天大学 基于fpga的动态部分重构系统及方法
CN109194499A (zh) * 2018-08-01 2019-01-11 湖北微源卓越科技有限公司 网络数据流可靠性保护方法
CN109391320A (zh) * 2017-08-14 2019-02-26 艾普仕股份有限公司 网络开关系统
CN110096474A (zh) * 2019-04-28 2019-08-06 北京超维度计算科技有限公司 一种基于可重构计算的高性能弹性计算架构及方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195773A1 (en) * 2005-02-17 2006-08-31 Samsung Electronics Co., Ltd. Viterbi decoder architecture for use in software-defined radio systems
US20090187679A1 (en) * 2008-01-20 2009-07-23 Rahoul Puri Universal DMA (Direct Memory Access) Architecture
CN101237365A (zh) * 2008-01-28 2008-08-06 宁波大学 一种eda网络实验系统及实验方法
US20130031281A1 (en) * 2011-07-25 2013-01-31 Oracle International Corporation Using a dma engine to automatically validate dma data paths
US20180196103A1 (en) * 2013-02-21 2018-07-12 Advantest Corporation Test architecture with an fpga based test board to simulate a dut or end-point
US20170177396A1 (en) * 2015-12-22 2017-06-22 Stephen T. Palermo Methods and apparatus for multi-stage vm virtual network function and virtual service function chain acceleration for nfv and needs-based hardware acceleration
US20170310341A1 (en) * 2016-04-20 2017-10-26 SK Hynix Inc. Efficient data path architecture for flash devices
CN109391320A (zh) * 2017-08-14 2019-02-26 艾普仕股份有限公司 网络开关系统
CN108647368A (zh) * 2018-03-13 2018-10-12 北京航空航天大学 基于fpga的动态部分重构系统及方法
CN109194499A (zh) * 2018-08-01 2019-01-11 湖北微源卓越科技有限公司 网络数据流可靠性保护方法
CN110096474A (zh) * 2019-04-28 2019-08-06 北京超维度计算科技有限公司 一种基于可重构计算的高性能弹性计算架构及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘建军等: "一种主从式动态重配置系统的软件架构技术", 《航空计算技术》 *
马久跃等: "体系结构内可编程数据平面方法", 《计算机研究与发展》 *

Also Published As

Publication number Publication date
CN111314227B (zh) 2022-10-28

Similar Documents

Publication Publication Date Title
CN110784345B (zh) 网络流量处理方法、装置、电子设备及机器可读存储介质
CN109729040B (zh) 协议的选择的方法、设备以及计算机可读介质
WO2021129008A1 (zh) 服务调用方法、装置、设备及介质
CN109996307A (zh) 一种数据路由方法以及终端
CN108228147A (zh) 一种性能数据日志获取方法及装置
US9749238B2 (en) Application labels for data communication
CA2843284C (en) Computer system, computer-implemented method and computer program product for sequencing incoming messages for processing at an application
CN112988223B (zh) 框架集成方法、装置、电子设备及存储介质
CN112766646A (zh) 任务流程的生成、处理方法、装置、设备和存储介质
CN111770122A (zh) 服务通信代理scp注册方法、服务调用方法及网络设备
CN112150030A (zh) 基于多单位多身份的账号管理方法、终端设备及存储介质
WO2021012506A1 (zh) 语音识别系统中的负载均衡实现方法、装置以及计算机设备
CN111314227B (zh) 业务路径可编程方法及系统
CN111010346B (zh) 基于动态路由的报文处理方法、设备、存储介质及装置
CN111131048A (zh) 网络流量转发方法、装置、电子设备及机器可读存储介质
CN111552460A (zh) 功能配置方法、服务器、终端设备及存储介质
CN112866268B (zh) 报文处理方法及系统
CN114844788A (zh) 网络数据分析方法、系统、设备及存储介质
CN109450798A (zh) 路由表信息的管理方法和计算机可读存储介质
US8374593B2 (en) Method of providing mobile application
US20150020159A1 (en) Thin terminal mode-based security information exchange system, terminal, server and method
CN112396511A (zh) 分布式风控变量数据处理方法、装置及系统
CN112817701A (zh) 定时器处理方法、装置、电子设备和计算机可读介质
CN113742079B (zh) K8s七层负载均衡策略实现的方法及应用
CN114731288A (zh) 在集成系统中与应用流的通信

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
TA01 Transfer of patent application right

Effective date of registration: 20220907

Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant after: Shenzhen Yunchuangtiandi Information Technology Co.,Ltd.

Address before: Block B, Building 10#, No. 619, Longchang Road, Yangpu District, Shanghai, 200093

Applicant before: UCloud Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant