CN110568996A - 基于设备驱动程序的本地存储容量扩充系统 - Google Patents
基于设备驱动程序的本地存储容量扩充系统 Download PDFInfo
- Publication number
- CN110568996A CN110568996A CN201910836229.1A CN201910836229A CN110568996A CN 110568996 A CN110568996 A CN 110568996A CN 201910836229 A CN201910836229 A CN 201910836229A CN 110568996 A CN110568996 A CN 110568996A
- Authority
- CN
- China
- Prior art keywords
- terminal
- data
- server
- type
- device driver
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 128
- 238000004891 communication Methods 0.000 claims abstract description 75
- 230000005540 biological transmission Effects 0.000 claims abstract description 22
- 230000003993 interaction Effects 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 31
- 238000012423 maintenance Methods 0.000 claims description 15
- 238000007726 management method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 8
- 238000013524 data verification Methods 0.000 claims description 3
- 238000011982 device technology Methods 0.000 claims description 3
- 238000012856 packing Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 14
- 230000006870 function Effects 0.000 description 62
- 238000000034 method Methods 0.000 description 24
- 230000008901 benefit Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013144 data compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012857 repacking Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了基于设备驱动程序的本地存储容量扩充系统,包括三种不同类型的终端与服务端进行交互,所有终端与服务端相互间进行数据传输,所述终端包括类型一终端、类型二终端和类型三终端,所述类型一终端、类型二终端内的操作系统分为用户空间和内核空间,所述类型一终端通过内核空间内的驱动程序与服务端进行交互,所述类型二终端通过用户空间内的终端网络通信库与服务端进行交互,所述类型三终端包括嵌入式应用程序和函数库,通过嵌入式应用程序和函数库配合与服务端进行交互。所述三种类型的终端包含的程序集为用户创建若干个本地存储设备或者通过软总线、虚拟总线接口、虚拟总线设备、虚拟存储设备技术创建若干个存储设备以此来实现本地存储容量的扩充。
Description
技术领域
本发明涉及一种存储容量扩充系统,具体涉及基于设备驱动程序的本地存储容量扩充系统。
背景技术
随着信息技术的发展,大量的信息经过数字化转化为计算机可识别的数据,交由现有的计算机系统进行处理,对现有的计算机存储系统提出了新的要求,需要计算机系统具有弹性的数据存储能力。现有的计算机系统存储配额大都在业务系统上线之前就已经标定,后期进行存储容量扩展时,通常需要进行系统停机处理,难以满足现代应用对于不停机、弹性化的动态扩容需求。在智能设备中,用户可能因为拍摄大量照片、视频等导致存储设备容量不够用,而现代智能设备的存储扩展能力有限,难以弹性地满足用户对于存储设备的容量扩展需求。
为了解决上述的用户对存储扩容的需求,以及由于云计算的普及,许多公司推出了云存储服务,各种各样的云盘应运而生。2005年gmail的大容量空间已被用户用来存储文件,此时网盘的概念渐渐普及。2009年115网盘、华为DBank等成为国内网盘的代表。2012年,各家网盘纷纷崛起,著名的有百度网盘、天翼云、沃家网盘、115网盘等,网盘进入3.0时代,个人云存储占据绝对主角。
现有的各家网盘是在应用层实现的,用户必须安装一个网盘对应的客户端应用程序,然后通过这个客户端软件来上传、下载自己的数据,使用云端的存储资源。这种实现方式存在很多的限制,首先是使用麻烦,用户要将自己的数据上传到云端或者从云端下载数据,都必须手动通过客户端软件进行,不能做到透明化、本地化操作;然后是用户体验不佳,用户存储在云端的每个文件,在每次使用之前,都必须先通过客户端软件将其完整下载到本地,这样的一个等待过程极其影响用户体验;再者当前各家网盘不能针对用户的资源使用情况进行动态化、定制化、细粒度地调整云端资源配置,一般对用户的存储扩容都在GB级及以上进行。
在企业存储领域,传统的网络存储技术包括在文件系统层次上实现的网络文件系统(NFS)、在磁盘层次实现的iSCSI、网络块设备(NBD)等技术,但是上述几种技术皆是针对企业网络而设计,不能适用于复杂多变的移动网络环境,也无法满足现阶段各类智能终端和嵌入式设备对存储设备提出的动态性、定制性、移动性需求。
随着5G的快速发展,网络基础设施的快速完善,如何构建一种对用户透明、快速响应、定制性高的云存储系统就是一个十分有价值的问题。本发明方法放弃当前各大网盘在用户态实现客户端应用程序,并且通过此客户端软件与云端存储系统进行通信的模式,而直接向上层提供若干虚拟的本地存储设备。用户可将此新增的存储设备直接当作本地设备进行使用。这使得用户可以像使用本地物理存储设备一样使用这个设备,完全没有任何差别,做到了完全的透明性。本发明方法不仅可以使用在一些常见的智能终端设备上,还可以进行修改、定制、移植到一些嵌入式设备中,具有广阔的应用前景。
发明内容
本发明所要解决的技术问题是开发一个程序集为用户虚拟若干个本地存储设备,程序集中包含相应的终端网络通信库、终端用户态程序和设备驱动程序。所述的终端网络通信库将该存储设备上的各种设备读写请求实时发送到远程服务端上,然后服务端根据用户的请求在其后端存储网上进行相应的操作,例如挂载指定存储设备、查询容量、读写数据等,然后将操作结果及用户数据(进行数据读操作的时候)返回给终端网络通信库,终端网络通信库与设备驱动程序交互,设备驱动程序再通告请求完成,以此来实现本地存储容量的扩充,目的在于提供基于设备驱动程序的本地存储容量扩充系统。
本发明通过下述技术方案实现:
基于设备驱动程序的本地存储容量扩充系统,包括三种不同类型的终端与服务端连接,所有终端与服务端相互间进行数据传输,所述终端包括类型一终端、类型二终端和类型三终端,所述类型一终端、类型二终端内的操作系统分为用户空间和内核空间,所述类型一终端通过内核空间内的驱动程序与服务端交互,所述类型二终端通过用户空间内的终端网络通信库与服务端交互,所述类型三终端包括嵌入式应用程序和函数库,通过嵌入式应用程序和函数库配合将数据传输至服务端内。
在传统的存储系统中,这个应用编程接口(API)是SCSI/iSCSI协议,但是在云环境中,这些协议在演化,出现了Web服务前端、基于文件的前端甚至更多传统前端。在前端后面是一个中间层,称作存储逻辑,该层通过传统的数据放置算法(考虑地理布局)实现各种功能,比如复制和数据压缩。最后,后端实现对数据的物理存储,这可能是一个实现特定功能的内部协议或物理磁盘的传统后端。
云存储与传统存储之间最显著的差异之一是其访问方法,大部分提供商实现多个访问方法,但是Web服务应用编程接口(APIs)是最常见的。许多APIs是基于REST原则实现的,即在HTTP之上开发(使用HTTP协议进行传输)的一种基于对象的方案。云存储的访问方法都是通过在应用层设计一些上层协议来实现数据传输、访问。
云存储的性能表现为很多方面,但是在用户与远程云存储提供商之间移动数据的能力是云存储最大的挑战。问题就是网络的传输控制协议(TCP),它同时也是互联网的主力。TCP基于数据包确认从对等端点控制数据流。数据包丢失或延迟到达情况下将启用拥塞控制,进一步限制性能以避免更多全局网络问题。TCP适用于通过全局Internet启用小量数据,但不适用于会增加往返时间(RTT)的大型数据移动。
在嵌入式应用领域和工业互联网中,工厂车间或其它工业设施所产生的数据,都是一个个离散点、模拟量值、智能设备状态、条形码等等,人机界面(HMI)数据集中器与控制器相连,旨在将这些信息汇集在一起,提供给本地运行人员使用。HMI数据集中器与控制器协同工作,从边缘设备上收集所有的数据,供实时运行使用,并可据此进行工艺过程的改进。有些信息需要存储,通常用作分析数据,以便改进运营活动。数据集中器提供的数据,由云端进行存储。推动数据甚至是HMI应用程序的云端化,为利用数据分析保持机器和流程的效率提供了一种途径。
在某些应用中,嵌入式HMI可能是没有本地显示的“光秃秃的”设备。在这种情况下,所有的操作员界面功能都可以通过将本地智能设备,如智能手机或平板电脑,连接到云端来实现。这些混合系统不仅提供HMI的数据汇集功能和操作界面,还具有为远程设备提供实时和历史信息的能力。虽然大部分数据能够输送到云端,但是仍然需要本地操作和监控,仍然需要将这些数据传递给需要的人进行管理,或者是传递到制造链中的任何其它环节。而这种方式的缺点在于云存储的访问方法采用上层设计的数据访问协议进行数据传输,这就使得访问需要借助一个中间的上层应用程序,不能做到透明,不能使终端像使用本地数据一样使用云端存储的数据,云端数据在使用之前必须先下载到本地,中间的数据传输时延降低了业务系统的处理效率;对于个人用户而言,这样的传输时延大大降低了用户体验;并且在嵌入式工业应用领域,为了支持使用上层协议和云端进行数据通信,嵌入式端需要具有足够的软硬件资源,这就提高了嵌入式设备的硬件和软件设计成本。
因此,本申请文件采用的技术要解决的技术问题需要开发一个程序集为用户虚拟若干个本地存储设备,程序集中包含相应的终端网络通信库、终端用户态程序和设备驱动程序。所述的终端网络通信库将该存储设备上的各种设备读写请求实时发送到远程服务端上,然后服务端根据用户的请求在其后端存储网上进行相应的操作,例如挂载指定存储设备、查询容量、读写数据等,然后将操作结果及用户数据(进行数据读操作的时候)返回给终端网络通信库,终端网络通信库与设备驱动程序交互,设备驱动程序再通告请求完成,以此来实现本地存储容量的扩充。本发明与现有技术方案的最大不同是,额外具有本地性与移动性。本地性指终端设备上的应用程序使用本技术提供的存储设备与本地物理设备无差别,移动性提供在网络环境变更状态下的会话保持功能,可将旧网络环境下的会话无缝迁移到新网络环境下,以提供流畅、一致、无感知的使用体验。
进一步地,所述类型一终端的用户空间内安装有终端用户态程序,内核空间安装有设备驱动程序,终端网络通信库内置在设备驱动程序内,终端用户态程序将控制命令和参数发送至设备驱动程序,通过设备驱动程序进行处理后,通过终端网络通信库与服务端进行数据交换。
进一步地,所述类型二终端的用户空间内安装有终端用户态程序和终端网络通信库,内核空间安装有设备驱动程序,终端用户态程序与终端网络通信库和设备驱动程序进行数据交互,终端网络通信库与服务端进行数据交互。
进一步地,所述终端用户态程序用于:将用户的操作转化为对设备驱动程序的带有参数的控制命令,并将控制命令和参数发送至设备驱动程序,同时为设备驱动程序提供必要的资源访问服务;所述设备驱动程序用于:在终端操作系统中创建若干个本地存储设备或者通过软总线、虚拟总线接口、虚拟总线设备、虚拟存储设备技术创建若干个存储设备,接收操作系统组件发送的存储设备读写、查询、控制等请求,将请求进行重新打包,并通过集成于本终端程序中的终端网络通信库发送至服务端,并保证虚拟出的存储设备的本地性;所述终端网络通信库用于:与服务端进行交互,并保证移动环境下数据传输的可靠性、机密性、完整性、校验及进行会话保持。
进一步地,所述类型三内的嵌入式应用程序用于:网络收发数据函数由嵌入式应用程序的配套软件实现,且由嵌入式应用程序的开发商提供,所述函数库用于:从外部接受网络收发数据函数的回调注册操作,同时对外提供通用的数据读写接口;函数库内部实现请求打包、发送至服务端、接收服务端响应、通知函数库调用者数据到达,在函数库内部的网络函数部分,实现数据机密性、完整性、可认证和移动会话保持。
进一步地,所述服务端包括服务端网络通信库、请求处理模块和数据源管理模块,所述服务端网络通信库用于:接收各终端发送的数据,与请求处理模块进行数据交互,接收请求处理模块反馈的数据,将反馈数据发送至对应终端;所述请求处理模块用于:通过服务端网络通信库接收终端传输来的储存设备操作请求,包括读写请求、存储设备控制命令,并与服务端网络通信库和数据源管理模块相互间进行数据交互;所述数据源管理模块用于:与请求处理模块进行数据交互,向请求处理模块提供用户的请求响应数据,执行储存设备操作,向请求处理模块返回操作结果,该操作结果包括读写结果、响应数据、存储设备控制命令执行情况等。
本发明与现有技术相比,具有如下的优点和有益效果:
1、本发明通过存储设备虚拟技术,从系统底层实现了本地存储容量扩充系统。相比于现阶段网盘的“先下载再打开”的方案,本发明提出的技术可使得原有软件在采用本基于设备驱动程序的本地存储容量扩充系统提供的存储设备上不加改动直接读写,完全免去网盘的下载流程,本基于设备驱动程序的本地存储容量扩充系统在使用体验上和本地物理存储设备体验一致,兼容性强,相比于网盘,应用范围更广;
2、本发明提出的基于设备驱动程序的本地存储容量扩充系统,具有移动会话保持功能。用户在各个网络之间切换时,本技术自动进行移动会话保持,自动将旧网络环境下建立的存储设备会话切换到新网络环境下,有效解决了移动终端网络环境、IP地址频繁变化时,传统的网络存储技术无法适配等问题;
3、本发明提出的基于设备驱动程序的本地存储容量扩充系统,具有存储设备数据透明加密功能。用户可根据需要判断存储设备是否加密,自定义加密密钥,服务端存储的是加密后的数据。加密解密在终端完成,加密流程用户完全自主可控。在输入正确解密密钥的情况下,加密后的存储设备对于上层应用程序完全透明,上层应用程序感知不到加密的存在。在不改变用户原有操作习惯的前提下,有效保障了用户数据的隐私性。
4、本发明提出的基于设备驱动程序的本地存储容量扩充系统,对设备的电力、数据等消耗极少,可有效节约能源,延长设备续航时间,尤其适合条件受限的移动设备;
5、本发明提出的基于设备驱动程序的本地存储容量扩充系统,可实现用户数据在多设备间的无缝访问。即将旧设备的存储器直接挂载在新设备上。当用户从旧设备切换到新设备,或者从家用设备切换到办公设备时,本发明提出的基于设备驱动程序的本地存储容量扩充系统可提供快速平滑的多设备间的数据访问体验,尤其适合经常需要在不同场合同步资料的用户,如:政府机关、国企和事业单位、经常出差的商务人员,在多个地点间往返的移动办公人员,大学讲师等;
6、本发明提出的基于设备驱动程序的本地存储容量扩充系统,可以实现终端操作系统、应用程序、资料等的在线升级,仅仅只需要简单重启设备就可以实现升级操作。即重启后挂载已经升级后的新系统、应用程序、资料等,而不需要进行现有的在系统编程(ISP)、在应用编程(IAP)、over-the-air(OTA)等升级技术的介入。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为现有技术网络文件系统(NFS)系统架构系统流程框图。
图2为现有技术云存储访问方法系统流程框图。
图3为本发明三种终端实现以及服务端实现系统流程框图。
图4为本发明类型一终端、类型二终端程序工作原理图。
图5为本发明类型三终端程序工作原理图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例一
如图1~5所示,基于设备驱动程序的本地存储容量扩充系统,包括三种不同类型的终端与服务端连接,所有终端与服务端相互间进行数据传输,所述终端包括类型一终端、类型二终端和类型三终端,所述类型一终端、类型二终端内的操作系统分为用户空间和内核空间,所述类型一终端通过内核空间内的驱动程序与服务端进行交互,所述类型二终端通过用户空间内的终端网络通信库与服务端进行交互,所述类型三终端包括嵌入式应用程序和函数库,通过嵌入式应用程序和函数库配合与服务端进行交互。
在现有技术当中,主要有两种技术方案,其中第一种为:网络文件系统(NFS)是一种可以通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录的技术。NFS客户端(一般为应用服务器)可以通过挂载(mount)的方式将NFS服务端共享的数据目录挂载到本地系统中(某个挂载点下,就是一个目录,可以随意制定)。从客户端本地看来,NFS服务端共享的目录就好像是客户端自己的磁盘分区或目录一样,而实际的是远端服务器上的目录。在服务端安装好一个共享目录以后,其他有权限访问NFS服务端目录的客户端都可以将这个共享目录挂载到本地的某个挂载点上,客户端正确挂载后,就可以进入NFS客户端挂载点所在的目录进行数据存储、读写等操作,在客户端查看时,NFS服务端的目录就相当于客户端本地的目录,几乎感觉不到使用上的区别。NFS一般用来存储共享视频、图片等静态数据。
NFS是通过网络来进行服务端和客户端之间的数据传输,两者之间要传输数据就要用相对应的端口来进行传输。NFS服务端是通过随机选择端口来进行数据传输的,NFS服务端首先通过远程过程调用(RPC)协议/服务来与客户端协商使用的端口号,然后利用这些端口(小于1024)来进行数据传输。端口映射(portmap)就是用来统一管理NFS端口的服务,并且统一对外的端口为111,NFS服务端需要先启动远程过程调用服务,再启动NFS服务,这样NFS才能将自己随机选择的端口进行注册,客户端才用远程过程调用协议来获取服务端使用的端口信息,最终使用获取到的端口号进行数据传输。网络文件系统(NFS)的系统架构如图1所示。NFS具有以下局限性:1、存在单点故障,如果NFS服务端宕机了,所有客户端都将不能访问共享目录。2、在高并发场合,NFS性能有限。3、只能用于内网,不能支持广域网文件共享和网络状况复杂多变的移动场景。4、NFS数据采用明文传输,且对数据完整性不做验证。多机器连接服务端时,连接管理麻烦,尤其当NFS服务端出现问题后,所有客户端的连接都将被断开,不能使用其服务。这种技术方案会有一定缺陷,具体为网络文件系统(NFS)主要应用于各企业、组织机构等网络状况较稳定的内网环境,不能解决网络环境复杂、移动场景下用户的文件共享和云存储需求,并且其在高并发场合下性能有限。
第二种方式为云存储,云存储是与云计算同时兴起的一个概念。云存储一般包含两个含义:云存储是云计算的存储部分,即虚拟化的、易于扩展的存储资源池。用户通过云计算使用存储资源池,但不是所有的云计算的存储部分都是可以分离的。云存储意味着存储可以作为一种服务,通过网络提供给用户。用户可以通过若干种方式来使用存储,并按时间(时间、空间或两者结合)进行付费;通过网络开发接口(如REST)使得第三方网站可以通过云存储提供的服务为用户提供其自身的服务;此外,用户也可以直接使用存储相关的的在线服务,比如网络硬盘等。云存储架构主要关乎以一个高度可扩展和多租户的方式按需交付存储。通用的云存储架构如图2所示,其包含一个导出应用编程接口(API)以访问存储的前端。
在传统的存储系统中,这个应用编程接口(API)是SCSI/iSCSI协议,但是在云环境中,这些协议在演化,出现了Web服务前端、基于文件的前端甚至更多传统前端。在前端后面是一个中间层,称作存储逻辑,该层通过传统的数据放置算法(考虑地理布局)实现各种功能,比如复制和数据压缩。最后,后端实现对数据的物理存储,这可能是一个实现特定功能的内部协议或物理磁盘的传统后端。
云存储与传统存储之间最显著的差异之一是其访问方法,大部分提供商实现多个访问方法,但是Web服务应用编程接口(APIs)是最常见的。许多APIs是基于REST原则实现的,即在HTTP之上开发(使用HTTP协议进行传输)的一种基于对象的方案。云存储的访问方法都是通过在应用层设计一些上层协议来实现数据传输、访问。
本申请文件的类型一终端、类型二终端、类型三终端具体的实施过程如下:
对于所述类型一终端和所述类型二终端在设备驱动程序内部,定义一个请求处理模块,接收操作系统组件发来的各类操作请求,并进行解析,然后终端通过终端网络通信库与服务端进行通信;对于类型三终端,则以函数库实现;
在终端开发一种设备驱动程序,对于类型三终端,开发一种函数库;
设备驱动程序对上层组件透明,设备驱动程序创建若干个本地存储设备或者通过软总线、虚拟总线接口、虚拟总线设备、虚拟存储设备技术创建若干个存储设备,操作系统组件将请求传送到本设备驱动程序;对于类型三终端,函数库导出处理各类操作请求的函数。
驱动程序将操作请求进行重新打包,加密后通过终端程序网络通信库,发送至服务端;对于类型三终端,由函数库完成请求的重新打包,并通过嵌入式硬件方案指定的网络通信模块,将打包后的请求发送到服务端。
服务端根据终端的请求在服务器上进行数据读写,并将读写结果实时传回终端,终端通过驱动程序/函数库的形式,通告数据读写完成。
终端实现一种终端网络通信库,保障移动环境下传输的可靠性、机密性、完整性、校验及会话保持;对于类型三终端,终端网络通信库在函数库内实现。在终端网络通信库实现端到端数据的可靠传输;终端网络通信库实现端到端数据的机密性、完整性和校验功能;终端网络通信库实现当前网络会话状态保持,当终端在不同网络环境间的切换时,主动向服务端发起会话状态保持操作,不中断地将旧网络环境下的会话迁移到新网络环境下,只要是终端网络通信库,就支持会话保持功能。
图4展示了本发明在有操作系统且区分用户空间和内核空间的工作原理。
图5展示了本发明在其他操作系统或无操作系统下的工作原理。
虚线部分表明了终端和服务端的范围。图4和图5中请求处理模块与网络通信模块以及其所在的位置均为本发明的内容。这两个模块运行在内核空间和用户空间中。
在类型三终端中,上述的在设备驱动程序内部,定义一个请求处理模块,接收操作系统组件发来的各类操作请求,并进行解析,然后通过终端的网络通信库与服务端进行通信;对于类型三终端,则以函数库实现进一步包括:通过服务端网络通信库接收终端传输来的储存设备操作请求,该请求包括读写请求、存储设备控制命令;解析请求信息;调用内核空间网络通信模块和用户空间网络通信模块与云端服务器通信;发送请求到服务端。对于类型三终端,上述功能由函数库实现。
上述的在终端开发一种设备驱动程序,对于类型三终端,开发一种函数库进一步包括:定义设备驱动程序/函数库的初始化函数;定义设备驱动程序/函数库的退出函数;定义设备请求处理模块,对于其他操作系统或者无操作系统的嵌入式设备,由函数库内部实现请求序列化以及请求处理;定义设备驱动程序/函数库的各种操作函数集合,包括但不限于进行数据读写,执行控制命令等功能的函数。
上述的设备驱动程序对上层组件透明,设备驱动程序创建若干个本地存储设备或者通过软总线、虚拟总线接口、虚拟总线设备、虚拟存储设备技术创建若干个存储设备,操作系统组件将请求传送到本设备驱动程序;对于类型三终端,函数库导出处理各类操作请求的函数进一步包括:设备驱动程序对上层组件透明,操作系统组件认为挂载了一个实际的存储设备;设备驱动程序对操作系统注册为一个操作真实存在的存储设备驱动程序,操作系统按照管理一般存储设备的方法管理本设备。设备驱动程序将直接接收操作系统组件生成的存储设备操作请求;对于类型三终端,函数库提供一套统一、标准的数据读写接口,以供嵌入式设备中的其他程序调用。
上述的驱动程序将操作请求进行重新打包,加密后通过终端网络通信库,发送至服务端;对于类型三终端,由函数库完成请求的重新打包,并通过嵌入式硬件方案指定的网络通信模块,将打包后的请求发送到服务端进一步包括:
初始化终端网络通信库,建立到服务端的可靠端对端传输;将请求信息进行重新打包封装;将打包好的请求信息进行高强度加密;通过终端网络通信库,将数据发送至服务端。对于类型三终端,函数库向外部提供标准的网络收发数据的注册方法,由嵌入式设备的网络通信模块配套软件初始化通信模块后,将收发数据的函数注册到本函数库,本函数库将其他程序传来的读写请求打包后,通过发送数据的函数,将数据发送至服务端。上述的服务端根据终端的请求在服务器上进行数据读写,并将读写结果实时传回终端,终端通过驱动程序/函数库的形式,通告数据读写完成进一步包括:服务端根据接收到的请求的具体内容判断请求类型(读、写、查询和控制等);服务端根据请求内容读写相应存储在服务器上的终端数据;
服务端读写内容后通过网络发回终端;服务端网络通信库支持移动网络下的会话保持;终端将收到的内容进行解密,传递给对应的操作系统组件;对于类型三终端,由函数库通知其调用者数据到达。上述的终端实现一种终端网络通信库,保障移动环境下传输的可靠性、机密性、完整性、校验及会话保持;对于类型三终端,终端网络通信库在函数库内实现进一步包括:
终端网络通信库实现端到端数据的可靠传输;终端网络通信库实现端到端数据的机密性、完整性和校验功能;终端网络通信库实现当前网络会话状态保持,当终端在不同的网络环境间切换时,终端网络通信库暂停旧网络环境下的会话,并在切换到新网络环境下后,主动向服务端发送会话保持请求,服务端接收此请求后,主动将终端在旧网络环境下的会话迁移到新网络环境,同时通知终端会话状态迁移完成;对于类型三终端,其终端网络通信库嵌入在函数库中进行实现,提供上述的可靠传输、机密性、完整性、校验、会话保持功能。
实施例二
本实施例在实施例一的基础上进行优化,所述类型一终端的用户空间内安装有终端用户态程序,内核空间安装有设备驱动程序,终端网络通信库内置在设备驱动程序内,终端用户态程序将控制命令和参数发送至设备驱动程序,通过设备驱动程序进行处理后,通过终端网络通信库与服务端进行数据交换。
所述类型二终端的用户空间内安装有终端用户态程序和终端网络通信库,内核安装有设备驱动程序,终端用户态程序与终端网络通信库和设备驱动程序进行数据交互,终端网络通信库与服务端进行数据交互。
所述终端用户态程序用于:将用户的操作转化为对设备驱动程序的带有参数的控制命令,并将控制命令和参数发送至设备驱动程序,同时为设备驱动程序提供必要的资源访问服务;所述设备驱动程序用于:在终端操作系统中创建若干个本地存储设备或者通过软总线、虚拟总线接口、虚拟总线设备、虚拟存储设备技术创建若干个存储设备,接收操作系统组件发送的存储设备读写、查询、控制等请求,将请求进行重新打包,并通过集成于本终端程序中的终端网络通信库发送至服务端;所述终端网络通信库用于:与服务端进行交互,并保证移动环境下数据传输的可靠性、机密性、完整性、校验及进行会话保持。
所述类型三内的嵌入式应用程序用于:网络收发数据函数由嵌入式应用程序的配套软件实现,且由嵌入式应用程序的开发商提供,所述函数库用于:从外部接受网络收发数据函数的回调注册操作,同时对外提供通用的数据读写接口;函数库内部实现请求打包、发送至服务端、接收服务端响应、通知函数库调用者数据到达,在函数库内部的网络函数部分,实现数据机密性、完整性、可认证和移动会话保持。
所述服务端包括服务端网络通信库、请求处理模块和数据源管理模块,所述服务端网络通信库用于:接收各终端发送的数据,与请求处理模块进行数据交互,接收请求处理模块反馈的数据,将反馈数据发送至对应终端内;所述请求处理模块用于:通过服务端网络通信库接收终端传输来的储存设备操作请求,并与服务端网络通信库和数据源管理模块相互间进行数据交互;所述数据源管理模块用于:与请求处理模块进行数据交互,向请求处理模块提供用户的请求响应数据,执行储存设备操作,向请求处理模块返回操作结果。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.基于设备驱动程序的本地存储容量扩充系统,其特征在于,包括三种不同类型的终端与服务端连接,所有终端与服务端相互间进行数据传输,所述终端包括类型一终端、类型二终端和类型三终端,所述类型一终端、类型二终端内的操作系统分为用户空间和内核空间,所述类型一终端通过内核空间内的驱动程序内将数据传输至服务端,所述类型二终端通过用户空间内的终端网络通信库将数据传输至服务端,所述类型三终端包括嵌入式应用程序和函数库,嵌入式应用程序和函数库配合将数据传输至服务端。
2.根据权利要求1所述的基于设备驱动程序的本地存储容量扩充系统,其特征在于,所述类型一终端的用户空间内安装有终端用户态程序,内核空间安装有设备驱动程序,终端网络通信库内置在设备驱动程序内,终端用户态程序将控制命令和参数发送至设备驱动程序,设备驱动程序进行处理后,通过其内置的终端网络通信库与服务端进行数据交换。
3.根据权利要求1所述的基于设备驱动程序的本地存储容量扩充系统,其特征在于,所述类型二终端的用户空间内安装有终端用户态程序和终端网络通信库,内核空间安装有设备驱动程序,终端用户态程序与终端网络通信库和设备驱动程序进行数据交互,终端网络通信库与服务端进行数据交互。
4.根据权利要求2、3中任意一项所述的基于设备驱动程序的本地存储容量扩充系统,其特征在于,所述终端用户态程序用于:将用户的操作转化为对设备驱动程序的带有参数的控制命令,并将控制命令和参数发送至设备驱动程序,同时为设备驱动程序提供必要的资源访问服务;所述设备驱动程序用于:在终端操作系统中创建若干个本地存储设备或者通过软总线、虚拟总线接口、虚拟总线设备、虚拟存储设备技术创建若干个存储设备,接收操作系统组件发送的存储设备读写、查询、控制等请求,将请求进行重新打包,并通过集成于本终端程序中的终端网络通信库发送至服务端;所述终端网络通信库用于:与服务端进行交互,并保证移动环境下数据传输的可靠性、机密性、完整性、校验及进行会话保持。
5.根据权利要求1所述的基于设备驱动程序的本地存储容量扩充系统,其特征在于,所述类型三内的嵌入式应用程序用于:网络收发数据函数由嵌入式应用程序的配套软件实现,且由嵌入式应用程序的开发商提供,所述函数库用于:从外部接受网络收发数据函数的回调注册操作,同时对外提供通用的数据读写接口;函数库内部实现请求打包、发送至服务端、接收服务端响应、通知函数库调用者数据到达,在函数库内部的网络函数部分,实现数据机密性、完整性、可认证和移动会话保持。
6.根据权利要求1所述的基于设备驱动程序的本地存储容量扩充系统,其特征在于,所述服务端包括服务端网络通信库、请求处理模块和数据源管理模块,所述服务端网络通信库用于:接收各终端发送的数据,与请求处理模块进行数据交互,接收请求处理模块反馈的数据,将反馈数据发送至对应终端;所述请求处理模块用于:通过服务端网络通信库接收终端传输来的储存设备操作请求,并与服务端网络通信库和数据源管理模块相互间进行数据交互;所述数据源管理模块用于:与请求处理模块进行数据交互,向请求处理模块提供用户的请求响应数据,执行储存设备操作,向请求处理模块返回操作结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910836229.1A CN110568996A (zh) | 2019-09-05 | 2019-09-05 | 基于设备驱动程序的本地存储容量扩充系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910836229.1A CN110568996A (zh) | 2019-09-05 | 2019-09-05 | 基于设备驱动程序的本地存储容量扩充系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110568996A true CN110568996A (zh) | 2019-12-13 |
Family
ID=68778013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910836229.1A Pending CN110568996A (zh) | 2019-09-05 | 2019-09-05 | 基于设备驱动程序的本地存储容量扩充系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110568996A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637551A (zh) * | 2022-03-03 | 2022-06-17 | 杭州义益钛迪信息技术有限公司 | 设备驱动方法、系统及存储介质 |
CN117971749A (zh) * | 2024-04-01 | 2024-05-03 | 南京天创电子技术有限公司 | 基于分布式架构虚拟总线技术的业务控制系统及架构方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506840A (zh) * | 2002-12-09 | 2004-06-23 | 联想(北京)有限公司 | 利用虚拟设备文件系统扩充移动设备存储容量的方法 |
CN1859728A (zh) * | 2005-07-20 | 2006-11-08 | 华为技术有限公司 | 网络中激活态an之间软切换及会话迁移的实现方法 |
WO2012042509A1 (en) * | 2010-10-01 | 2012-04-05 | Peter Chacko | A distributed virtual storage cloud architecture and a method thereof |
CN103944890A (zh) * | 2014-04-08 | 2014-07-23 | 山东乾云启创信息科技有限公司 | 基于客户端/服务器模式的虚拟交互系统及方法 |
CN104636076A (zh) * | 2013-11-15 | 2015-05-20 | 中国电信股份有限公司 | 一种用于云存储的分布式块设备驱动方法和系统 |
CN107113178A (zh) * | 2015-01-08 | 2017-08-29 | 耐腾信股份公司 | 具有终端会话恢复功能的网络通信方法 |
-
2019
- 2019-09-05 CN CN201910836229.1A patent/CN110568996A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506840A (zh) * | 2002-12-09 | 2004-06-23 | 联想(北京)有限公司 | 利用虚拟设备文件系统扩充移动设备存储容量的方法 |
CN1859728A (zh) * | 2005-07-20 | 2006-11-08 | 华为技术有限公司 | 网络中激活态an之间软切换及会话迁移的实现方法 |
WO2012042509A1 (en) * | 2010-10-01 | 2012-04-05 | Peter Chacko | A distributed virtual storage cloud architecture and a method thereof |
CN104636076A (zh) * | 2013-11-15 | 2015-05-20 | 中国电信股份有限公司 | 一种用于云存储的分布式块设备驱动方法和系统 |
CN103944890A (zh) * | 2014-04-08 | 2014-07-23 | 山东乾云启创信息科技有限公司 | 基于客户端/服务器模式的虚拟交互系统及方法 |
CN107113178A (zh) * | 2015-01-08 | 2017-08-29 | 耐腾信股份公司 | 具有终端会话恢复功能的网络通信方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114637551A (zh) * | 2022-03-03 | 2022-06-17 | 杭州义益钛迪信息技术有限公司 | 设备驱动方法、系统及存储介质 |
CN114637551B (zh) * | 2022-03-03 | 2024-05-14 | 杭州义益钛迪信息技术有限公司 | 设备驱动方法、系统及存储介质 |
CN117971749A (zh) * | 2024-04-01 | 2024-05-03 | 南京天创电子技术有限公司 | 基于分布式架构虚拟总线技术的业务控制系统及架构方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102628362B1 (ko) | 컨테이너화된 환경에서 클러스터의 라이브 마이그레이션 | |
US11210139B2 (en) | Remote management of distributed datacenters | |
US10740145B2 (en) | Method and system for migration of virtual machines and virtual applications between cloud-computing facilities | |
EP4047487A1 (en) | File storage method, terminal, and storage medium | |
US9430256B2 (en) | Method and apparatus for migrating virtual machines between cloud computing facilities using multiple extended local virtual networks and static network addresses | |
US9329894B2 (en) | Method and apparatus for extending local area networks between clouds and permanently migrating virtual machines using static network addresses | |
US9391801B2 (en) | Virtual private networks distributed across multiple cloud-computing facilities | |
US20170293501A1 (en) | Method and system that extends a private data center to encompass infrastructure allocated from a remote cloud-computing facility | |
KR102328193B1 (ko) | 가상 데스크탑 서비스를 위한 장치 및 방법 | |
US20160352745A1 (en) | Extensible multi-tenant cloud-management system and methods for extending functionalities and services provided by multi-tenant cloud-management system | |
US20150052523A1 (en) | Method and system for migration of virtual machines and virtual applications between cloud-computing facilities through multiplexed secure tunnels | |
US20220078264A1 (en) | Multiple model injection for a deployment cluster | |
US10554604B1 (en) | Low-load message queue scaling using ephemeral logical message topics | |
CN102713848A (zh) | 用于使用轻量级客户端通过网络来与虚拟化计算服务对接的方法 | |
KR101991537B1 (ko) | 자율형 네트워크 스트리밍 기법 | |
US10346618B1 (en) | Data encryption for virtual workspaces | |
CN104539665A (zh) | 一种基于路由器的远程文件控制系统 | |
CN110568996A (zh) | 基于设备驱动程序的本地存储容量扩充系统 | |
CN107247618B (zh) | 一种基于指令外部获取架构下的磁盘重定向方法 | |
CN104717249B (zh) | 远程操作应用发布的方法、代理服务器和系统 | |
US11662928B1 (en) | Snapshot management across cloud provider network extension security boundaries | |
WO2019045837A1 (en) | REMOTE APPLICATION CONFIGURATION ON A NETWORK STORAGE SERVER | |
CN104717175A (zh) | 虚拟桌面的处理方法和系统 | |
CN117642724A (zh) | 使用无服务器计算系统的流式分析 | |
US11809735B1 (en) | Snapshot management for cloud provider network extensions |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191213 |