CN110300178B - 通信设备、业务卡、主控卡、文件访问方法及装置 - Google Patents
通信设备、业务卡、主控卡、文件访问方法及装置 Download PDFInfo
- Publication number
- CN110300178B CN110300178B CN201910591535.3A CN201910591535A CN110300178B CN 110300178 B CN110300178 B CN 110300178B CN 201910591535 A CN201910591535 A CN 201910591535A CN 110300178 B CN110300178 B CN 110300178B
- Authority
- CN
- China
- Prior art keywords
- card
- file access
- file
- memory
- main control
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q1/00—Details of selecting apparatus or arrangements
- H04Q1/02—Constructional details
- H04Q1/15—Backplane arrangements
- H04Q1/155—Backplane arrangements characterised by connection features
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请涉及通信设备技术领域,提供一种通信设备、业务卡、主控卡、文件访问方法及装置。其中,通信设备包括主控卡以及业务卡,主控卡上设置有用于存储文件的存储器。业务卡用于通过业务卡的文件系统将业务卡的上层应用程序对存储器中的文件的访问行为转化为驱动级的第一文件访问请求,以及通过业务卡的驱动适配层程序将第一文件访问请求封装为文件访问报文后向主控卡发送。主控卡用于通过主控卡的驱动适配层程序接收文件访问报文,并从中解析出第一文件访问请求,将第一文件访问请求传递给存储器的驱动程序,由驱动程序访问存储器中的文件。上述通信设备由于只在主控卡上设置用于存储文件的存储器,因此设备的实施成本较低,硬件设计也得到简化。
Description
技术领域
本申请涉及通信设备技术领域,具体而言,涉及一种通信设备、业务卡、主控卡、文件访问方法及装置。
背景技术
分布式框架设备(如路由器、交换机等)是一类比较常见的通信设备,虽然从宏观上看分布式框架设备是一个独立的设备整体,但是从内部结构上看,可以视为集成在框架的多板卡组成的设备系统,每个板卡就如同一个小型的计算机,能够独立实现自身的功能。
常见的分布式框架设备包括主控卡和业务卡,主控卡主要用于完成整个通信设备的控制业务的管理,业务卡主要用于完成整个通信设备数据业务报文的收发。对于分布式框架设备中文件的存储和访问,现有技术中的解决方案是在每个板卡上都设置存储器,主控卡与业务卡各自涉及到的文件基本上是存储到本端的,并且在本端进行访问。
在上述解决方案中,由于每个板卡都要自己设置一个存储器用于存储文件,其实施成本较高,并且通信设备的硬件设计也存在困难。
发明内容
有鉴于此,本申请实施例提供一种通信设备、业务卡、主控卡、文件访问方法及装置,该通信设备只在主控卡上设置用于存储文件的存储器,同时还提供了此种存储器设置方式下相应的文件访问方法,从而能够节约通信设备的实施成本,简化通信设备的硬件设计。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种通信设备,包括:主控卡以及至少一个业务卡,所述主控卡上设置有用于存储文件的存储器;所述业务卡,用于通过所述业务卡的文件系统将所述业务卡的上层应用程序对所述存储器中的文件的访问行为转化为驱动级的第一文件访问请求,以及通过所述业务卡的驱动适配层程序将所述第一文件访问请求封装为文件访问报文,并向所述主控卡发送所述文件访问报文;所述主控卡,用于接收所述文件访问报文,通过所述主控卡的驱动适配层程序从所述文件访问报文中解析出所述第一文件访问请求,并将所述第一文件访问请求传递给所述存储器的驱动程序,由所述驱动程序响应所述第一文件访问请求以访问所述存储器中的文件。
上述通信设备只在主控卡上设置用于存储文件的存储器,无论是主控卡还是业务卡都利用该存储器进行文件存储及访问,从而业务卡上可以不单独设置用于存储文件的存储器,提高了存储器的利用率,节约了通信设备的实施成本。同时,通信设备的硬件设计也得到简化,因为只需要对主控卡的存储器进行设计即可。
另一方面,该通信设备还实现了针对上述硬件架构的文件访问机制,即在文件系统之下、存储驱动程序之上设计驱动适配层程序,通过业务卡的驱动适配层程序向主控卡的驱动适配层程序发送文件访问报文的方式,实现业务卡对主控卡的存储器中的文件的驱动级访问。从而,业务卡的上层应用程序只需与文件系统对接,无需感知底层的通信机制,无需针对底层的通信机制自己独立地封装传输函数,使得文件访问过程具有良好的通用性。此外,驱动适配层程序的实现不依赖额外的标准协议或机制来支撑,对业务卡与主控卡之间采用的通信通道也没有限制要求,其逻辑简单、可靠性高、可扩展性良好。
在第一方面的一些实现方式中,所述主控卡还用于,通过所述主控卡的驱动适配层程序接收所述驱动程序在响应所述第一文件访问请求后返回的第一文件访问结果,并将所述第一文件访问结果封装为文件访问响应报文,并向所述业务卡发送所述文件访问响应报文;所述业务卡还用于,通过所述业务卡的驱动适配层程序接收所述文件访问响应报文,并从所述文件访问响应报文中解析出所述第一文件访问结果,以及通过所述业务卡的文件系统将所述文件访问结果返回给所述业务卡的上层应用程序。
文件的访问操作会产生访问结果,例如,读取操作会返回读取的数据,写入操作虽然不返回数据,但也可以返回表征写入是否正常执行的执行结果,等等。针对第一文件访问请求对应的第一文件访问结果,经由驱动程序、主控卡的驱动适配层程序、通信通道、业务卡的驱动适配层程序,业务卡的文件系统的路径,最终反馈给业务卡的上层应用程序,其顺序和第一文件访问请求从产生到被响应的顺序相反。
在第一方面的一些实现方式中,所述主控卡还用于,通过所述主控卡的文件系统将所述主控卡的上层应用程序对所述存储器中的文件的访问行为转化为驱动级的第二文件访问请求,以及通过所述主控卡的驱动适配层程序将所述第二文件访问请求传递给所述驱动程序,并由所述驱动程序响应所述第二文件访问请求以访问所述存储器中的文件。
对于主控卡访问自己的存储器的情况,主控卡的驱动适配层程序的作用只是对第二文件访问请求的中转。例如,可以将第二文件访问请求以透明传输的方式从主控卡的文件系统传递给存储驱动程序。
在第一方面的一些实现方式中,所述存储器包括多个分区,每个板卡被分配的分区各不相同。
在这些实现方式中,各个板卡可以使用独立的分区,互不干扰。分区的大小可以由各个板卡的驱动适配层程序协商确定。
在第一方面的一些实现方式中,所述主控卡还用于,在接收到针对分配给所述业务卡的分区和/或分区中的文件的访问请求时,将分配给所述业务卡的分区挂载到所述主控卡的文件系统下。
在一些应用场景中,主控卡的上层应用程序需要查看和/或读取业务卡的某些私有文件,此时可以通过挂载业务卡的分区的方式实现文件在主控卡和业务卡之间的共享。
在第一方面的一些实现方式中,所述第一文件访问请求包括对文件进行读取操作、写入操作或擦除操作的请求。
第二方面,本申请实施例提供一种文件访问方法,应用于通信设备中的业务卡,所述通信设备的主控卡上设置有用于存储文件的存储器,所述方法包括:通过所述业务卡的驱动适配层程序从所述业务卡的文件系统获取驱动级的第一文件访问请求,其中,所述第一文件访问请求是所述业务卡的文件系统根据所述业务卡的上层应用程序对所述存储器中的文件的访问行为转化产生的;通过所述业务卡的驱动适配层程序将所述第一文件访问请求封装为文件访问报文;通过所述业务卡的驱动适配层程序向所述主控卡发送所述文件访问报文。
第三方面,本申请实施例提供一种文件访问方法,应用于通信设备中的主控卡,所述主控卡上设置有用于存储文件的存储器,所述方法包括:通过所述主控卡的驱动适配层程序接收所述通信设备的业务卡发送的文件访问报文;通过所述主控卡的驱动适配层程序从所述文件访问报文中解析出对所述存储器中的文件的驱动级的第一文件访问请求;通过所述主控卡的驱动适配层程序将所述第一文件访问请求传递给所述存储器的驱动程序,以使所述驱动程序响应所述第一文件访问操作以访问所述存储器中的文件。
第四方面,本申请实施例提供一种文件访问装置,配置于通信设备中的业务卡,所述通信设备的主控卡上设置有用于存储文件的存储器,所述装置包括:请求接收模块,用于通过所述业务卡的驱动适配层程序从所述业务卡的文件系统获取驱动级的第一文件访问请求,其中,所述第一文件访问请求是所述业务卡的文件系统根据所述业务卡的上层应用程序对所述存储器中的文件的访问行为转化产生的;报文封装模块,用于通过所述业务卡的驱动适配层程序将所述第一文件访问请求封装为文件访问报文;报文发送模块,用于通过所述业务卡的驱动适配层程序向所述主控卡发送所述文件访问报文。
第五方面,本申请实施例提供一种文件访问装置,配置于通信设备中的主控卡,所述主控卡上设置有用于存储文件的存储器,所述装置包括:报文接收模块,用于通过所述主控卡的驱动适配层程序接收所述通信设备的业务卡发送的文件访问报文;报文解析模块,用于通过所述主控卡的驱动适配层程序从所述文件访问报文中解析出对所述存储器中的文件的驱动级的第一文件访问请求;请求发送模块,用于通过所述主控卡的驱动适配层程序将所述第一文件访问请求传递给所述存储器的驱动程序,以使所述驱动程序响应所述第一文件访问操作以访问所述存储器中的文件。
第六方面,本申请实施例提供一种业务卡,配置于通信设备,所述业务卡包括:第一存储器、第一处理器以及第一通信单元,所述第一通信单元用于与所述通信设备的主控卡通信,所述第一存储器中存储有计算机程序指令,所述计算机程序指令被所述第一处理器读取并运行时,执行第四方面或第四方面的任意一种可能的实现方式提供的方法的步骤。
第七方面,本申请实施例提供一种主控卡,配置于通信设备,所述主控卡包括:第二存储器、第三存储器、第二处理器以及第二通信单元,所述第二存储器中存储有计算机程序指令,所述第三存储器用于存储文件,所述第二通信单元用于与所述通信设备的业务卡通信,所述计算机程序指令被所述第二处理器读取并运行时,执行第五方面或第五方面的任意一种可能的实现方式提供的方法的步骤。
为使本申请的上述目的、技术方案和有益效果能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的通信设备的硬件结构图;
图2示出了本申请实施例提供通信设备的文件访问原理图;
图3示出了本申请实施例提供的一种业务卡执行的文件访问方法的流程图;
图4示出了本申请实施例提供的一种主控卡执行的文件访问方法的流程图;
图5示出了本申请实施例提供的一种配置于业务卡上的文件访问装置的功能模块图;
图6示出了本申请实施例提供的一种配置于主控卡上的文件访问装置的功能模块图。
具体实施方式
在现有技术中,为在分布式框架设备(包括主控卡和至少一个业务卡)上实现文件的存储和访问,一种常见的解决方案是在每个板卡上都设置存储器,主控卡与业务卡各自涉及到的文件基本上是存储到本端的,即便是有些特殊的文件需要业务卡上传到主控卡,也是通过将其封装数据报文的形式上传。
这种方案存在如下缺点:第一,由于每个板卡都要自己设置一个存储器用于存储文件,其实施成本较高,并且通信设备的硬件设计也存在困难,例如:存储器容量设计过大,则可能利用率低,造成浪费;存储器容量设计过小,则可能导致板卡功能受限,无法完成既定的业务。
第二,虽然主控卡和业务卡之间能够传输文件,但并不十分方便,如果业务卡的业务模块想个性化传输部分私有文件,业务模块需要自行根据底层采用的通信机制封装传输函数,这种基础性的机制让各个业务模块独立去实现,复杂度高、通用性差。
现有技术中存在的上述缺陷,是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1示出了本申请实施例提供的通信设备10的硬件结构图。参照图1,该通信设备10包括一个主控卡200以及至少一个业务卡100,主控卡200与业务卡100之间可以通过通信通道进行数据交互。主控卡200主要用于实现通信设备10的控制逻辑,业务卡100主要用于实现通信设备10的业务逻辑。主控卡200和业务卡100统称板卡,该通信设备10可以是,但不限于路由器、交换机等分布式框架设备,分布式框架设备的板卡安装在框架上,可以根据需求增加、更换或者移除。
在一些通信设备10的实现方式中,也可以有多个主控卡200,但多个主控卡200中只有一个处于工作状态,其余的作为备用,以提高设备的可靠性,因此,在后文中还是以通信设备10只具有一个主控卡200的情况为例进行说明。此外,并不排除该通信设备10还包括其他部件,只是未在图1中示出。
业务卡100包括第一存储器110、第一处理器120以及第一通信单元130,这些部件可以通过通信总线和/或其他形式的连接机构互连并相互通讯。
其中,第一存储器110包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除只读存储器(ElectricErasable Programmable Read-Only Memory,简称EEPROM),闪存(FlashMemory,简称Flash)等。第一处理器120以及其他可能的部件可对第一存储器110进行访问,读和/或写其中的数据。
第一处理器120包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的第一处理器120可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuits,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
第一通信单元130包括一个或多个(图中仅示出一个),可以用于和其他设备和/或部件进行直接或间接地通信,以便进行数据的交互,在本申请实施例提供的通信设备10中,第一通信单元130主要用于通过通信通道与主控卡200通信。第一通信单元130和通信通道具体采用何种通信机制是不限定的,例如第一通信单元130可以是以太网模块、各类总线接口(如URAT接口、SPI接口、I2C接口、CAN接口、PCIE接口等)。
在第一存储器110中可以存储一个或多个计算机程序指令,第一处理器120可以读取并运行这些计算机程序指令,以实现本申请实施例提供的文件访问方法(见后文阐述)的部分或全部的步骤以及其他期望的功能。
主控卡200包括第二存储器210、第三存储器230、第二处理器220以及第二通信单元240,这些部件可以通过通信总线和/或其他形式的连接机构互连并相互通讯。
第二存储器210包括一个或多个(图中仅示出一个),可以参照业务卡100的第一存储器110的实现方式。第二处理器220包括一个或多个(图中仅示出一个),可以参照业务卡100的第一处理器120的实现方式。第二通信单元240包括一个或多个(图中仅示出一个),可以参照业务卡100的第一通信单元130的实现方式。
其中,第二通信单元240主要用于通过通信通道与业务卡100通信,具体是指与业务卡100的第一通信单元130通信。在第二存储器210中可以存储一个或多个计算机程序指令,第二处理器220可以读取并运行这些计算机程序指令,以实现本申请实施例提供的文件访问方法(见后文阐述)的部分或全部的步骤以及其他期望的功能。
第三存储器230包括一个或多个(图中仅示出一个),用于存储文件。需要特别指出,在通信设备10中,第一存储器110、第二存储器210主要用于存储计算机程序,例如后面将会提到的上层应用程序、文件系统、驱动适配层程序、通信程序、驱动程序等,当然不排除第一存储器110、第二存储器210中也可以存储某些文件(如上述计算机程序使用的配置文件等),但这些文件不是通信设备10执行控制逻辑、业务逻辑的过程中使用的主要文件(如和业务相关的数据文件等),对这些文件的存储及访问也不是本申请所要关注的。因此,在后文中提及文件时,仅指第三存储器230中存储的文件,在这样的前提下,可以认为该通信设备10只在主控卡200上设置有用于存储文件的存储器(第三存储器230),业务卡100上并未设置有用于存储文件的存储器(第一存储器110、第二存储器210都视为不存储文件),第三存储器230由于要存储文件,因此其容量可以大于第一存储器110和第二存储器210。此外,还需要指出的是,第三存储器230也可能和第二存储器210实现为同一存储器。
对于业务卡100,若图1中的硬件结构进行制造,则无需设置用于存储文件的存储器,但如果业务卡100是按照现有技术制造的,其上可能已经设置有用于存储文件的存储器,则该业务卡100在本申请实施例提供的通信设备10中仍可以兼容使用,只是本来用于存储文件的存储器被弃用,文件仍然存储在主控卡200的第三存储器230中。
图2示出了本申请实施例提供通信设备10的文件访问原理图。图2为方便说明原理,将板卡上的硬件和软件组成部分同时示出,其中,主控卡200的第三存储器230为硬件,其余组件(上层应用程序122/222、文件系统124/224、驱动适配层程序126/226、通信程序128/229以及驱动程序228)均为软件程序,根据之前的阐述,这些软件程序可以存储于业务卡100的第一存储器110以及主控卡200的第二存储器210中,程序指令可被相应的处理器读取并运行,以实现通信设备10在图1的硬件架构下的文件访问机制。
对于第三存储器230中的文件的访问,大致可以分为几个层次:上层(指文件系统124/224的上层,运行上层应用程序122/222)、文件系统层(运行文件系统124/224)、驱动适配层(运行驱动适配层程序126/226)、驱动层(运行存储器的驱动程序228)以及硬件层(第三存储器230),文件的访问按照从上层至硬件层的顺序进行,如果有访问结果,则按照从硬件层至上层的顺序反馈。下面结合图3、图4中文件访问方法的步骤具体介绍。
参照图3,在一次文件访问过程中,业务卡100执行的步骤包括:
步骤S310:通过业务卡100的文件系统124将业务卡100的上层应用程序122对第三存储器230中的文件的访问行为转化为驱动级的第一文件访问请求。
业务卡100的上层应用程序122对文件的访问行为是应用层面的,例如,在应用程序中进行文件的打开、编辑、关闭等操作。第一文件访问请求是驱动级的,意思是第三存储器230的驱动程序228能够直接对该请求进行响应,无需再进行转换。
第一文件访问请求可以包括对文件进行读取操作(简称读)、写入操作(简称写)或擦除操作(简称擦)的请求,其中读写擦是文件访问的三种基本操作,当然也不排除某些硬件实现不需要先擦除就能写入的情况。在步骤S310执行之前,可以通过业务卡100的驱动适配层程序126将读写擦三种操作的接口注册到业务卡100的文件系统124。例如,针对上层应用程序122的读取文件的行为(可以实现为应用层面的一个函数调用),文件系统124通过回调注册的读接口进行文件读取,文件系统124的接口回调操作可以视为将读取文件的行为转化为了驱动级的文件读取请求(第一文件访问请求)。对于写和擦的情况类似,不再重复说明。
步骤S320:通过业务卡100的驱动适配层程序126将第一文件访问请求封装为文件访问报文。
步骤S330:通过业务卡100的驱动适配层程序126向主控卡200发送文件访问报文。
由于业务卡100本端不存储文件,因此业务卡100的驱动适配层程序126将第一文件访问请求封装为文件访问报文,并发送给业务卡100的通信程序128,由业务卡100的通信程序128向主控卡200发送该文件访问报文。其中,业务卡100的通信程序128是与业务卡100的第一通信单元130适配的,即第一通信单元130采用何种硬件实现方式,业务卡100的通信程序128也应当相应地调整,业务卡100的通信程序128可能是独立的程序,也可能是业务卡100的驱动适配层程序126的一部分。报文的具体格式不作限定,只要和主控卡200之间约定好报文的格式,使得主控卡200能够解析报文即可。
参照图4,在一次文件访问过程中,主控卡200执行的步骤包括:
步骤S410:通过主控卡200的驱动适配层程序226接收业务卡100发送文件访问报文。
步骤S420:通过主控卡200的驱动适配层程序226从文件访问报文中解析出第一文件访问请求。
在同一次文件访问过程中,步骤S410于步骤S330之后执行。主控卡200的通信程序229接收到文件访问报文后,将其转发给主控卡200的驱动适配层程序226,以使其收到。其中,主控卡200的通信程序229是与主控卡200的第二通信单元240相适配的,即第二通信单元240采用何种硬件实现方式,主控卡200的通信程序229也应当相应地调整,主控卡200的通信程序229可能是独立的程序,也可能是主控卡200的驱动适配层程序226的一部分。
步骤S430:通过主控卡200的驱动适配层程序226将第一文件访问请求传递给驱动程序228。
由于第一文件访问请求本来就是驱动级的,所以这里的传递方式可以是透明传输,即不对第一文件访问请求进行额外的处理。仍然以读取文件的情况为例,主控卡200的驱动适配层程序226解析出文件读取请求(第一文件访问请求)后,直接调用第三存储器230的驱动程序228提供的读接口,中间不执行额外的操作,就可以视为将文件读取请求透明传输给了驱动程序228。
步骤S440:驱动程序228响应第一文件访问请求以访问第三存储器230中的文件。
由于硬件驱动程序与具体的硬件是适配的,因此其能够根据第一文件访问请求对第三存储器230中的文件进行访问,例如对文件进行读写擦操作等。
需要指出,在上述文件访问过程中,第一文件访问请求还可以携带数据,例如对于写操作而言,该数据可以是需要写入的内容。
此外,驱动程序228在响应第一文件访问请求后可以产生第一文件访问结果,例如,读操作的文件访问结果可以是读取的数据,写操作和擦操作的文件访问结果可以是表征操作是否正常执行的状态。驱动程序228将第一文件访问请求对应的第一文件访问结果返回给主控卡200的驱动适配层程序226,主控卡200的驱动适配层程序226将第一文件访问结果封装为文件访问响应报文然后将其发送给主控卡200的通信程序229,主控卡200的通信程序229将文件访问响应报文通过通信通道发送给业务卡100。业务卡100的通信程序128接收到文件访问响应报文后,将其转发给业务卡100的驱动适配层程序126,业务卡100的驱动适配层程序126从文件访问响应报文中解析出第一文件访问结果,进而通过业务卡100的文件系统124将文件访问结果返回给业务卡100的上层应用程序122,上层应用程序122可以进行相应的处理,其中,该上层应用程序122可以是指发起本次文件访问的那个上层应用程序。可见,第一文件访问结果经由第三存储器230、驱动程序228、主控卡200的驱动适配层程序226、主控卡200的通信程序229、业务卡100的通信程序128、业务卡100的驱动适配层程序126,业务卡100的文件系统124的路径,最终反馈给业务卡100的上层应用程序122,其顺序和第一文件访问请求从产生到被响应的顺序相反,具体过程就不再详细解释了。
上面提到的文件访问是业务卡100发起的,可以理解的,主控卡200也可以发起对第三存储器230中的文件的访问。具体步骤简述如下:通过主控卡200的文件系统224将主控卡200的上层应用程序222对存储器中的文件的访问行为转化为驱动级的第二文件访问请求,通过主控卡200的驱动适配层程序226将第二文件访问请求传递给驱动程序228,驱动程序228响应第二文件访问请求以访问第三存储器230中的文件。
对于这种情况,主控卡200的驱动适配层程序226只是用于对第二文件访问请求进行中转。中转的方式可以是透明传输,仍然以读取文件的情况为例,主控卡200的驱动适配层程序226响应主控卡200的文件系统224对主控卡200的驱动适配层程序226注册的读接口的回调(回调相当发起文件读取请求),直接调用第三存储器230的驱动程序228提供的读接口,中间不执行额外的操作,就可以视为将文件读取请求(第二文件访问请求)透明传输给了驱动程序228。
综上所述,本申请实施例提供的通信设备10只在主控卡200上设置用于存储文件的存储器(图1、图2中的第三存储器230),无论是主控卡200还是业务卡100都利用该存储器进行文件存储及访问,从而业务卡100上不单独设置用于存储文件的存储器,提高了存储器的利用率,节约了通信设备10的实施成本。同时,通信设备10的硬件设计也得到简化,因为只需要对主控卡200上用于存储文件的存储器进行整体设计即可。
另一方面,该通信设备10还实现了针对上述硬件架构的文件访问机制,即在文件系统层之下、驱动层之上设计驱动适配层,通过业务卡100的驱动适配层程序126向主控卡200的驱动适配层程序126发送文件访问报文的方式,实现业务卡100对主控卡200的存储器中的文件的驱动级访问。从而,业务卡100的上层应用程序122只需与文件系统124对接,无需感知底层的通信机制,无需针对底层的通信机制自己独立地封装传输函数,使得文件访问过程具有良好的通用性。
此外,驱动适配层程序126/226的实现不依赖额外的标准协议(如TCP/IP协议)或上层机制(如远程过程调用RPC)来辅助支撑,其逻辑简单,可靠性更高(不必担心所依赖的协议或机制出现问题)。
并且,本申请实施例提供的文件访问方法中并没有对业务卡100与主控卡200之间采用的通信程序128/229、通信模块、通信通道施加任何限制,意味着在实施过程中可根据需求自由选择,其实用性、可扩展性良好。
进一步的,参照图2,对于一些现有的通信设备,业务卡上已经部署有上层应用程序、文件系统、通信程序,主控卡上已经部署有上层应用程序、文件系统、驱动程序以及通信程序,并且主控卡上已经设置有用于存储文件的存储器,则通过在文件系统层和驱动层之间增加设置驱动适配层,可以使得这些现有的通信设备按照本申请提供的方法进行文件的存储和访问,其改造代价较小(可以无需硬件改动),有效利用了大量已有的设备资源,升级了已有设备的功能,节约了实施成本。
在通信设备10上电时(如启动或重启),板卡会进行初始化,以便支持本申请实施例提供的文件访问机制。初始化可以按照从底层到上层的顺序进行,因为上层的初始化可能依赖于底层初始化的完成。以图2为例,一种可能的初始化顺序是:
初始化驱动程序228,以支持对第三存储器230的驱动级访问;
初始化板卡的通信程序128/229,以支持报文收发;
初始化板卡的驱动适配层程序126/226,包括向各自板卡的文件系统124/224注册文件访问接口(如之前提到的读写擦操作的接口),使能驱动适配层程序126/226的功能;
初始化板卡的文件系统124/224,以支持上层应用程序122/222的文件访问行为。
在初始化时,可以按照,但不限于先主控卡200,后业务卡100的顺序进行,各业务卡100之间还可以并行初始化。
进一步的,在通信设备10的一些实现方式中,第三存储器230可以包括多个分区,每个板卡被分配的分区各不相同。例如,一共有N(N≥2)个板卡,可以在第三存储器230的存储空间中划分出N个分区,每个分区供一个板卡独立使用,互不干扰。但也不排除一个板卡使用多个分区的情况,例如,可以在第三存储器230的存储空间中划分出N+1个分区,主控卡200独立使用两个分区,每个业务卡100独立使用一个分区。还有可能不同板卡被分配的分区存在重叠的情况,这种情况可以通过额外的机制确保共享分区上的文件访问冲突,这里不再进一步阐述。
分区的设定可以在某次驱动适配层程序126/226的初始化过程中进行,每个分区的容量大小可以由各个板卡的驱动适配层程序126/226协商确定,并由主控卡200上的驱动适配层程序226实际完成分区操作。
在一些应用场景中,主控卡200的上层应用程序222可能会接收到针对业务卡的使用的分区和/或分区中的文件的访问请求,例如,可以是查看分区中的文件目录的请求和/或读取分区中业务卡100的私有文件的请求,此时,主控卡200可以对这些访问请求进行响应,将业务卡100使用的分区挂载到主控卡200的文件系统224下(如在很多系统中可以使用mount命令)实现对分区和/或分区中的文件的访问。这一共享访问分区和/或分区中的文件的方式简单快捷,无需像现有技术一样还需要业务卡100将文件封装为报文发送给主控卡200。可以理解的,当主控卡200不需要再访问业务卡使用的分区和/或分区中的文件时,还可以取消分区的挂载。
图5示出了本申请实施例提供的一种文件访问装置500的功能模块图,该装置配置于通信设备10的业务卡100上。参照图5,该装置包括:
请求接收模块510,用于通过业务卡100的驱动适配层程序126从业务卡100的文件系统124获取驱动级的第一文件访问请求,其中,第一文件访问请求是业务卡100的文件系统根据业务卡100的上层应用程序122对主控卡200的第三存储器230中的文件的访问行为转化产生的。
报文封装模块520,用于通过业务卡100的驱动适配层程序126将第一文件访问请求封装为文件访问报文。
报文发送模块530,用于通过业务卡100的驱动适配层程序126向主控卡200发送文件访问报文。
本申请实施例提供的文件访问装置500,其实现原理及产生的技术效果在介绍通信设备10时中已经介绍,为简要描述,装置实施例部分未提及之处,可参考前述施例中相应内容。
图6示出了本申请实施例提供的一种文件访问装置600的功能模块图,该装置配置于通信设备10的主控卡200上。参照图6,该装置包括:
报文接收模块610,用于通过主控卡200的驱动适配层程序226接收业务卡100发送的文件访问报文。
报文解析模块620,用于通过主控卡200的驱动适配层程序226从文件访问报文中解析出对第三存储器230中的文件的驱动级的第一文件访问请求。
请求发送模块630,用于通过主控卡200的驱动适配层程序226将第一文件访问请求传递给第三存储器230的驱动程序228,以使驱动程序228响应第一文件访问操作以访问存储器中的文件。
本申请实施例提供的文件访问装置600,其实现原理及产生的技术效果在介绍通信设备10时中已经介绍,为简要描述,装置实施例部分未提及之处,可参考前述施例中相应内容。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种通信设备,其特征在于,包括:主控卡以及至少一个业务卡,所述主控卡上设置有用于存储文件的存储器;
所述业务卡,用于通过所述业务卡的文件系统将所述业务卡的上层应用程序对所述存储器中的文件的访问行为转化为驱动级的第一文件访问请求,以及通过所述业务卡的驱动适配层程序将所述第一文件访问请求封装为文件访问报文,并向所述主控卡发送所述文件访问报文;
所述主控卡,用于接收所述文件访问报文,通过所述主控卡的驱动适配层程序从所述文件访问报文中解析出所述第一文件访问请求,并将所述第一文件访问请求传递给所述存储器的驱动程序,由所述驱动程序响应所述第一文件访问请求以访问所述存储器中的文件。
2.根据权利要求1所述的通信设备,其特征在于,所述主控卡还用于,通过所述主控卡的驱动适配层程序接收所述驱动程序在响应所述第一文件访问请求后返回的第一文件访问结果,并将所述第一文件访问结果封装为文件访问响应报文,并向所述业务卡发送所述文件访问响应报文;
所述业务卡还用于,通过所述业务卡的驱动适配层程序接收所述文件访问响应报文,并从所述文件访问响应报文中解析出所述第一文件访问结果,以及通过所述业务卡的文件系统将所述文件访问结果返回给所述业务卡的上层应用程序。
3.根据权利要求1所述的通信设备,其特征在于,所述主控卡还用于,通过所述主控卡的文件系统将所述主控卡的上层应用程序对所述存储器中的文件的访问行为转化为驱动级的第二文件访问请求,以及通过所述主控卡的驱动适配层程序将所述第二文件访问请求传递给所述驱动程序,并由所述驱动程序响应所述第二文件访问请求以访问所述存储器中的文件。
4.根据权利要求1所述的通信设备,其特征在于,所述存储器包括多个分区,每个板卡被分配的分区各不相同。
5.根据权利要求4所述的通信设备,其特征在于,所述主控卡还用于,在接收到针对分配给所述业务卡的分区和/或分区中的文件的访问请求时,将分配给所述业务卡的分区挂载到所述主控卡的文件系统下。
6.根据权利要求1-5中任一项所述的通信设备,其特征在于,所述第一文件访问请求包括对文件进行读取操作、写入操作或擦除操作的请求。
7.一种文件访问方法,其特征在于,应用于通信设备中的业务卡,所述通信设备的主控卡上设置有用于存储文件的存储器,所述方法包括:
通过所述业务卡的驱动适配层程序从所述业务卡的文件系统获取驱动级的第一文件访问请求,其中,所述第一文件访问请求是所述业务卡的文件系统根据所述业务卡的上层应用程序对所述存储器中的文件的访问行为转化产生的;
通过所述业务卡的驱动适配层程序将所述第一文件访问请求封装为文件访问报文;
通过所述业务卡的驱动适配层程序向所述主控卡发送所述文件访问报文。
8.一种文件访问方法,其特征在于,应用于通信设备中的主控卡,所述主控卡上设置有用于存储文件的存储器,所述方法包括:
通过所述主控卡的驱动适配层程序接收所述通信设备的业务卡发送的文件访问报文;
通过所述主控卡的驱动适配层程序从所述文件访问报文中解析出对所述存储器中的文件的驱动级的第一文件访问请求;
通过所述主控卡的驱动适配层程序将所述第一文件访问请求传递给所述存储器的驱动程序,以使所述驱动程序响应所述第一文件访问操作以访问所述存储器中的文件。
9.一种文件访问装置,其特征在于,配置于通信设备中的业务卡,所述通信设备的主控卡上设置有用于存储文件的存储器,所述装置包括:
请求接收模块,用于通过所述业务卡的驱动适配层程序从所述业务卡的文件系统获取驱动级的第一文件访问请求,其中,所述第一文件访问请求是所述业务卡的文件系统根据所述业务卡的上层应用程序对所述存储器中的文件的访问行为转化产生的;
报文封装模块,用于通过所述业务卡的驱动适配层程序将所述第一文件访问请求封装为文件访问报文;
报文发送模块,用于通过所述业务卡的驱动适配层程序向所述主控卡发送所述文件访问报文。
10.一种文件访问装置,其特征在于,配置于通信设备中的主控卡,所述主控卡上设置有用于存储文件的存储器,所述装置包括:
报文接收模块,用于通过所述主控卡的驱动适配层程序接收所述通信设备的业务卡发送的文件访问报文;
报文解析模块,用于通过所述主控卡的驱动适配层程序从所述文件访问报文中解析出对所述存储器中的文件的驱动级的第一文件访问请求;
请求发送模块,用于通过所述主控卡的驱动适配层程序将所述第一文件访问请求传递给所述存储器的驱动程序,以使所述驱动程序响应所述第一文件访问操作以访问所述存储器中的文件。
11.一种业务卡,其特征在于,配置于通信设备,所述业务卡包括:第一存储器、第一处理器以及第一通信单元,所述第一通信单元用于与所述通信设备的主控卡通信,所述第一存储器中存储有计算机程序指令,所述计算机程序指令被所述第一处理器读取并运行时,执行如权利要求7所述的方法的步骤。
12.一种主控卡,其特征在于,配置于通信设备,所述主控卡包括:第二存储器、第三存储器、第二处理器以及第二通信单元,所述第二存储器中存储有计算机程序指令,所述第三存储器用于存储文件,所述第二通信单元用于与所述通信设备的业务卡通信,所述计算机程序指令被所述第二处理器读取并运行时,执行如权利要求8所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910591535.3A CN110300178B (zh) | 2019-07-02 | 2019-07-02 | 通信设备、业务卡、主控卡、文件访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910591535.3A CN110300178B (zh) | 2019-07-02 | 2019-07-02 | 通信设备、业务卡、主控卡、文件访问方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110300178A CN110300178A (zh) | 2019-10-01 |
CN110300178B true CN110300178B (zh) | 2021-07-20 |
Family
ID=68030031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910591535.3A Active CN110300178B (zh) | 2019-07-02 | 2019-07-02 | 通信设备、业务卡、主控卡、文件访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110300178B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407217B (zh) * | 2021-06-30 | 2023-05-23 | 迈普通信技术股份有限公司 | 芯片程序升级方法、通信设备及计算机可读存储介质 |
CN113709273B (zh) * | 2021-08-31 | 2023-10-24 | 迈普通信技术股份有限公司 | 地址迁移方法、通信设备及双活系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1632745A (zh) * | 2003-12-22 | 2005-06-29 | 中国电子科技集团公司第三十研究所 | 运用ide接口的多个设备的文件系统操作方法 |
CN100543674C (zh) * | 2007-12-27 | 2009-09-23 | 东信和平智能卡股份有限公司 | 智能卡开放应用的开发方法 |
US20100240413A1 (en) * | 2009-03-21 | 2010-09-23 | Microsoft Corporation | Smart Card File System |
CN102098182B (zh) * | 2011-03-30 | 2014-06-04 | 华为数字技术(成都)有限公司 | 分布式设备的配置恢复方法及分布式设备 |
CN103107906B (zh) * | 2012-11-15 | 2016-06-29 | 瑞斯康达科技发展股份有限公司 | 一种板卡间通信方法、板卡及通信机框设备 |
CN103077243B (zh) * | 2013-01-16 | 2016-03-09 | 北京数码视讯科技股份有限公司 | 文件系统访问的处理方法及系统 |
CN103077354B (zh) * | 2013-02-19 | 2015-03-25 | 成都索贝数码科技股份有限公司 | 一种控制Windows文件系统访问权限的方法 |
CN104156216B (zh) * | 2014-08-14 | 2017-11-03 | 浪潮(北京)电子信息产业有限公司 | 一种面向云计算的异构存储管理系统及方法 |
CN105808277A (zh) * | 2014-12-31 | 2016-07-27 | 阿里巴巴集团控股有限公司 | 一种卡片式桌面的实现方法、装置和系统 |
CN105939294B (zh) * | 2015-09-06 | 2019-07-09 | 杭州迪普科技股份有限公司 | 报文控制的方法及装置 |
CN106230717B (zh) * | 2016-07-22 | 2020-01-03 | 新华三技术有限公司 | 集群系统中的路由获取方法及装置 |
-
2019
- 2019-07-02 CN CN201910591535.3A patent/CN110300178B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110300178A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108449418B (zh) | 一种混合云平台管理系统及方法 | |
CN112416840B (zh) | 一种计算资源的远程映射方法、装置、设备及存储介质 | |
CN113596184A (zh) | 混合云系统、网闸、网络访问方法及存储介质 | |
CN114205342B (zh) | 服务调试的路由方法、电子设备及介质 | |
CN110300178B (zh) | 通信设备、业务卡、主控卡、文件访问方法及装置 | |
US20240281400A1 (en) | Communication method and system for distributed heterogeneous acceleration platform, device and medium | |
CN110324281B (zh) | 一种车载网络控制器刷新系统及方法 | |
CN111586629A (zh) | 一种ZigBee方式下车辆远程诊断方法以及相关装置 | |
CN115080479B (zh) | 传输方法、服务器、设备、裸金属实例及基板管理控制器 | |
CN110858821A (zh) | 容器通信方法及装置 | |
CN112291259B (zh) | 一种协议转换方法、网关、设备及可读存储介质 | |
CN112035393A (zh) | 一种节约双片上系统存储资源的方法、双片上系统 | |
CN111970748B (zh) | 数据传输方法及装置、ap设备和存储介质 | |
CN115002840A (zh) | 设备数据传输方法、装置、电子设备及存储介质 | |
CN113076128B (zh) | 用于机器人配置的方法、装置、电子设备及存储介质 | |
US10754661B1 (en) | Network packet filtering in network layer of firmware network stack | |
CN109150810B (zh) | 机顶盒融合网关及其启动方法、装置和存储介质 | |
WO2015192497A1 (zh) | 通信链路的发送方法、装置及终端 | |
CN117032040B (zh) | 传感器数据获取方法、装置、设备及可读存储介质 | |
CN116389357B (zh) | 基于片上网络的空洞地址处理方法、装置、设备及介质 | |
CN115022387B (zh) | 跨域预检请求的处理方法、装置、设备及介质 | |
CN114095458B (zh) | 一种数据处理方法及装置 | |
CN115174552B (zh) | 基于web操作系统的局域网通信和文件传输方法及系统 | |
CN113721995B (zh) | 一种智能子卡的加载方法、装置及存储介质 | |
CN111352748B (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 |