CN111756818B - 一种文件传送方法、装置、设备及存储介质 - Google Patents
一种文件传送方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111756818B CN111756818B CN202010505228.1A CN202010505228A CN111756818B CN 111756818 B CN111756818 B CN 111756818B CN 202010505228 A CN202010505228 A CN 202010505228A CN 111756818 B CN111756818 B CN 111756818B
- Authority
- CN
- China
- Prior art keywords
- target
- file
- machine
- target machine
- remote
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种文件传送方法、装置、设备及存储介质,所述方法包括:接收文件传送指令,所述文件传送指令包括源机器中的目标文件,以及目标机器地址列表;确定所述目标文件在所述源机器中的第一存储路径,基于所述第一存储路径确定所述目标文件所要传送的目标存储路径;读取配置信息,所述配置信息包括多个机器地址与远程信息的映射关系;基于所述多个机器地址与远程信息的映射关系,确定与所述目标机器地址列表中每个目标机器地址对应的远程信息;将所述目标文件从所述源机器传送到所述目标机器的目标存储路径中。本申请能够避免需要进行多项信息输入的繁琐操作,减少输入冗余,提高远程文件传送效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种文件传送方法、装置、设备及存储介质。
背景技术
随着计算机技术以及通信技术的迅速发展和广泛应用,不同设备之间可实现信息共享,远程文件传送便是其中一种较为常见的信息共享方式。远程文件传送是指将一个文件或其中的一部分从一台机器传送到另一台机器的过程,具体可以是把文件传送到另一台机器进行存储,或者把文件传送到另一台机器上进行处理等。
现有技术中,在两台机器之间进行远程文件传送时需要输入传送对象、远程传送目标地址、远程端口号、远程用户名以及远程连接密码等多项信息,从而每进行一次远程文件传送均需要输入上述多项信息,导致输入繁琐冗余,影响远程文件传送效率;因此需要提出一种有效的文件传送方法。
发明内容
本申请所要解决的技术问题在于,提供一种文件传送方法、装置、设备及存储介质,能够避免需要进行多项信息输入的繁琐操作,减少输入冗余,提高远程文件传送效率。
为了解决上述技术问题,一方面,本申请提供了一种文件传送方法,所述方法包括:
接收文件传送指令,所述文件传送指令包括源机器中的目标文件,以及目标机器地址列表,所述目标机器地址列表中包括至少一个目标机器地址,每个目标机器地址均对应一个目标机器;
确定所述目标文件在所述源机器中的第一存储路径,基于所述第一存储路径确定所述目标文件所要传送的目标存储路径,所述目标存储路径为所述目标机器中的存储路径;
读取配置信息,所述配置信息包括多个机器地址与远程信息的映射关系;
基于所述多个机器地址与远程信息的映射关系,确定与所述目标机器地址列表中每个目标机器地址对应的远程信息;
基于所述目标机器地址列表中的每个目标机器地址,以及与每个目标机器地址相对应的远程信息,将所述目标文件从所述源机器传送到所述目标机器的目标存储路径中。
另一方面,本申请提供了一种文件传送装置,所述装置包括:
文件传送指令接收模块,用于接收文件传送指令,所述文件传送指令包括源机器中的目标文件,以及目标机器地址列表,所述目标机器地址列表中包括至少一个目标机器地址,每个目标机器地址均对应一个目标机器;
路径确定模块,用于确定所述目标文件在所述源机器中的第一存储路径,基于所述第一存储路径确定所述目标文件所要传送的目标存储路径,所述目标存储路径为所述目标机器中的存储路径;
配置信息读取模块,用于读取配置信息,所述配置信息包括多个机器地址与远程信息的映射关系;
远程信息确定模块,用于基于所述多个机器地址与远程信息的映射关系,确定与所述目标机器地址列表中每个目标机器地址对应的远程信息;
文件传送模块,用于基于所述目标机器地址列表中的每个目标机器地址,以及与每个目标机器地址相对应的远程信息,将所述目标文件从所述源机器传送到所述目标机器的目标存储路径中。
另一方面,本申请提供了一种文件传送设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的文件传送方法。
另一方面,本申请提供了一种计算机存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行如上述的文件传送方法。
实施本申请实施例,具有如下有益效果:
本申请通过接收到的文件传送指令,文件传送指令包括源机器中的目标文件以及目标机器地址列表,确定目标文件在源机器中的第一存储路径,基于第一存储路径确定目标文件所要传送的目标存储路径;基于配置信息中的多个机器地址与远程信息的映射关系,确定目标机器地址列表中每个目标机器地址对应的远程信息;基于目标机器地址列表中的每个目标机器地址,以及与每个目标机器地址相对应的远程信息,将目标文件从源机器传送到目标机器的目标存储路径中。本申请通过读取预先存储多个机器地址与远程信息映射关系的配置信息,根据配置信息可以确定文件传送指令中的每个目标机器地址对应的远程信息,从而免去了需要在文件传送指令中包含具体远程信息的问题,即文件传输指令中只需要包括源机器中的目标文件以及目标机器地址列表,并结合配置信息便可实现文件的远程传送,避免需要进行多项信息输入的繁琐操作,减少输入冗余,提高远程文件传送效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的实施环境示意图;
图2是本申请实施例提供的一种文件传输方法流程图;
图3是本申请实施例提供的一种存储路径确定方法流程图;
图4是本申请实施例提供的一种目标机器地址的远程信息确定方法流程图;
图5是本申请实施例提供的一种将目标文件传送到目标机器的方法流程图;
图6是本申请实施例提供的一种路径创建方法流程图;
图7是本申请实施例提供的一种文件传送系统示意图;
图8是本申请实施例提供的一种页面操作示意图;
图9是本申请实施例提供的一种文件传送装置示意图;
图10是本申请实施例提供的一种设备结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先对本说明书实施例中涉及的相关名词做以下解释:
SSH(Secure Shell):由IETF的网络小组(Network Working Group)所制定;SSH为建立在应用层基础上的安全协议,SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议;采用SSH协议可以有效防止远程管理过程中的信息泄露问题。
SCP(Secure Copy):是用来进行远程文件拷贝的,SCP命令是SSH中的一个命令,数据传输使用SSH,并且和SSH使用相同的认证方式,提供相同的安全保证。
Rsync(Remote Sync):是linux系统下的数据镜像备份工具,使用Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
Expect:主要应用于自动化交互式操作的场景,借助Expect处理交互的命令,可以将交互过程如:SSH登录,ftp登录等写在一个脚本上,使之自动化完成,尤其适用于需要对多台服务器执行相同操作的环境中,可以大大提高系统管理人员的工作效率。
请参阅图1,其示出了本申请实施例提供的实施环境示意图,该实施环境可包括多台机器,具体可包括机器110、机器120、机器130……,机器110可分别与机器120、机器130……进行数据通信。
具体地,机器110在接收到文件传送指令时,确定待传送的目标文件以及需要进行文件传送的目标机器,从而能够实现将机器110中的目标文件分别传送给机器120、机器130……中的至少一个机器。
上述的机器110、机器120、机器130……可具体为相应的终端设备,上述的机器110、机器120、机器130……也可以为运行在终端设备中的容器,并且同一终端设备中可包括有多个容器,本申请实施例不做具体限定。
上述的终端设备可以包括台式机、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、车载终端、服务器等类型的实体设备。本申请实施例中的终端设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。
上述各机器中均包括多个文件,对于各机器中的文件存储可通过云存储的方式来实现,云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
另外,由于各机器所组成的系统相当于一个分布式系统,该分布式系统具体也可以为区块链系统,该区块链系统具体可由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
为了解决现有技术中,在两台机器之间进行远程文件传送时需要输入传送对象、远程传送目标地址、远程端口号、远程用户名以及远程连接密码等多项信息,导致输入繁琐冗余,影响远程文件传送效率的问题,本申请实施例提供了一种文件传输方法,其执行主体可以为上述图1中的机器110,即执行文件传送指令的机器,具体请参阅图2,所述方法可包括:
S210.接收文件传送指令,所述文件传送指令包括源机器中的目标文件,以及目标机器地址列表,所述目标机器地址列表中包括至少一个目标机器地址,每个目标机器地址均对应一个目标机器。
文件传送指令中包括的源机器中的目标文件具体可以是指与目标文件相关的信息,例如目标文件的名称或者目标文件的路径信息等。
本申请实施例中的文件传送指令可以是由用户触发的,也可以是由设定的程序自动触发的;当文件传送指令是由用户触发时,可通过检测用户是否执行预设动作来判断用户是否触发了文件传送指令,具体可以检测用户是否触发了特定按钮,或者用户是否完成了特定手势操作等;当文件传送指令是由程序自动触发时,可设置程序触发周期以实现文件传送指令的触发。对于由用户触发的文件传送指令,其中的相关传送参数可由用户进行手动输入或者手动选择;对于由程序自动触发的文件传送指令,其中的传送参数可以是提前按照预设规则设置好的。
目标机器地址列表中包括至少一个目标机器地址,即当只需要向一台目标机器传送文件时,目标机器地址列表中只包括一个目标机器地址;当需要向多台目标机器传送文件时,目标机器地址列表中可包括多台目标机器分别对应的目标机器地址;本申请实施例中的机器地址具体可以是指机器的IP地址,本申请实施例提供的文件传送方法既可以应用于由源机器向单台目标机器传送文件的场景,也可应用于由源机器同时向多台目标机器传送文件的场景;具体地,本申请实施例提供了一种文件传送指令的示例:
rcopy FILE_NAME IP1[IP2 IP3...]
其中,FILE_NAME代表源机器中目标文件的文件名或者目录名,即要传送的目标对象;IP1是必填的,即要传送的目标机器的IP地址;IP2、IP3...可以选填,可以是指向多于一台目标机器传送目标文件或者相关目录。从而,相比于现有技术中对于每进行一次从源机器到目标机器的文件传送,就需要输入一条文件传送命令,本申请中通过一条文件传送指令便可实现向多台目标机器进行文件传送,从而节约了系统资源,便于用户操作。
S220.确定所述目标文件在所述源机器中的第一存储路径,基于所述第一存储路径确定所述目标文件所要传送的目标存储路径,所述目标存储路径为所述目标机器中的存储路径。
在具体的实施过程中,对于源机器中的文件结构和目标机器中的文件结构可满足预设的关系,具体可以为:所述源机器中的文件结构与所述目标机器中的文件结构相同;或者,所述源机器中与所述第一存储路径相关的文件结构与所述目标机器中与所述目标存储路径相关的文件结构相同。
其中,所述源机器中的文件结构与所述目标机器中的文件结构相同可以理解为:源机器中的各文件名称以及各文件的存储路径与目标机器中的各文件以及各文件的存储路径均一致,那么就说明源机器中的文件结构与目标机器中的文件结构相同;所述源机器中与所述第一存储路径相关的文件结构与所述目标机器中与所述目标存储路径相关的文件结构相同可以理解为:对于源机器中的第一存储路径,在目标机器中存在与第一路径相同的一条路径,对于其他路径不做限定。
具体地,在源机器中的文件结构和目标机器中的文件结构满足上述的预设关系时,可直接将目标机器中的第一存储路径确定为目标文件所要传送的目标存储路径。例如,在docker容器中,因为各容器一般都是使用相同的镜像启动的,所以在一般场景中,目标机器的存储路径与源机器的存储路径时一致的,所以可以通过readlink命令获取源机器中目标文件的路径,从而便相应确定了目标文件所要传送的远程目标机器的目标存储路径;或者在文件结构类型的不同系统之间,也可以根据源机器中目标文件的存储路径确定目标文件在目标机器中的目标存储路径。
对于第一存储路径的确定方法,具体可根据接收到的文件传送指令来确定,请参阅图3,其示出了一种存储路径确定方法,所述方法可包括:
S310.当所述文件传送指令中包括目标文件的相对路径时,将当前路径与所述相对路径进行拼接,生成所述目标文件在所述源机器中的第一存储路径。
S320.当所述文件传送指令中包括目标文件的绝对路径时,将所述绝对路径确定为所述目标文件在所述源机器中的第一存储路径。
文件传送指令中可能会包含目标文件的路径信息,而最终需要确定的目标文件的第一存储路径为绝对路径,因此需要根据文件传送指令中路径信息的类型,来确定目标文件的第一存储路径,当文件传送指令中的路径信息类型为相对路径时,需要进行路径拼接,生成相应的绝对路径;当文件传送指令中的路径类型为绝对路径时,可直接将绝对路径确定为第一存储路径。
在需要进行文件传送之前,可以先判断待传送的目标文件是否存在,具体可通过ls命令来实现,例如判断文件名称为FILE1的目标文件是否存在的命令为:
ls FILE1
执行上述命令后,当返回结果为:ls:cannot access FILE1;No such file ordirectory时,说明没有查找到文件名称为FILE1的文件,则直接报错退出;反之,当没有返回文件不存在的结果时,说明目标文件存在。
在确定目标文件存在之后,可通过readlink命令获取到目标文件在源机器中的第一存储路径,具体命令格式为:
readlink–f FILE1
其中,FILE1为目标文件的名称。
S230.读取配置信息,所述配置信息包括多个机器地址与远程信息的映射关系。
本申请实施例中的配置信息具体可以是指包含有多个机器地址信息与远程信息映射关系的信息,该配置信息可以是在进行文件传送之前,根据每个目标机器的机器地址所对应的远程信息建立机器地址与远程信息的映射关系,即该映射关系是预先建立的,从而在知道了机器地址之后,根据映射关系可确定出相应的远程信息;配置信息具体可以是以配置文件的形式进行存储,可存储在源机器的本地或者数据库系统中,当需要配置信息时,可从本地或者数据库系统获取配置信息,并加载到内存中。具体的与每个目标机器地址对应的远程信息包括与所述目标机器地址对应的远程端口号、远程用户名和远程连接密码,配置信息的具体存储形式可通过如下示例示出:
除了可以通过上述示例中的形式对配置信息进行存储,还可以通过csv或者json串等文本模式对配置信息进行存储,本实施例不做具体限定;在需要用到配置信息时,可以一次性地将整个配置文件读入内存,并将机器地址作为索引,来找出其对应的其他三项信息。
S240.基于所述多个机器地址与远程信息的映射关系,确定与所述目标机器地址列表中每个目标机器地址对应的远程信息。
对于目标机器地址列表中的每个目标机器地址,需要分别确定相应的远程信息,具体的确定方法可参阅图4,其示出了一种目标机器地址的远程信息确定方法,所述方法可包括:
S410.遍历所述目标机器地址列表中的每个目标机器地址。
S420.将当前目标机器地址与所述配置信息中的多个机器地址进行匹配,将与所述当前目标机器地址匹配一致的机器地址确定为匹配地址。
S430.确定所述匹配地址对应的远程端口号、远程用户名和远程连接密码为所述当前目标机器地址对应的远程端口号、远程用户名和远程连接密码。
对于目标机器地址列表中的每个目标机器地址列表,需要将其分别与配置信息中的机器地址进行匹配,以确定相匹配的机器地址,并将匹配到的机器地址所对应的远程端口号、远程用户名和远程连接密码作为当前目标机器地址对应的远程端口号、远程用户名和远程连接密码。
其中,在根据当前目标机器地址在配置信息中确定匹配地址的过程中,可以是直接在配置信息中查找当前目标机器地址,当查找到当前目标机器地址时,确定其为匹配地址;也可以是将当前目标机器地址与配置信息中的机器地址按顺序一条一条进行匹配,并将匹配结果一致的机器地址作为匹配地址。
上述步骤S240中通过预先设置多个机器地址与远程信息的映射关系,只需要根据目标机器地址列表中的目标机器地址,就可以获取到相应的远程信息,具体可以为远程端口号、远程用户名和远程连接密码,而并不需要包括在接收到的文件传送指令中,即文件传送指令中不需要包括远程信息的详细内容,这些远程信息均可根据目标机器地址进行获取,从而避免了为了生成文件传送指令而需要输入多项信息的问题,提高了文件传送指令生成效率,减少了用户的输入操作,进而也可以避免由于输入操作错误所带来的文件传送失败的问题。
S250.基于所述目标机器地址列表中的每个目标机器地址,以及与每个目标机器地址相对应的远程信息,将所述目标文件从所述源机器传送到所述目标机器的目标存储路径中。
在确定了目标机器地址列表中每个目标机器地址所对应的远程信息之后,可基于相应的远程信息,将目标文件传送到目标机器地址对应的目标机器中,具体可参阅图5,其示出了一种将目标文件传送到目标机器的方法,所述方法可包括:
S510.遍历所述目标机器地址列表中的每个目标机器地址。
S520.调用文件传送工具,将当前目标机器地址所对应的远程端口号以及远程用户名作为输入参数输入到所述文件传送工具中。
本申请实施例中采用的文件传送工具包括但不限于SCP、Rsync,在调用了文件传送工具后,文件传送工具根据当前目标地址所对应的远程端口号以及远程用户名去找到相应的目标机器,以便于进行文件传送。
S530.监测标准输出,当所述标准输出为提示输入密码信息时,获取与当前目标机器地址对应的远程连接密码,将所述远程连接密码自动输入到所述文件传送工具中。
在文件传送工具进行文件传送过程中,源机器会检测当前屏幕上的标准输出,当屏幕上的标准输出为提示输入密码信息时,源机器会获取与当前目标机器地址对应的远程连接密码,并将该远程连接密码自动输入到文件传送工具中。
在具体实现标准输出检测,以及远程连接密码自动填入的过程中,可采用一种自动填写的方式来实现,本申请实施例中采用expect命令来实现,该命令用一个字符串去匹配多个字符串,一直等到当前进程的输出和某一个模式相匹配,或者等到时间超过一个特定的时间长度,或者等到遇到了文件的结束为止。
本申请实施例在具体采用expect命令来实现远程连接密码的自动填入的脚本如下:
expect{
"*assword:"{send"XXXXXXX\r";exp_continue}
}
如上述expect脚本,当屏幕上出现assword字样(即匹配Password:或者password:),文件传送工具可以自动填入远程连接密码(XXXXXXX代表远程连接密码,\r代表回车确认)。
在需要输入远程连接密码时,通过上述密码自动输入的方式可以避免人工输入密码所带来的密码输入错误的问题,从而在实现便捷输入密码的同时,提高密码输入效率,提高密码输入准确性,节省人力。
S540.当所述文件传送工具接收到当前目标机器地址所对应的远程连接密码时,通过所述文件传送工具将所述目标文件传送到所述当前目标机器地址所对应的目标机器的目标存储路径下。
文件传送工具在接收到当前目标机器地址对应的远程连接密码之后,便可登录当前目标机器了,从而可将目标文件传送到当前目标机器的目标存储路径下,完成了一次文件传送过程。
每遍历一个目标机器地址之后,执行步骤S520~S540,便可实现一次从源机器向一台目标机器进行文件传送。
上述的文件传送方法能够实现将源机器中的目标文件传送到目标机器的目标存储路径中,并且目标机器中的目标路径是根据目标文件在源机器中的第一存储路径来确定的,若目标机器中不存在目标存储路径时,需要创建目标存储路径;具体请参阅图6,其示出了一种路径创建方法,所述方法可包括:
S610.当执行所述将所述目标文件从所述源机器传送到所述目标机器的目标存储路径的步骤过程中,接收到所述目标机器的目标存储路径不存在的提示信息时,调用路径创建工具。
S620.确定当前目标机器的目标机器地址。
S630.确定与当前目标机器的目标机器地址对应的远程信息。
S640.将所述与当前目标机器的目标机器地址对应的远程信息,以及路径创建指令作为所述路径创建工具的输入参数,以使得所述路径创建工具在所述目标机器上创建所述目标存储路径。
本申请实施例中的路径创建工具可以是由SSH指定的一个命令,为该命令设置相应的参数之后便可用于在目标机器上创建路径;当接收到目标存储路径不存在的提示信息时,根据当前目标机器的目标地址确定相应的远程信息,将当前目标机器的远程信息作为由SSH指定的命令的参数,便可登录到当前目标机器,将路径创建指令作为由SSH指定的命令的参数,便可在登录到目标机器之后,在目标机器上创建相应的路径。具体创建目标存储路径的要求可包括在路径创建指令中,例如需要在哪里创建相应的路径、路径长度、路径名称等。
以Linux系统为例来说明本申请实施例的具体实施过程,请参阅图7,其示出了一种文件传送系统示意图,所述系统可包括本地机器和远程机器,远程机器可包括多台机器,每台远程机器均有与其对应的远程IP,其中本地机器包括:传送信息接收装置710、远程信息装置720以及传送装置730,其中传送信息接收装置710用于接收文件传送指令,并从文件传送指令中确定出文件传送信息,文件传送信息包括待传送的本地文件以及远程机器的远程IP;远程信息装置720可根据远程机器的远程IP索引到该远程IP对应的远程端口号、远程用户名以及远程连接密码这一三元组;传送装置730用于根据远程IP对应的远程端口号、远程用户名以及远程连接密码将本地文件传送到多个远程机器IP地址对应的远程机器中。需要说明的是,本地机器的远程信息装置720在特定情况下也可以是不存在的,比如在相同镜像启动的docker容器或者一些用途相似的普通linux中,远程端口号是固定的,远程用户名和远程连接密码也是通用的,这三项信息可以直接写在实现程序中,可以不引入远程信息装置;当在需要引入远程信息装置的情况下,可通过配置文件或者数据库系统存储相应的远程信息,从而只要通过目标机器IP地址便可索引到远程端口号、远程用户名和远程连接密码这一三元组。
在具体进行文件拷贝的场景中,本申请能够实现在docker容器中(或者别的类unix系统中)向另一台或多台机器拷贝文件或文件夹,只需要输入要拷贝的对象,及拷贝的目标IP地址就可以完成传送;相比于现有技术中在两台机器间传输文件和文件夹时,除了需要输入拷贝的对象和拷贝的目标IP地址外,还需要输入目标机器的远程端口号、远程用户名、远程连接密码、要拷贝的文件在目标机器上的路径等,本申请能够避免繁琐的输入;另外,本申请能够实现向多台目标机器同时进行文件拷贝,相比于现有技术中只能够在两台机器之间进行文件拷贝,本申请能够提高文件拷贝的效率。
在具体的应用过程中,根据上述的具体实施方法,文件传送功能的底层实现已完成,从而在底层实现已完成的基础上,可对其进行封装;例如,可将其封装成一个页面,具体请参阅图8,在页面上可设置有供用户操作的按钮,用户可通过文件选择按钮进行文件选择,当用户点击文件选择按钮时,会弹出文件选择列表或者文件选择对话框,用户可从中选择本地机器中待传送的目标文件;在确定了目标文件之后,用户可输入目标机器的地址,具体可以为目标机器的远程IP,点击确定按钮之后,本地机器会将用户选择的目标文件传送到用户输入的远程IP所对应的目标机器中。由此可见,用户只需要选择好待传送的目标文件,并输入目标机器的远程IP,并不需要用户提供其他额外的信息,本地机器在获取到这两项信息之后,通过底层实现目标文件的传送;本地机器在获取到这两项信息之后,可通过本申请实施例上述的任一方法来实现文件传送。通过web页面的封装和展示,便于用户操作,能够提升易用性。
本申请通过接收到的文件传送指令,文件传送指令包括源机器中的目标文件以及目标机器地址列表,确定目标文件在源机器中的第一存储路径,基于第一存储路径确定目标文件所要传送的目标存储路径;基于配置信息中的多个机器地址与远程信息的映射关系,确定目标机器地址列表中每个目标机器地址对应的远程信息;基于目标机器地址列表中的每个目标机器地址,以及与每个目标机器地址相对应的远程信息,将目标文件从源机器传送到目标机器的目标存储路径中。本申请通过读取预先存储多个机器地址与远程信息映射关系的配置信息,根据配置信息可以确定文件传送指令中的每个目标机器地址对应的远程信息,从而免去了需要在文件传送指令中包含具体远程信息的问题,即文件传输指令中只需要包括源机器中的目标文件以及目标机器地址列表,并结合配置信息便可实现文件的远程传送,避免需要进行多项信息输入的繁琐操作,减少输入冗余,提高远程文件传送效率。
本实施例还提供了一种文件传送装置,具体请参阅图9,所述装置包括:
文件传送指令接收模块910,用于接收文件传送指令,所述文件传送指令包括源机器中的目标文件,以及目标机器地址列表,所述目标机器地址列表中包括至少一个目标机器地址,每个目标机器地址均对应一个目标机器;
路径确定模块920,用于确定所述目标文件在所述源机器中的第一存储路径,基于所述第一存储路径确定所述目标文件所要传送的目标存储路径,所述目标存储路径为所述目标机器中的存储路径;
配置信息读取模块930,用于读取配置信息,所述配置信息包括多个机器地址与远程信息的映射关系;
远程信息确定模块940,用于基于所述多个机器地址与远程信息的映射关系,确定与所述目标机器地址列表中每个目标机器地址对应的远程信息;
文件传送模块950,用于基于所述目标机器地址列表中的每个目标机器地址,以及与每个目标机器地址相对应的远程信息,将所述目标文件从所述源机器传送到所述目标机器的目标存储路径中。
进一步地,所述源机器中的文件结构与所述目标机器中的文件结构相同;或者,所述源机器中与所述第一存储路径相关的文件结构与所述目标机器中与所述目标存储路径相关的文件结构相同。相应地,路径确定模块920包括第一确定模块,用于将所述目标机器中的所述第一存储路径确定为所述目标文件所要传送的目标存储路径。
进一步地,路径确定模块920包括:
第二确定模块,用于当所述文件传送指令中包括目标文件的相对路径时,将当前路径与所述相对路径进行拼接,生成所述目标文件在所述源机器中的第一存储路径;
第三确定模块,用于当所述文件传送指令中包括目标文件的绝对路径时,将所述绝对路径确定为所述目标文件在所述源机器中的第一存储路径。
具体地,与每个目标机器地址对应的远程信息包括与所述目标机器地址对应的远程端口号、远程用户名和远程连接密码;相应地,远程信息确定模块940包括:
第一遍历模块,用于遍历所述目标机器地址列表中的每个目标机器地址;
匹配确定模块,用于将当前目标机器地址与所述配置信息中的多个机器地址进行匹配,将与所述当前目标机器地址匹配一致的机器地址确定为匹配地址;
第四确定模块,用于确定所述匹配地址对应的远程端口号、远程用户名和远程连接密码为所述当前目标机器地址对应的远程端口号、远程用户名和远程连接密码。
进一步地,文件传送模块950包括:
第二遍历模块,用于遍历所述目标机器地址列表中的每个目标机器地址;
文件传送工具调用模块,用于调用文件传送工具,将当前目标机器地址所对应的远程端口号以及远程用户名作为输入参数输入到所述文件传送工具中;
检测模块,用于监测标准输出,当所述标准输出为提示输入密码信息时,获取与当前目标机器地址对应的远程连接密码,将所述远程连接密码自动输入到所述文件传送工具中;
第一传送模块,用于当所述文件传送工具接收到当前目标机器地址所对应的远程连接密码时,通过所述文件传送工具将所述目标文件传送到所述当前目标机器地址所对应的目标机器的目标存储路径下。
另外,文件传送装置还可以包括路径创建模块,路径创建模块还可以包括:
路径创建工具调用模块,用于当执行所述将所述目标文件从所述源机器传送到所述目标机器的目标存储路径的步骤过程中,接收到所述目标机器的目标存储路径不存在的提示信息时,调用路径创建工具;
第五确定模块,用于确定当前目标机器的目标机器地址;
第六确定模块,用于确定与当前目标机器的目标机器地址对应的远程信息;
第一创建模块,用于将所述与当前目标机器的目标机器地址对应的远程信息,以及路径创建指令作为所述路径创建工具的输入参数,以使得所述路径创建工具在所述目标机器上创建所述目标存储路径。
上述实施例中提供的装置可执行本申请任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的方法。
本实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行如本实施例上述任一方法。
进一步地,图10示出了一种用于实现本申请实施例所提供的方法的设备的硬件结构示意图,所述设备可以参与构成或包含本申请实施例所提供的装置。如图10所示,设备10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备10还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到设备10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中所述的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种播放器预加载方法或一种播放器运行方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与设备10(或移动设备)的用户界面进行交互。
本实施例上述的任一方法均可基于图10所示的设备进行实施。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本实施例中所示出的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本申请的范围。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (8)
1.一种文件传送方法,其特征在于,包括:
接收文件传送指令,所述文件传送指令包括源机器中的目标文件,以及目标机器地址列表,所述目标机器地址列表中包括至少一个目标机器地址,每个目标机器地址均对应一个目标机器;所述源机器与所述目标机器为运行在终端设备中的容器,同一终端设备中包括多个容器;
确定所述目标文件在所述源机器中的第一存储路径,基于所述第一存储路径确定所述目标文件所要传送的目标存储路径,所述目标存储路径为所述目标机器中的存储路径;所述源机器中的文件结构与所述目标机器中的文件结构相同;或者,所述源机器中与所述第一存储路径相关的文件结构与所述目标机器中与所述目标存储路径相关的文件结构相同;
读取配置信息,所述配置信息包括多个机器地址与远程信息的映射关系;
基于所述多个机器地址与远程信息的映射关系,确定与所述目标机器地址列表中每个目标机器地址对应的远程信息;与每个目标机器地址对应的远程信息包括与所述目标机器地址对应的远程端口号、远程用户名和远程连接密码;遍历所述目标机器地址列表中的每个目标机器地址;
调用文件传送工具,将当前目标机器地址所对应的远程端口号以及远程用户名作为输入参数输入到所述文件传送工具中;
监测标准输出,当所述标准输出为提示输入密码信息时,获取与当前目标机器地址对应的远程连接密码,将所述远程连接密码自动输入到所述文件传送工具中;
当所述文件传送工具接收到当前目标机器地址所对应的远程连接密码时,通过所述文件传送工具将所述目标文件传送到所述当前目标机器地址所对应的目标机器的目标存储路径下。
2.根据权利要求1所述的一种文件传送方法,其特征在于,所述基于所述第一存储路径确定所述目标文件所要传送的目标存储路径,所述目标存储路径为所述目标机器中的存储路径包括:
将所述目标机器中的所述第一存储路径确定为所述目标文件所要传送的目标存储路径。
3.根据权利要求1所述的一种文件传送方法,其特征在于,所述确定所述目标文件在所述源机器中的第一存储路径包括:
当所述文件传送指令中包括目标文件的相对路径时,将当前路径与所述相对路径进行拼接,生成所述目标文件在所述源机器中的第一存储路径;
当所述文件传送指令中包括目标文件的绝对路径时,将所述绝对路径确定为所述目标文件在所述源机器中的第一存储路径。
4.根据权利要求1所述的一种文件传送方法,其特征在于,所述基于所述多个机器地址与远程信息的映射关系,确定与所述目标机器地址列表中每个目标机器地址对应的远程信息包括:
遍历所述目标机器地址列表中的每个目标机器地址;
将当前目标机器地址与所述配置信息中的多个机器地址进行匹配,将与所述当前目标机器地址匹配一致的机器地址确定为匹配地址;
确定所述匹配地址对应的远程端口号、远程用户名和远程连接密码为所述当前目标机器地址对应的远程端口号、远程用户名和远程连接密码。
5.根据权利要求1所述的一种文件传送方法,其特征在于,所述方法还包括:
当执行所述将所述目标文件从所述源机器传送到所述目标机器的目标存储路径的步骤过程中,接收到所述目标机器的目标存储路径不存在的提示信息时,调用路径创建工具;
确定当前目标机器的目标机器地址;
确定与当前目标机器的目标机器地址对应的远程信息;
将所述与当前目标机器的目标机器地址对应的远程信息,以及路径创建指令作为所述路径创建工具的输入参数,以使得所述路径创建工具在所述目标机器上创建所述目标存储路径。
6.一种文件传送装置,其特征在于,包括:
文件传送指令接收模块,用于接收文件传送指令,所述文件传送指令包括源机器中的目标文件,以及目标机器地址列表,所述目标机器地址列表中包括至少一个目标机器地址,每个目标机器地址均对应一个目标机器;所述源机器与所述目标机器为运行在终端设备中的容器,同一终端设备中包括多个容器;
路径确定模块,用于确定所述目标文件在所述源机器中的第一存储路径,基于所述第一存储路径确定所述目标文件所要传送的目标存储路径,所述目标存储路径为所述目标机器中的存储路径;所述源机器中的文件结构与所述目标机器中的文件结构相同;或者,所述源机器中与所述第一存储路径相关的文件结构与所述目标机器中与所述目标存储路径相关的文件结构相同;
配置信息读取模块,用于读取配置信息,所述配置信息包括多个机器地址与远程信息的映射关系;
远程信息确定模块,用于基于所述多个机器地址与远程信息的映射关系,确定与所述目标机器地址列表中每个目标机器地址对应的远程信息;与每个目标机器地址对应的远程信息包括与所述目标机器地址对应的远程端口号、远程用户名和远程连接密码;
文件传送模块,用于遍历所述目标机器地址列表中的每个目标机器地址;调用文件传送工具,将当前目标机器地址所对应的远程端口号以及远程用户名作为输入参数输入到所述文件传送工具中;监测标准输出,当所述标准输出为提示输入密码信息时,获取与当前目标机器地址对应的远程连接密码,将所述远程连接密码自动输入到所述文件传送工具中;当所述文件传送工具接收到当前目标机器地址所对应的远程连接密码时,通过所述文件传送工具将所述目标文件传送到所述当前目标机器地址所对应的目标机器的目标存储路径下。
7.一种文件传送设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1至5任一项所述的文件传送方法。
8.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行如权利要求1至5任一项所述的文件传送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010505228.1A CN111756818B (zh) | 2020-06-05 | 2020-06-05 | 一种文件传送方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010505228.1A CN111756818B (zh) | 2020-06-05 | 2020-06-05 | 一种文件传送方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111756818A CN111756818A (zh) | 2020-10-09 |
CN111756818B true CN111756818B (zh) | 2022-01-14 |
Family
ID=72676149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010505228.1A Active CN111756818B (zh) | 2020-06-05 | 2020-06-05 | 一种文件传送方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111756818B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032472A (zh) * | 2021-03-23 | 2021-06-25 | 彭泳 | 一种非实时数据传递方法 |
CN114205346A (zh) * | 2021-12-10 | 2022-03-18 | 安徽酷哇机器人有限公司 | 数据自动存储与上传装置、系统及方法 |
CN114338655A (zh) * | 2022-03-10 | 2022-04-12 | 北京宇信科技集团股份有限公司 | 一种远程服务器文件传输引擎、传输方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357727A (zh) * | 2016-08-24 | 2017-01-25 | 明算科技(北京)股份有限公司 | 向多个服务器同时上传文件的方法和系统 |
CN109040252A (zh) * | 2018-08-07 | 2018-12-18 | 平安科技(深圳)有限公司 | 文件传输方法、系统、计算机设备和存储介质 |
CN109274777A (zh) * | 2018-12-06 | 2019-01-25 | 浪潮电子信息产业股份有限公司 | 一种导出配置文件的方法、装置、设备及可读存储介质 |
CN110275872A (zh) * | 2019-07-18 | 2019-09-24 | 中国银行股份有限公司 | 版本自动部署方法、装置、计算机设备和存储介质 |
CN111131497A (zh) * | 2019-12-31 | 2020-05-08 | 五八有限公司 | 文件传输方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009003685A1 (en) * | 2007-07-02 | 2009-01-08 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for storing and reading a file having a media data container and a metadata container |
US11196797B2 (en) * | 2018-08-21 | 2021-12-07 | International Business Machines Corporation | Transferring files between computer nodes on different networks |
CN110120940B (zh) * | 2019-04-12 | 2020-07-07 | 华中科技大学 | 一种面向Docker容器的文件系统资源隔离方法 |
-
2020
- 2020-06-05 CN CN202010505228.1A patent/CN111756818B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357727A (zh) * | 2016-08-24 | 2017-01-25 | 明算科技(北京)股份有限公司 | 向多个服务器同时上传文件的方法和系统 |
CN109040252A (zh) * | 2018-08-07 | 2018-12-18 | 平安科技(深圳)有限公司 | 文件传输方法、系统、计算机设备和存储介质 |
CN109274777A (zh) * | 2018-12-06 | 2019-01-25 | 浪潮电子信息产业股份有限公司 | 一种导出配置文件的方法、装置、设备及可读存储介质 |
CN110275872A (zh) * | 2019-07-18 | 2019-09-24 | 中国银行股份有限公司 | 版本自动部署方法、装置、计算机设备和存储介质 |
CN111131497A (zh) * | 2019-12-31 | 2020-05-08 | 五八有限公司 | 文件传输方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111756818A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756818B (zh) | 一种文件传送方法、装置、设备及存储介质 | |
EP3605323B1 (en) | Method for generating network slice template and for applying network slice template, and apparatus | |
CN1988535B (zh) | 文件存储同步方法、系统及客户端 | |
CN108028856B (zh) | 用于在计算机系统之间同步文件数据的方法和设备 | |
JP6665444B2 (ja) | 情報処理装置、情報処理装置の制御プログラム、制御方法及び情報処理システム | |
CN110519127B (zh) | 网络延时的探测方法、装置和存储介质 | |
CN104615455A (zh) | 一种atca架构的ipmc程序远程升级方法及装置 | |
CN114448895B (zh) | 一种应用访问方法、装置、设备及介质 | |
CN112035062B (zh) | 云计算的本地存储的迁移方法、计算机设备及存储介质 | |
CN112114746A (zh) | 一种分布式存储集群的自动化部署方法 | |
CN115510163A (zh) | 镜像文件的同步方法、装置、存储介质及电子设备 | |
CN110958287B (zh) | 操作对象数据同步方法、装置及系统 | |
WO2024169385A1 (zh) | 一种集群部署方法、装置、设备、介质及产品 | |
CN116028331A (zh) | 用于中间件测试的配置文件生成方法以及框架构建方法 | |
CN110730242B (zh) | 一种文件传输方法、装置及设备 | |
US10394482B2 (en) | Snap tree arbitrary replication | |
CN107577822A (zh) | 一种数据同步方法、数据同步装置及移动终端 | |
CN104570967A (zh) | 基于Android系统的远程控制方法及系统 | |
CN115865895A (zh) | 一种文件上传方法、装置及存储介质 | |
CN116264538A (zh) | 数据处理方法、装置、设备及计算机存储介质 | |
CN108733805B (zh) | 文件交互方法、系统、计算机设备和存储介质 | |
CN111669310B (zh) | 一种pptp vpn中网络隔离空间的批量处理方法及pptp vpn服务器 | |
CN111416852A (zh) | 在多个负载均衡器之间进行会话同步的方法和负载均衡器 | |
CN114760199B (zh) | 基于sdn的网络配置信息下发方法、系统和存储介质 | |
CN111669283B (zh) | 一种openvpn中网络隔离空间的批量处理方法及openvpn服务器 |
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 |