CN112925568B - 模块间数据传输方法及控制装置 - Google Patents
模块间数据传输方法及控制装置 Download PDFInfo
- Publication number
- CN112925568B CN112925568B CN202110329356.XA CN202110329356A CN112925568B CN 112925568 B CN112925568 B CN 112925568B CN 202110329356 A CN202110329356 A CN 202110329356A CN 112925568 B CN112925568 B CN 112925568B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- parameter
- storage area
- modules
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种模块间数据传输方法、控制模块以及功能模块。该方法包括:接收第一模块发送的读取请求,所述读取请求包括第二模块的标识;根据所述标识从参数存储区域中查找到所述第二模块的参数数据;将所述参数数据返回给所述第一模块,以使所述第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据,打破功能模块之间的耦合关系,上下级模块不直接相连,而是采用功能模块均与控制模块相连的方法,能够满足流水线技术无法实现的***设计需求,方便各个功能模块独立调试、方便外部接口对于底层的控制、修改或新增代码的时候尽可能的降低修改次数以及修改内容。
Description
技术领域
本公开涉及计算机技术和通信技术领域,尤其是涉及一种模块间数据传输方法、控制装置以及功能模块。
背景技术
在现在的软件或硬件的开发过程中,通常采用流水线技术。流水线技术是一种模块间数据流向的方法,这种方法可以提高***频率、降低寄存器之间的传输时延,保证***在一个较高的时钟频率下运行。
但是,这种方法只适用于数据流向是单向的,且前一个步骤的输出是下一个步骤的输入。这种情况下***调试需要逐级完成,效率比较低。而且***中如果需要各个功能模块都能进行交互,采用这样的设计是难以实现的。
并且,在逻辑开发的过程中,各个功能模块之间总会有数据和参数的相互传递,一旦出现新的需求或者需要修改现有功能,针对接口的修改总是难以避免的。这种情况下不同功能模块的开发人员就需要额外的时间进行交流协商来确定模块的交互接口,修改现有代码或者加入新的功能模块都需要考虑上下级的模块功能和接口。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种模块间数据传输方法、控制模块以及功能模块,至少在一定程度上提升数据交互的效率。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的一方面,提供一种模块间数据传输方法,应用于控制模块,所述方法包括:接收第一模块发送的读取请求,所述读取请求包括第二模块的标识;根据所述标识从参数存储区域中查找到所述第二模块的参数数据;将所述参数数据返回给所述第一模块,以使所述第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。
在本发明的一些示例性实施例中,基于前述方案,所述方法还包括:接收各个模块发送的参数数据以及内容数据,其中,所述参数数据包括用于描述所述内容数据的存储位置的数据;根据记录的各个模块的标识与数据存储区域的对应关系以及所述参数数据,将所述内容数据存储到数据存储区域;根据记录的各个模块的标识与参数存储区域的对应关系,将所述参数数据存储到参数存储区域。
在本发明的一些示例性实施例中,基于前述方案,所述根据记录的各个模块的标识与数据存储区域的对应关系以及所述参数数据,将所述内容数据存储到数据存储区域,包括:根据记录的各个模块的标识与数据存储区域的对应关系,确定所述内容数据在所述数据存储区域中的分配区域;根据所述参数数据,从所述分配区域中确定所述内容数据的子区域;将所述内容数据存储到所述子区域。
在本发明的一些示例性实施例中,基于前述方案,根据所述标识从参数存储区域中查找到所述第二模块的参数数据,包括:从记录的各个模块的标识与参数存储区域的对应关系中确定所述标识对应的所述第二模块的参数数据。
在本发明的一些示例性实施例中,基于前述方案,所述方法还包括:根据每一模块的数据量比重分配所述数据存储区域以及所述参数存储区域,并记录每一模块的标识与数据存储区域的对应关系,以及每一模块的标识与参数存储区域的对应关系。
在本发明的一些示例性实施例中,基于前述方案,若接收到多个第一模块发送的消息读取请求,所述方法还包括:根据所述多个第一模块的优先级排序,依次进行根据每一第一模块发送的消息读取请求中包括的所述第二模块的标识从参数存储区域中查找到各自的第二模块的参数数据,以及将所述参数数据返回给所述每一第一模块,以使每一第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据;其中,所述优先级排序根据每一模块的数据量比重确定。
根据本发明实施例的另一方面,提供一种模块间数据传输方法,应用于第一模块,所述方法包括:向控制模块发送读取请求,所述读取请求中包括第二模块的标识;接收所述控制模块根据所述标识从参数存储区域中查找到的所述第二模块的参数数据;根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。
在本发明的一些示例性实施例中,基于前述方案,所述方法还包括:将接收到的所述参数数据的标志位与前一次接收到的所述第二模块的参数数据的标志位进行比较;若所述标志位不同,根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。
在本发明的一些示例性实施例中,基于前述方案,所述方法还包括:获取所述内容数据;根据所述内容数据以及记录的各个模块的标识与数据存储区域的对应关系,生成所述内容数据对应的参数数据;将所述内容数据以及所述参数数据发送至所述控制模块进行存储。
根据本发明实施例的再一方面,提供一种模块间数据传输的控制模块,所述控制模块包括:请求接收单元,配置为接收第一模块发送的读取请求,所述读取请求包括第二模块的标识;数据查找单元,配置为根据所述标识从参数存储区域中查找到所述第二模块的参数数据;数据返回单元,配置为将所述参数数据返回给所述第一模块,以使所述第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。
在本发明的一些示例性实施例中,基于前述方案,所述控制模块还包括:数据接收单元,配置为接收各个模块发送的参数数据以及内容数据,其中,所述参数数据包括用于描述所述内容数据的存储位置、大小、长度的数据;数据存储单元,配置为根据记录的各个模块的标识与数据存储区域的对应关系以及所述参数数据,将所述内容数据存储到数据存储区域;参数存储单元,配置为根据记录的各个模块的标识与参数存储区域的对应关系,将所述参数数据存储到参数存储区域。
在本发明的一些示例性实施例中,基于前述方案,所述数据存储单位,包括:第一确定子单元,配置为根据记录的各个模块的标识与数据存储区域的对应关系,确定所述内容数据在所述数据存储区域中的分配区域;第二确定子单元,配置为根据所述参数数据,从所述分配区域中确定所述内容数据的子区域;数据存储子单元,配置为将所述内容数据存储到所述子区域。
在本发明的一些示例性实施例中,基于前述方案,所述数据查找单元,配置为:从记录的各个模块的标识与参数存储区域的对应关系中确定所述标识对应的所述第二模块的参数数据。
在本发明的一些示例性实施例中,基于前述方案,所述控制模块还包括:区域分配单元,配置为根据每一模块的数据量比重分配所述数据存储区域以及所述参数存储区域,并记录每一模块的标识与数据存储区域的对应关系,以及每一模块的标识与参数存储区域的对应关系。
在本发明的一些示例性实施例中,基于前述方案,若所述请求接收单元配置为接收到多个第一模块发送的消息读取请求,所述数据查找单元,配置为根据所述多个第一模块的优先级排序,依次进行根据每一第一模块发送的消息读取请求中包括的所述第二模块的标识从参数存储区域中查找到各自的第二模块的参数数据,所述数据返回单元,配置为将所述参数数据返回给所述每一第一模块,以使每一第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据;其中,所述优先级排序根据每一模块的数据量比重确定。
根据本发明实施例的再一方面,提供一种模块间数据传输的功能模块,,所述功能模块包括:请求发送单元,配置为向控制模块发送读取请求,所述读取请求中包括第二模块的标识;参数接收单元,配置为接收所述控制模块根据所述标识从参数存储区域中查找到的所述第二模块的参数数据;数据读取单元,配置为根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。
在本发明的一些示例性实施例中,基于前述方案,所述功能模块还包括:参数比对单元,配置为将接收到的所述参数数据的标志位与前一次接收到的所述第二模块的参数数据的标志位进行比较;所述数据读取单元,配置为若所述标志位不同,根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。
在本发明的一些示例性实施例中,基于前述方案,所述功能模块还包括:数据获取单元,配置为获取所述内容数据;参数生成单元,配置为根据所述内容数据以及记录的各个模块的标识与数据存储区域的对应关系,生成所述内容数据对应的参数数据;发送存储单元,配置为将所述内容数据以及所述参数数据发送至所述控制模块进行存储。
根据本发明实施例的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上所述的方法步骤。
根据本发明实施例的再一方面,提供一种电子设备,其中,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法步骤。
本发明实施例中,本发明实施例中,通过接收第一模块发送的读取请求,所述读取请求包括第二模块的标识;根据所述标识从参数存储区域中查找到所述第二模块的参数数据;将所述参数数据返回给所述第一模块,以使所述第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据,打破功能模块之间的耦合关系,上下级模块不直接相连,而是采用功能模块均与控制模块相连的方法,能够满足流水线技术无法实现的***设计需求,方便各个功能模块独立调试、方便外部接口(例如pc)对于底层的控制、修改或新增代码的时候尽可能的降低修改次数以及修改内容。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是根据一示例性实施例示出的模块间数据传输***的框架图;
图2是根据一示例性实施例示出的模块间数据传输方法的流程图;
图3是根据另一示例性实施例示出的模块间数据传输方法的流程图;
图4是根据一示例性实施例示出的数据存储区域的示意图;
图5是根据再一示例性实施例示出的模块间数据传输方法的流程图;
图6是根据再一示例性实施例示出的模块间数据传输方法的流程图;
图7是根据一示例性实施例示出的一种模块间数据传输的控制模块的结构示意图;
图8是根据一示例性实施例示出的一种模块间数据传输的功能模块的结构示意图;
图9是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
在现有的数据处理***中,往往都会遇到功能模块之间同时传递参数数据和内容数据的情况。本发明实施例在现有流水线技术基础上,将数据链路与参数链路拆散,这种情况下每个功能模块只需要一组接口即可完成一对一,甚至一对多的内容数据以及参数数据传递。
图1是根据一示例性实施例示出的模块间数据传输***的框架图,如图1所示,该***中可以包括第一模块110、第二模块120、控制模块130、参数存储区域190以及数据存储区域150。
其中,第一模块110和第二模块120可以是数据流转过程中的各个功能模块,彼此之间数据存在交互。第一模块110和第二模块120的数目可以是多个。本发明实施例中,第一模块相对于第二模块为数据的读取模块,第二模块相对第一模块为数据的存储模块,第一模块需要读取第二模块的数据,例如,第一模块110可以是计算模块,第二模块120可以是查询模块,第一模块110对第二模块120查询到的数据进行计算。
本发明实施例中,第一模块110也可以作为其他模块的数据存储模块,第二模块120也可以作为其他模块的数据读取模块。以第一模块110为数据的存储模块的第二模块可以是多个,以第二模块120为数据的读取模块的模块也可以是多个。
本发明实施例中,参数存储区域190可以是URAM,数据存储区域150可以是DDR或者HBM,参数存储区域190和数据存储区域150分别针对第一模块110以及第二模块120划分有对应的存储区域。
控制模块130分别与参数存储区域190以及数据存储区域150通过接口连接,通过将第二模块发送的参数数据以及内容数据分别存储至参数存储区域以及数据存储区域,实现了后续根据第一模块发送的读取请求中的第二模块的标识,查找到参数数据,并将参数数据返回至第一模块,以使第一模块根据参数数据读取内容数据。
下面对本发明实施例中的模块间数据传输方法进行详细的说明。
图2是根据一示例性实施例示出的模块间数据传输方法的流程图,本发明实施例中,以控制模块为执行主体进行说明,需要说明的是,控制模块可以是任意的具有计算功能的装置,例如服务器或终端,如图2所示,该方法可以包括但不限于以下流程:
在S210中,接收第一模块发送的读取请求,所述读取请求包括第二模块的标识。
本发明实施例中,第一模块相对第二模块为数据的读取模块。取请求中还可以包括第一模块的标识。
在S220中,根据所述标识从参数存储区域中查找到所述第二模块的参数数据。
本发明实施例中,可以根据每一模块的数据量比重分配所述数据存储区域以及所述参数存储区域,并记录每一模块的标识与数据存储区域的对应关系,以及每一模块的标识与参数存储区域的对应关系。
本发明实施例中,可以根据历史记录中各个模块生成的内容数据以及参数数据的数据量,生成各个模块的数据量比。例如,***中存在n个功能模块,其中功能模块1的数据量占所有功能模块的总数据量的百分比为20%,则功能模块1的数据量比为0.2。
在确定各个模块的数据量比后,根据该数据量比分配数据存储区域以及参数存储区域,并记录每一模块的标识与数据存储区域的对应关系,以及每一模块的标识与参数存储区域的对应关系。例如,将数据存储区域以及参数存储区域分成100等份,功能模块的百分比为0.2,则将数据存储区域以及村参数存储区域的1至20份分配给功能模块1,并记录该对应关系。
当接收到读取请求中的标识后,根据记录的各个模块的标识与参数存储区域的对应关系,可以根据读取请求中的第二模块的标识确定该标识对应的所述第二模块的参数数据。
在S230中,将所述参数数据返回给所述第一模块,以使所述第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。
本发明实施例中,通过接收第一模块发送的读取请求,所述读取请求包括第二模块的标识;根据所述标识从参数存储区域中查找到所述第二模块的参数数据;将所述参数数据返回给所述第一模块,以使所述第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据,打破功能模块之间的耦合关系,上下级模块不直接相连,而是采用功能模块均与控制模块相连的方法,能够满足流水线技术无法实现的***设计需求,方便各个功能模块独立调试、方便外部接口(例如pc)对于底层的控制、修改或新增代码的时候尽可能的降低修改次数以及修改内容。
上述实施例中,不仅实现了非单一流向的数据传输,满足流水线技术无法实现的***设计需求,而且,各个功能模块具有单独控制数据读取的功能,通过与控制模块连接的接口去调用数据,避免了修改了第一模块的数目,就要多一组接口传输的情况。其次,各个功能模块的接口完全一样,避免对功能模块的大幅度修改,如有添加功能的需求只需要添加功能模块即可,其他部分基本不需要修改,当出现问题时定位方便。
本发明实施例在消息交互方面,控制模块与其他功能模块的信息交互采用了全互联设计,支持任意功能模块之间的消息共享。这样的设计,通过增加寄存器组资源(参数存储区域以及数据存储区域)的使用开销,方便了每个功能模块的消息读取,也避免了多个模块同时读取统一状态带来的冲突。而且,控制模块的主要功能是完成功能模块对于参数数据以及内容数据的资源调度。控制模块并不需要知道其他功能模块的功能,也不需要关注其功能,从而降低功能模块修改时对控制模块的修改。
本发明实施例中,控制模块可以不进行根据参数数据直接查找内容数据,是因为进行参数数据的处理以及内容数据的处理属于不同的链路。对于这两种链路而言,不仅FPGA能够实现,若计算机程序能按照约定的格式向底层申请内容数据或参数数据也是可以的,这样可以将计算机程序变成一个功能模块融入到整个***之中,无疑可以更好地完成上位机和底层之间的交互。
本发明实施例使得新的功能模块在接口确定的情况下还不需要进行额外的工作,而且在集成进整个***中时只需要获取必要的信息即可,无需过多的交流和协商。
本发明实施例,并不见限于将参数数据返回给所述第一模块,由第一模块根据参数数据从数据存储区域中读取第二模块的内容数据,例如,还可以由控制模块根据参数数据,直接从数据存储区域中读取第二模块的内容数据。此时,增加了控制模块的控制功能,当功能模块发生变化时,需要修改控制模块,从而无法避免修改第一模块的数目,就要多一组接口传输的情况。而且,如有添加功能的需求,不仅需要添加功能模块,控制模块也需要进行相应的修改。
根据本发明实施例,控制模块不仅会涉及到上述的数据读取过程,还会涉及到数据的存储部分。图3是根据另一示例性实施例示出的模块间数据传输方法的流程图,如图3所示,该方法可以包括但不限于以下流程:
在S310中,接收各个模块发送的参数数据以及内容数据,其中,所述参数数据包括用于描述所述内容数据的存储位置的数据。
需要说明的是,不同于记录的模块的标识与数据存储区域的对应关系中能够得到的该模块的内容数据在数据存储区域中的分配区域,该参数数据中的存储位置用于描述该内容数据在该分配区域的具体的子区域。
例如,图4是根据一示例性实施例示出的数据存储区域的示意图,如图4所示,其中数据存储区域的A区域为功能模块1对应的分配区域,参数数据中描述内容数据存储在A的a3子区域,其中,A的其他子区域中记录有其他时刻功能模块1的内容数据。
下面结合表1说明读取请求、参数数据以及内容数据的区别。
字段数 | 比特位 | 功能 | 说明 |
1 | 32bits | 读取请求 | 该字段将向控模块表明第一模块的身份和第二模块的身份 |
2 | 32bits | 参数数据 | 该字段将表明数据存储区域内存储的内容数据的长度 |
3~n | 32bits*n | 内容数据 | 该字段是每个模块回写信息的具体内容,每个字段32bits |
表1
例如,读取请求:32’h03030707的含义:0303代表本模块为功能模块3,0707代表本模块要查询功能模块7的参数数据。
需要指出的是,功能模块在存储数据时向控制模块发送的写入请求与读取请求的字段数、比特位相同,例如,32’h83830303的含义:代表功能模块3申请写入消息。
参数数据:32’h8的含义:表明参数数据的长度为8个32bits,该字段说明的长度不包含读取请求。
内容数据:功能模块存储的内容数据,该内容数据需要以n个32bits的形式输出。
需要说明的是,所述参数数据还可以包括用于描述所述内容数据的大小和长度的数据以及标志位。
在S320中,根据记录的各个模块的标识与数据存储区域的对应关系以及所述参数数据,将所述内容数据存储到数据存储区域。
本发明实施例中,可以根据记录的各个模块的标识与数据存储区域的对应关系,确定所述内容数据在所述数据存储区域中的分配区域,然后根据所述参数数据,从所述分配区域中确定所述内容数据的子区域,将所述内容数据存储到所述子区域。
如图4所示,根据功能模块1与数据存储区域的对应关系,可以确定功能模块1的内容数据存储到A区域,进一步的,根据参数中确定的内容数据的子区域a3,可以将当期的内容数据存储到A区域的a3子区域。
在S330中,根据记录的各个模块的标识与参数存储区域的对应关系,将所述参数数据存储到参数存储区域。
例如,假设功能模块1分配的参数存储区域为B区域,则在内容数据存储完成后,将参数数据直接存储到B区域。
需要指出的是,参数存储区域的分配区域不需要再划分各个子区域,只存在一条参数数据,若该分配区域需要存储新的参数数据,那么直接用该新的参数数据将旧的参数数据覆盖。
本发明实施例中,通过上述先存储内容数据,然后存储参数数据的存储顺序,能够达到第二模块获取到参数数据时,保证内容数据已经完成存储,避免内容数据未存储完或未存储造成的读取的内容数据不完整或读取不到内容数据的情况。
根据本发明实施例,控制模块不仅会只涉及到接收到一个第一模块的读取请求的情况,还可以涉及到接收到多个第一模块的读取的情况,此时,可以根据所述多个第一模块的优先级排序,依次进行根据每一第一模块发送的消息读取请求中包括的所述第二模块的标识从参数存储区域中查找到各自的第二模块的参数数据,以及将所述参数数据返回给所述每一第一模块,以使每一第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。当某一个第一模块完成参数数据的返回后,将该第一模块的优先级降到最低,直到所有第一模块全部轮巡完毕之后再恢复原先设定的优先级。
例如,控制模块同时接收到第一模块1和2发送的读取请求,假设第一模块1的优先级高于第一模块2的优先级,此时,先查找第一模块1的参数数据并返回给第一模块1后,然后查找第一模块2的参数数据并返回给第一模块2.
需要指出的是,各个功能模块的优先级的顺序,可以根据每一功能模块的数据量比重确定。若功能模块1的数据量比重高于功能模块2的数据量比重,则该功能模块1的优先级高于功能模块2的优先级。
图5是根据再一示例性实施例示出的模块间数据传输方法的流程图,该方法的执行主体为功能模块,为描述方便,以前述实施例中的第一模块和第二模块为例进行说明,其中,该方法的执行主体具体为第一模块,需要说明的是,功能模块可以是任意的具有计算功能的装置,例如服务器或终端,如图5所示,该方法可以包括但不限于以下流程:
在S510中,向控制模块发送读取请求,所述读取请求中包括第二模块的标识。
在S520中,接收所述控制模块根据所述标识从参数存储区域中查找到的所述第二模块的参数数据。
需要说明的是,所述参数数据可以包括用于描述所述内容数据的存储位置以及标志位,但本发明并不限于此,例如,参数数据还可以包括用于描述内容数据大小和长度的数据。
在S530中,根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。
本发明实施例中,向控制模块发送读取请求,所述读取请求中包括第二模块的标识;接收所述控制模块根据所述标识从参数存储区域中查找到的所述第二模块的参数数据;根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。打破功能模块之间的耦合关系,上下级模块不直接相连,而是采用功能模块均与控制模块相连的方法,能够满足流水线技术无法实现的***设计需求,方便各个功能模块独立调试、方便外部接口(例如pc)对于底层的控制、修改或新增代码的时候尽可能的降低修改次数以及修改内容。
本发明实施例中,功能模块除了读取数据,还会涉及到数据的存储。功能模块通过对源数据进行处理获取到内容数据,进一步的,根据所述内容数据以及记录的各个模块的标识与数据存储区域的对应关系,生成所述内容数据对应的参数数据,将所述内容数据以及所述参数数据发送至所述控制模块进行存储。
需要说明的是,参数数据中包括用于描述所述内容数据的存储位置、大小、长度的数据以及标志位的信息,因此,功能模块可以先生成内容数据,然后根据内容数据的存储位置(可以由功能模块预设置)、大小、长度以及标志位生成参数信息。
本发明实施例中,每一功能模块在接收到控制模块返回的参数数据后,还可以根据参数数据判断参数数据对应的内容数据是否已经完成存储或者是否为最新的参数数据。具体的,功能模块可以将接收到的所述参数数据的标志位与前一次接收到的所述第二模块的参数数据的标志位进行比较,若所述标志位不同,根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。若所述标志位相同,则说明参数数据未更新,则等待参数数据的标志位与前一次接收到的第二模块的参数数据的标志位不同时,根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。
需要指出的是,参数数据的标志位可以用于表示内容数据的版本信息。例如,若本次从第二模块1接收到的参数数据的标志位为2.2,前一次从第二模块接收到的参数的标志位为2.1,则表示参数数据已更新,即内容数据已更新,此时可读取内容数据,若前一次从第二模块接收到的参数的标志位也为2.2,则需要等待再次接收到的参数数据的标志位不为2.2时,才读取内容数据。
图6是根据再一示例性实施例示出的模块间数据传输方法的流程图,为描述方便,以前述实施例中的第一模块和第二模块为例进行说明,如图6所示,该方法可以包括但不限于以下流程:
在S601中,第二模块生成内容数据以及参数数据。
在S602中,第二模块完成内容数据以及参数数据的写入。
在S603中,第一模块获取到参数数据。
在S604中,第一模块判断参数数据是否为最新。
若判断结果为是,则执行S605,否则执行S606。
在S605中,读取内容数据。
在S606中,返回执行S603。
本发明实施例中,通过参数存储区域以及数据存储区域将内容数据和参数数据都存储下来,这样所有功能模块都可以在原先的接口上去调用,不存在一组内容数据或者一组参数数据多一个读取的功能模块就要多一组接口传输的情况,而且,功能模块的接口完全一样,这样修改代码的时候只需要修改内部逻辑即可,出现问题定位方便。如有添加功能的需求只需要添加功能模块即可,其他部分基本不需要修改。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施例。
下述为本发明装置实施例,可以用于执行本发明方法实施例。在下文对***的描述中,与前述方法相同的部分,将不再赘述。
图7是根据一示例性实施例示出的一种模块间数据传输的控制模块的结构示意图,其中,所述控制模块700包括:请求接收单元710,数据查找单元720,数据返回单元730。
其中,请求接收单元710,配置为接收第一模块发送的读取请求,所述读取请求包括第二模块的标识。
数据查找单元720,配置为根据所述标识从参数存储区域中查找到所述第二模块的参数数据。
数据返回单元730,配置为将所述参数数据返回给所述第一模块,以使所述第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。
本发明实施例中,通过接收第一模块发送的读取请求,所述读取请求包括第二模块的标识;根据所述标识从参数存储区域中查找到所述第二模块的参数数据;将所述参数数据返回给所述第一模块,以使所述第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据,打破功能模块之间的耦合关系,上下级模块不直接相连,而是采用功能模块均与控制模块相连的方法,能够满足流水线技术无法实现的***设计需求,方便各个功能模块独立调试、方便外部接口(例如pc)对于底层的控制、修改或新增代码的时候尽可能的降低修改次数以及修改内容。
图8是根据一示例性实施例示出的一种模块间数据传输的功能模块的结构示意图,其中,所述功能模块800包括:请求发送单元810,参数接收单元820,数据读取单元830。
其中,请求发送单元810,配置为向控制模块发送读取请求,所述读取请求中包括第二模块的标识。
其中,参数接收单元820,配置为接收所述控制模块根据所述标识从参数存储区域中查找到的所述第二模块的参数数据。
其中,数据读取单元830,配置为根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。
本发明实施例中,向控制模块发送读取请求,所述读取请求中包括第二模块的标识;接收所述控制模块根据所述标识从参数存储区域中查找到的所述第二模块的参数数据;根据所述参数数据从数据存储区域中读取所述第二模块的内容数据。打破功能模块之间的耦合关系,上下级模块不直接相连,而是采用功能模块均与控制模块相连的方法,能够满足流水线技术无法实现的***设计需求,方便各个功能模块独立调试、方便外部接口(例如pc)对于底层的控制、修改或新增代码的时候尽可能的降低修改次数以及修改内容。
图9是根据一示例性实施例示出的一种电子设备的结构示意图。需要说明的是,图9示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机***900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有***900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的终端中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,其中,模块的名称在某种情况下并不构成对该模块本身的限定。
以上具体示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (7)
1.一种模块间数据传输方法,其特征在于,应用于控制装置,所述方法包括:
接收第一模块发送的读取请求,所述读取请求包括第二模块的标识;
根据所述标识从参数存储区域中查找到所述第二模块的参数数据;
将所述参数数据返回给所述第一模块,以使所述第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据;
若接收到多个第一模块发送的消息读取请求,根据所述多个第一模块的优先级排序,依次进行根据每一第一模块发送的消息读取请求中包括的所述第二模块的标识从参数存储区域中查找到各自的第二模块的参数数据,以及将所述参数数据返回给所述每一第一模块,以使每一第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据,其中,所述优先级排序根据每一模块的数据量比重确定。
2.如权利要求1所述的模块间数据传输方法,其特征在于,所述方法还包括:
接收各个模块发送的参数数据以及内容数据,其中,所述参数数据包括用于描述所述内容数据的存储位置的数据;
根据记录的各个模块的标识与数据存储区域的对应关系以及所述参数数据,将所述内容数据存储到数据存储区域;
根据记录的各个模块的标识与参数存储区域的对应关系,将所述参数数据存储到参数存储区域。
3.如权利要求2所述的模块间数据传输方法,其特征在于,所述根据记录的各个模块的标识与数据存储区域的对应关系以及所述参数数据,将所述内容数据存储到数据存储区域,包括:
根据记录的各个模块的标识与数据存储区域的对应关系,确定所述内容数据在所述数据存储区域中的分配区域;
根据所述参数数据,从所述分配区域中确定所述内容数据的子区域;
将所述内容数据存储到所述子区域。
4.如权利要求2所述的模块间数据传输方法,其特征在于,根据所述标识从参数存储区域中查找到所述第二模块的参数数据,包括:
从记录的各个模块的标识与参数存储区域的对应关系中确定所述标识对应的所述第二模块的参数数据。
5.如权利要求2所述的模块间数据传输方法,其特征在于,所述方法还包括:
根据每一模块的数据量比重分配所述数据存储区域以及所述参数存储区域,并记录每一模块的标识与数据存储区域的对应关系,以及每一模块的标识与参数存储区域的对应关系。
6.一种模块间数据传输的控制装置,其特征在于,所述控制装置包括:
请求接收单元,配置为接收第一模块发送的读取请求,所述读取请求包括第二模块的标识;
数据查找单元,配置为根据所述标识从参数存储区域中查找到所述第二模块的参数数据;
数据返回单元,配置为将所述参数数据返回给所述第一模块,以使所述第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据,以及若接收到多个第一模块发送的消息读取请求,根据所述多个第一模块的优先级排序,依次进行根据每一第一模块发送的消息读取请求中包括的所述第二模块的标识从参数存储区域中查找到各自的第二模块的参数数据,以及将所述参数数据返回给所述每一第一模块,以使每一第一模块根据所述参数数据从数据存储区域中读取所述第二模块的内容数据,其中,所述优先级排序根据每一模块的数据量比重确定。
7.如权利要求6所述的控制装置,其特征在于,所述控制装置还包括:
数据接收单元,配置为接收各个模块发送的参数数据以及内容数据,其中,所述参数数据包括用于描述所述内容数据的存储位置、大小、长度的数据;
数据存储单元,配置为根据记录的各个模块的标识与数据存储区域的对应关系以及所述参数数据,将所述内容数据存储到数据存储区域;
参数存储单元,配置为根据记录的各个模块的标识与参数存储区域的对应关系,将所述参数数据存储到参数存储区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110329356.XA CN112925568B (zh) | 2021-03-28 | 2021-03-28 | 模块间数据传输方法及控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110329356.XA CN112925568B (zh) | 2021-03-28 | 2021-03-28 | 模块间数据传输方法及控制装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112925568A CN112925568A (zh) | 2021-06-08 |
CN112925568B true CN112925568B (zh) | 2022-07-26 |
Family
ID=76176289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110329356.XA Active CN112925568B (zh) | 2021-03-28 | 2021-03-28 | 模块间数据传输方法及控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112925568B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102084332A (zh) * | 2008-04-06 | 2011-06-01 | 弗森-艾奥公司 | 将存储请求转换为附加数据存储命令的装置、***和方法 |
CN103475532A (zh) * | 2012-06-08 | 2013-12-25 | 腾讯科技(深圳)有限公司 | 硬件检测方法和*** |
CN104834481A (zh) * | 2015-04-30 | 2015-08-12 | 中国电子科技集团公司第四十一研究所 | 一种大容量快速存储回放的信号分析装置和方法 |
CN108153812A (zh) * | 2017-11-24 | 2018-06-12 | 广州高清视信数码科技股份有限公司 | 数据通信的方法、装置、计算机设备及存储介质 |
CN109165136A (zh) * | 2018-07-25 | 2019-01-08 | 平安科技(深圳)有限公司 | 终端运行数据的监控方法、终端设备及介质 |
CN109669787A (zh) * | 2018-12-05 | 2019-04-23 | 恒生电子股份有限公司 | 数据传输方法及装置、存储介质、电子设备 |
CN110704691A (zh) * | 2019-09-10 | 2020-01-17 | 苏州浪潮智能科技有限公司 | 一种数据管理方法、装置及电子设备和存储介质 |
CN111796858A (zh) * | 2020-07-07 | 2020-10-20 | 金蝶软件(中国)有限公司 | Kubernetes集群内部应用程序访问检测的方法、***及相关设备 |
CN112040328A (zh) * | 2020-08-04 | 2020-12-04 | 北京字节跳动网络技术有限公司 | 数据交互方法、装置和电子设备 |
CN112346390A (zh) * | 2020-11-24 | 2021-02-09 | 杭州迪普信息技术有限公司 | 光模块控制方法、装置、设备及计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8732429B2 (en) * | 2010-10-20 | 2014-05-20 | International Business Machines Corporation | Preserving a deleted data volume |
US8880978B2 (en) * | 2011-04-01 | 2014-11-04 | Cleversafe, Inc. | Utilizing a local area network memory and a dispersed storage network memory to access data |
US9047211B2 (en) * | 2013-03-15 | 2015-06-02 | SanDisk Technologies, Inc. | Managing data reliability |
US9807058B2 (en) * | 2015-07-02 | 2017-10-31 | T-Mobile Usa, Inc. | Monitoring wireless data consumption |
-
2021
- 2021-03-28 CN CN202110329356.XA patent/CN112925568B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102084332A (zh) * | 2008-04-06 | 2011-06-01 | 弗森-艾奥公司 | 将存储请求转换为附加数据存储命令的装置、***和方法 |
CN103475532A (zh) * | 2012-06-08 | 2013-12-25 | 腾讯科技(深圳)有限公司 | 硬件检测方法和*** |
CN104834481A (zh) * | 2015-04-30 | 2015-08-12 | 中国电子科技集团公司第四十一研究所 | 一种大容量快速存储回放的信号分析装置和方法 |
CN108153812A (zh) * | 2017-11-24 | 2018-06-12 | 广州高清视信数码科技股份有限公司 | 数据通信的方法、装置、计算机设备及存储介质 |
CN109165136A (zh) * | 2018-07-25 | 2019-01-08 | 平安科技(深圳)有限公司 | 终端运行数据的监控方法、终端设备及介质 |
CN109669787A (zh) * | 2018-12-05 | 2019-04-23 | 恒生电子股份有限公司 | 数据传输方法及装置、存储介质、电子设备 |
CN110704691A (zh) * | 2019-09-10 | 2020-01-17 | 苏州浪潮智能科技有限公司 | 一种数据管理方法、装置及电子设备和存储介质 |
CN111796858A (zh) * | 2020-07-07 | 2020-10-20 | 金蝶软件(中国)有限公司 | Kubernetes集群内部应用程序访问检测的方法、***及相关设备 |
CN112040328A (zh) * | 2020-08-04 | 2020-12-04 | 北京字节跳动网络技术有限公司 | 数据交互方法、装置和电子设备 |
CN112346390A (zh) * | 2020-11-24 | 2021-02-09 | 杭州迪普信息技术有限公司 | 光模块控制方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于WebService的风电集中监测与数据分析平台设计;刘晓光等;《发电与空调》;20151215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112925568A (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840429B (zh) | 智能合约部署、调用方法和装置 | |
CN109062563B (zh) | 用于生成页面的方法和装置 | |
CN109117252B (zh) | 基于容器的任务处理的方法、***及容器集群管理*** | |
CN112612523B (zh) | 一种嵌入式设备驱动***及方法 | |
EP3869434A1 (en) | Blockchain-based data processing method and apparatus, device, and medium | |
WO2020215752A1 (zh) | 图计算方法及装置 | |
CN112740323B (zh) | 一种语音理解方法及装置 | |
CN110851285A (zh) | 一种基于gpu虚拟化的资源复用方法、装置及设备 | |
CN111737564A (zh) | 一种信息查询方法、装置、设备及介质 | |
CN115827250A (zh) | 一种数据存储方法、装置及设备 | |
US8060885B2 (en) | Creating task queries for concrete resources using alias selection fields specifying formal resources and formal relationships | |
CN112148467A (zh) | 计算资源的动态分配 | |
CN112925568B (zh) | 模块间数据传输方法及控制装置 | |
CN111597035B (zh) | 基于多线程的仿真引擎时间推进方法及*** | |
CN111078789B (zh) | 数据共享方法及装置、存储介质、电子设备 | |
CN113760499A (zh) | 调度计算单元的方法、装置、计算设备及介质 | |
US20140237480A1 (en) | Method, processing modules and system for executing an executable code | |
CN109614383B (zh) | 数据复制方法、装置、电子设备及存储介质 | |
CN109614089A (zh) | 数据访问代码的自动生成方法、装置、设备及存储介质 | |
CN114675954A (zh) | 任务调度方法及装置 | |
CN114398410A (zh) | 一种连续编号生成方法、装置、服务器集群及存储介质 | |
CN114020319A (zh) | 接口调用的方法、装置、服务器及计算机可读存储介质 | |
CN110543351B (zh) | 数据处理方法以及计算机设备 | |
CN113495723A (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN113760986A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |