CN103973772B - 文件读写方法和装置 - Google Patents
文件读写方法和装置 Download PDFInfo
- Publication number
- CN103973772B CN103973772B CN201410131306.0A CN201410131306A CN103973772B CN 103973772 B CN103973772 B CN 103973772B CN 201410131306 A CN201410131306 A CN 201410131306A CN 103973772 B CN103973772 B CN 103973772B
- Authority
- CN
- China
- Prior art keywords
- file
- request
- dlna
- unit
- action parameter
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开是关于一种文件读写方法和装置,属于通信领域。所述方法包括:接收数字生活网络联盟DLNA客户端通过应用层协议发送的连接建立请求;根据连接建立请求与DLNA客户端建立通讯连接;通过上述通讯连接和预定端口接收DLNA客户端发送的写文件请求,写文件请求携带有至少一个请求字段;读取请求字段并对请求字段进行解析得到动作参数和文件路径;根据动作参数在与文件路径对应的位置进行写文件操作。本公开解决了相关技术中DLNA客户端只能够读取由DLNA服务器共享的文件,并不能执行其它操作的问题;实现了DLNA客户端能够向DLNA服务器写文件的效果。
Description
技术领域
本公开涉及通信领域,特别涉及一种文件读写方法和装置。
背景技术
DLNA(DigitalLivingNetworkAlliance,数字生活网络联盟)是由索尼、英特尔和微软发起的一个非盈利性组织,旨在解决消费电子设备之间共享数字媒体内容的问题。
在基于DLNA的网络架构中,包括DLNA客户端和DLNA服务器,DLNA客户端与DLNA服务器之间通过有线网络或者无线网络相连。DLNA服务器用于提供媒体内容,包括提供一个多媒体文件的共享平台,该共享平台支持图片、音乐、视频等文件的共享。DLNA客户端用于访问并且读取由DLNA服务器共享的文件,比如播放音乐或者视频。
发明人在实现本公开的过程中,发现上述方式至少存在如下缺陷:在相关技术中,DLNA客户端只能够读取由DLNA服务器共享的文件,并不能执行其它操作。
发明内容
为了解决相关技术中存在的问题,本公开实施例提供了一种文件读写方法和装置。所述技术方案如下:
根据本公开实施例的第一方面,提供了一种文件读写方法,用于数字生活网络联盟DLNA服务器中,所述方法包括:
接收DLNA客户端通过应用层协议发送的连接建立请求;
根据所述连接建立请求与所述DLNA客户端建立通讯连接;
通过所述通讯连接和预定端口接收所述DLNA客户端发送的写文件请求,所述写文件请求携带有至少一个请求字段;
读取所述请求字段并对所述请求字段进行解析得到动作参数和文件路径;
根据所述动作参数在与所述文件路径对应的位置进行写文件操作;
所述方法还包括:
预先创建满足自定义协议的所述预定端口;
其中,所述自定义协议用于规定通过所述预定端口发送的写文件请求中包括所述DLNA服务器对应的IP地址、所述预定端口的端口号、用于表示当前请求的类型为写文件请求的请求标识、所述文件路径以及所述动作参数。
可选地,所述根据所述动作参数在与所述文件路径对应的位置进行写文件操作,包括:
当所述动作参数为上传参数时,根据所述文件路径在与所述文件路径对应的位置创建空文件;
通过所述通讯连接和所述预定端口向所述DLNA客户端发送文件上传指令;
通过所述通讯连接和所述预定端口接收所述DLNA客户端发送的文件流,所述文件流是所述DLNA客户端在接收到所述文件上传指令后发送的;
将接收到的所述文件流写入所述空文件中,得到所述DLNA客户端上传的文件。
可选地,所述根据所述动作参数在与所述文件路径对应的位置进行写文件操作,包括:
当所述动作参数为新建参数时,调用预定新建接口在与所述文件路径对应的位置创建一个新建文件夹。
可选地,所述根据所述动作参数在与所述文件路径对应的位置进行写文件操作,包括:
当所述动作参数为重命名参数时,读取所述写文件请求中包含的目标名称;
根据所述文件路径查找并获取与所述文件路径对应的位置的文件/文件夹;
调用预定重命名接口将所述文件/文件夹的名称修改为所述目标名称。
可选地,所述根据所述动作参数在与所述文件路径对应的位置进行写文件操作,包括:
当所述动作参数为删除参数时,根据所述文件路径查找并获取与所述文件路径对应的位置的文件/文件夹;
调用预定删除接口对所述文件/文件夹进行删除。
可选地,所述根据所述通讯连接建立请求与所述DLNA客户端建立连接,包括:
当所述连接建立请求中携带有指定使用传输控制协议TCP进行连接的指示时,读取所述连接建立请求中携带的所述指示;
根据所述指示与所述DLNA客户端建立TCP连接。
根据本公开实施例的第二方面,提供了一种文件读写装置,用于数字生活网络联盟DLNA服务器中,所述装置包括:
请求连接模块,用于接收DLNA客户端通过应用层协议发送的连接建立请求;
连接建立模块,用于根据所述连接建立请求与所述DLNA客户端建立通讯连接;
请求接收模块,用于通过所述通讯连接和预定端口接收所述DLNA客户端发送的写文件请求,所述写文件请求携带有至少一个请求字段;
请求解析模块,用于读取所述请求字段并对所述请求字段进行解析得到动作参数和文件路径;
操作执行模块,用于根据所述动作参数在与所述文件路径对应的位置进行写文件操作;
所述装置还包括:
端口创建模块,用于预先创建满足自定义协议的所述预定端口;
其中,所述自定义协议用于规定通过所述预定端口发送的写文件请求中包括所述DLNA服务器对应的IP地址、所述预定端口的端口号、用于表示当前请求的类型为写文件请求的请求标识、所述文件路径以及所述动作参数。
可选地,所述操作执行模块,包括:文件创建单元、指令发送单元、文件接收单元和文件写入单元;
所述文件创建单元,用于当所述动作参数为上传参数时,根据所述文件路径在与所述文件路径对应的位置创建空文件;
所述指令发送单元,用于通过所述通讯连接和所述预定端口向所述DLNA客户端发送文件上传指令;
所述文件接收单元,用于通过所述通讯连接和所述预定端口接收所述DLNA客户端发送的文件流,所述文件流是所述DLNA客户端在接收到所述文件上传指令后发送的;
所述文件写入单元,用于将接收到的所述文件流写入所述空文件中,得到所述DLNA客户端上传的文件。
可选地,所述操作执行模块,包括:文件新建单元;
所述文件新建单元,用于当所述动作参数为新建参数时,调用预定新建接口在与所述文件路径对应的位置创建一个新建文件夹。
可选地,所述操作执行模块,包括:名称读取单元、文件查找单元和名称修改单元;
所述名称读取单元,用于当所述动作参数为重命名参数时,读取所述写文件请求中包含的目标名称;
所述文件查找单元,用于根据所述文件路径查找并获取与所述文件路径对应的位置的文件/文件夹;
所述名称修改单元,用于调用预定重命名接口将所述文件/文件夹的名称修改为所述目标名称。
可选地,所述操作执行模块,包括:路径查找单元和文件删除单元;
所述路径查找单元,用于当所述动作参数为删除参数时,根据所述文件路径查找并获取与所述文件路径对应的位置的文件/文件夹;
所述文件删除单元,用于调用预定删除接口对所述文件/文件夹进行删除。
可选地,所述连接建立模块,包括:指示读取单元和连接建立单元;
所述指示读取单元,用于当所述连接建立请求中携带有指定使用传输控制协议TCP进行连接的指示时,读取所述连接建立请求中携带的所述指示;
所述连接建立单元,用于根据所述指示与所述DLNA客户端建立TCP连接。
本公开实施例提供的技术方案的一些有益效果可以包括:
通过DLNA服务器在接收到DLNA客户端通过应用层协议发送的连接建立请求后,根据连接建立请求与DLNA客户端建立通讯连接,然后通过上述通讯连接和预定端口接收DLNA客户端发送的写文件请求,并在读取写文件请求中包含的请求字段之后对读取到的请求字段进行解析得到动作参数和文件路径,然后根据动作参数在与文件路径对应的位置进行写文件操作;解决了相关技术中DLNA客户端只能够读取由DLNA服务器共享的文件,并不能执行其它操作的问题;实现了DLNA客户端能够向DLNA服务器写文件的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚地说明本公开的实施例,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种文件读写方法的流程图;
图2是根据另一示例性实施例示出的一种文件读写方法的流程图;
图3是根据一示例性实施例示出的一种文件读写装置的示意图;
图4是根据另一示例性实施例示出的一种文件读写装置的示意图;
图5是根据本公开一示例性实施例示出的一种文件读写装置的框图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开一部份实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在介绍本公开提供的文件读写方法之前,首先需要介绍下本公开涉及的DLNA服务器。DLNA服务器是用于实现图片、音乐、视频等媒体内容的共享的服务器,该DLNA服务器可以是用于实现上述功能的计算机软件,也可以是用于执行上述计算机软件的计算机或者计算机系统。
当DLNA服务器为用于实现图片、音乐、视频等媒体内容的共享功能的计算机软件时,DLNA服务器可以运行于DLNA设备上。DLNA设备可以是智能路由器,该智能路由器除了具备普通路由器所能实现的路由功能外,还具有独立的操作系统,可以由用户自行安装各种应用。其中,操作系统可以是基于OpenWrt的深度定制操作系统。DLNA设备中还包括存储介质,比如硬盘,该存储介质用于存储图片、音乐、视频等文件。可选地,DLNA设备还包括USB接口,可以支持U盘、移动硬盘之类的移动存储设备的接入。
图1是根据一示例性实施例示出的一种文件读写方法的流程图,本实施例以该文件读写方法应用于DLNA服务器中来举例说明。该文件读写方法可以包括如下几个步骤:
在步骤102中,接收DLNA客户端通过应用层协议发送的连接建立请求。
在步骤104中,根据连接建立请求与DLNA客户端建立通讯连接。
在步骤106中,通过通讯连接和预定端口接收DLNA客户端发送的写文件请求,写文件请求携带有至少一个请求字段。
在步骤108中,读取请求字段并对请求字段进行解析得到动作参数和文件路径。
在步骤110中,根据动作参数在与文件路径对应的位置进行写文件操作。
综上所述,本实施例提供的文件读写方法,通过DLNA服务器在接收到DLNA客户端通过应用层协议发送的连接建立请求后,根据连接建立请求与DLNA客户端建立通讯连接,然后通过上述通讯连接和预定端口接收DLNA客户端发送的写文件请求,并在读取写文件请求中包含的请求字段之后对读取到的请求字段进行解析得到动作参数和文件路径,然后根据动作参数在与文件路径对应的位置进行写文件操作;解决了相关技术中DLNA客户端只能够读取由DLNA服务器共享的文件,并不能执行其它操作的问题;实现了DLNA客户端能够向DLNA服务器写文件的效果。
图2是根据另一示例性实施例示出的一种文件读写方法的流程图,本实施例以该文件读写方法应用于DLNA服务器中来举例说明。该文件读写方法可以包括如下几个步骤:
在步骤201中,预先创建满足自定义协议的预定端口。
预先在DLNA服务器中创建满足自定义协议的预定端口,该预定端口用于接收DLNA客户端发送的写文件请求。其中,自定义协议用于规定通过预定端口发送的写文件请求中包括DLNA服务器对应的IP(InternetProtocol,因特网互联协议)地址、预定端口的端口号、用于表示当前请求的类型为写文件请求的请求标识、文件路径以及动作参数。
其中,当DLNA服务器为运行于DLNA设备中的计算机软件时,DLNA服务器对应的IP地址即为DLNA设备的IP地址,DLNA客户端通过该IP地址实现与DLNA服务器之间的网络通信。
预定端口的端口号为DLNA设备的操作系统分配给DLNA服务器的用于接收写文件请求的预定端口的端口号。DLNA服务器通过监听该端口号所对应的预定端口检测是否有DLNA客户端通过TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/因特网互联协议)协议向其发来写文件请求。DLNA客户端也需要知道该端口号才能准确地向DLNA服务器发送写文件请求。
请求标识用于表示当前请求类型为写文件请求,该请求标识可记为“write”。当DLNA客户端向DLNA服务器发送的请求中包含请求标识“write”时,表示当前请求类型为写文件请求。
文件路径可记为path。文件路径path用于表示需要执行的写文件操作所对应的文件/文件夹所在的位置。
动作参数可记为action。动作参数action可以是上传参数upload、新建参数create、重命名参数rename以及删除参数delete中的任意一种。动作参数用于表示需要执行的写文件操作的类型,包括上传、新建、重命名以及删除操作中的任意一种。
综上,DLNA客户端在通过预定端口向DLNA服务器发送写文件请求时,该写文件请求需要满足自定义协议所规定的请求格式和内容。比如,写文件请求的内容为:192.168.31.1:8200:/write/folder1/1.jpg?action=upload。其中,192.168.31.1为DLNA服务器对应的IP地址、8200为预定端口的端口号、write为用于表示当前请求类型为写文件请求的请求标识、folder1/1.jpg表示文件路径path、action=upload表示动作参数为上传参数。
在步骤202中,接收DLNA客户端通过应用层协议发送的连接建立请求。
DLNA客户端如需执行写文件操作,在向DLNA服务器发送写文件请求之前首先需要与DLNA服务器建立通讯连接。因此,DLNA客户端首先通过应用层协议向DLNA服务器发送连接建立请求;对应地,DLNA服务器接收DLNA客户端通过应用层协议发送的连接建立请求。
其中,连接建立请求用于建立DLNA客户端的Socket端口与DLNA服务器的Socket端口之间的通讯连接。DLNA客户端可以通过HTTP(Hypertexttransferprotocol,超文本传输协议)协议或者自定义的应用层协议向DLNA服务器发送连接建立请求。
在步骤203中,根据连接建立请求与DLNA客户端建立通讯连接。
DLNA服务器根据连接建立请求与DLNA客户端建立连接。DLNA服务器在接收到DLNA客户端发送的连接建立请求之后,建立Socket连接,也即DLNA客户端的Socket端口与DLNA服务器的Socket端口之间的通讯连接。
当连接建立请求中携带有指定使用TCP(TransmissionControlProtocol,传输控制协议)协议进行连接的指示时,本步骤可以包括如下几个子步骤:
第一,读取连接建立请求中携带的指示。
第二,根据指示与DLNA客户端建立TCP连接。
DLNA客户端在发送连接建立请求时可以指定使用TCP协议建立连接,其可以在连接建立请求中携带指定使用TCP协议进行连接的指示。DLNA服务器在读取到连接建立请求中包含的上述指示之后,根据指示与DLNA客户端建立基于TCP协议的Socket连接,该Socket连接也称为TCP连接。
进一步地,DLNA服务器在建立完成连接之后,可以向DLNA客户端发送连接建立响应,用于告知DLNA客户端已经成功建立连接。
在步骤204中,通过连接和预定端口接收DLNA客户端发送的写文件请求,写文件请求携带有至少一个请求字段。
DLNA客户端接收到DLNA服务器发送的连接建立响应之后,通过建立的通讯连接和预定端口向DLNA服务器发送写文件请求,该写文件请求携带有至少一个请求字段,请求字段中包含有上述步骤201中介绍的自定义协议所规定的写文件请求中所需包含的内容。比如,该写文件请求的内容为:192.168.31.1:8200:/write/folder1/1.jpg?action=upload。
对应地,DLNA服务器通过通讯连接和预定端口接收DLNA客户端发送的写文件请求。
在步骤205中,读取请求字段并对请求字段进行解析得到动作参数和文件路径。
DLNA服务器接收到写文件请求之后,读取写文件请求中携带的请求字段,并对请求字段进行解析得到动作参数action和文件路径path。其中,动作参数action可以是上传参数upload、新建参数create、重命名参数rename以及删除参数delete中的任意一种。
在步骤206中,根据动作参数在与文件路径对应的位置进行写文件操作。
DLNA服务器根据动作参数action在与文件路径path对应的位置进行写文件操作。对应于不同的动作参数action,本步骤可以有如下几种可能的实现方式:
在第一种可能的实现方式中,当动作参数为上传参数时,根据文件路径在与文件路径对应的位置创建空文件;通过连接和预定端口向DLNA客户端发送文件上传指令;通过通讯连接和预定端口接收DLNA客户端发送的文件流;将接收到的文件流写入空文件中,得到DLNA客户端上传的文件。
在DLNA客户端需要向DLNA服务器上传文件时,DLNA客户端首先连接至DLNA服务器。连接成功后,DLNA客户端向DLNA服务器发送写文件请求,比如:192.168.31.1:8200:/write/folder1/1.jpg?action=upload。DLNA服务器接收到写文件请求之后,首先读取到文件路径path为folder1/1.jpg,然后根据文件路径path在与文件路径path对应的位置创建空文件。之后,DLNA服务器通过通讯连接和预定端口向DLNA客户端发送文件上传指令,用于指示DLNA客户端可以开始上传文件。DLNA客户端接收到文件上传指令后,创建文件流,然后将需要上传的文件写入文件流中,并通过预定端口依此发送给DLNA服务器。DLNA服务器接收DLNA客户端传输至的文件流,并将接收到的文件流写入空文件中,最终得到DLNA客户端上传的文件。
在第二种可能的实现方式中,当动作参数为新建参数时,调用预定新建接口在与文件路径对应的位置创建一个新建文件夹。
当动作参数action=create时,DLNA服务器调用预定新建接口在与文件路径path对应的位置创建一个新建文件夹。该预定新建接口可以是linux环境下的mkdir接口。
在第三种可能的实现方式中,当动作参数为重命名参数时,读取写文件请求中包含的目标名称;根据文件路径查找并获取与文件路径对应的位置的文件/文件夹;调用预定重命名接口将文件/文件夹的名称修改为目标名称。
当动作参数action=rename时,DLNA服务器读取写文件请求中包含的目标名称,该目标名称为将文件/文件夹重命名之后的名称;然后根据文件路径path查找并获取与文件路径path对应的位置的文件/文件夹,并调用预定重命名接口将文件/文件夹的名称修改为目标名称。其中,预定重命名接口可以是linux环境下的mv接口。
在第四种可能的实现方式中,当动作参数为删除参数时,根据文件路径查找并获取与文件路径对应的位置的文件/文件夹;调用预定删除接口对文件/文件夹进行删除。
当动作参数action=delete时,DLNA服务器首先根据文件路径path查找并获取与文件路径path对应的位置的文件/文件夹,然后调用预定删除接口对文件/文件夹进行删除。其中,预定删除接口可以是linux环境下的rm-rf接口。
由此可见,在不同的实现方式中,通过配置不同的动作参数,可以实现上传文件、新建文件夹、重命名文件/文件夹以及删除文件/文件夹等写文件操作,充分扩展DLNA系统在写文件方面的功能。
综上所述,本实施例提供的文件读写方法,通过DLNA服务器在接收到DLNA客户端通过应用层协议发送的连接建立请求后,根据连接建立请求与DLNA客户端建立通讯连接,然后通过上述通讯连接和预定端口接收DLNA客户端发送的写文件请求,并在读取写文件请求中包含的请求字段之后对读取到的请求字段进行解析得到动作参数和文件路径,然后根据动作参数在与文件路径对应的位置进行写文件操作;解决了相关技术中DLNA客户端只能够读取由DLNA服务器共享的文件,并不能执行其它操作的问题;实现了DLNA客户端能够向DLNA服务器写文件的效果。
另外,本实施例通过配置不同的动作参数,实现了上传文件、新建文件夹、重命名文件/文件夹以及删除文件/文件夹等写文件操作,充分扩展了DLNA系统在写文件方面的功能。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图3是根据一示例性实施例示出的一种文件读写装置的示意图,该文件读写装置可以通过软件、硬件或者两者的结合实现成为DLNA服务器的部分或者全部。该文件读写装置可以包括:请求连接模块310、连接建立模块320、请求接收模块330、请求解析模块340和操作执行模块350。
请求连接模块310,被配置为接收DLNA客户端通过应用层协议发送的连接建立请求。
连接建立模块320,被配置为根据连接建立请求与DLNA客户端建立通讯连接。
请求接收模块330,被配置为通过通讯连接和预定端口接收DLNA客户端发送的写文件请求,写文件请求携带有至少一个请求字段。
请求解析模块340,被配置为读取请求字段并对请求字段进行解析得到动作参数和文件路径。
操作执行模块350,被配置为根据动作参数在与文件路径对应的位置进行写文件操作。
综上所述,本实施例提供的文件读写装置,通过DLNA服务器在接收到DLNA客户端通过应用层协议发送的连接建立请求后,根据连接建立请求与DLNA客户端建立通讯连接,然后通过上述通讯连接和预定端口接收DLNA客户端发送的写文件请求,并在读取写文件请求中包含的请求字段之后对读取到的请求字段进行解析得到动作参数和文件路径,然后根据动作参数在与文件路径对应的位置进行写文件操作;解决了相关技术中DLNA客户端只能够读取由DLNA服务器共享的文件,并不能执行其它操作的问题;实现了DLNA客户端能够向DLNA服务器写文件的效果。
图4是根据另一示例性实施例示出的一种文件读写装置的示意图,该文件读写装置可以通过软件、硬件或者两者的结合实现成为DLNA服务器的部分或者全部。该文件读写装置可以包括:请求连接模块310、连接建立模块320、请求接收模块330、请求解析模块340和操作执行模块350。
请求连接模块310,被配置为接收DLNA客户端通过应用层协议发送的连接建立请求。
连接建立模块320,被配置为根据连接建立请求与DLNA客户端建立通讯连接。
该连接建立模块320,可以包括:指示读取单元320a和连接建立单元320b。
指示读取单元320a,被配置为当连接建立请求中携带有指定使用传输控制协议TCP进行连接的指示时,读取连接建立请求中携带的指示。
连接建立单元320b,被配置为根据指示与DLNA客户端建立TCP连接。
请求接收模块330,被配置为通过通讯连接和预定端口接收DLNA客户端发送的写文件请求,写文件请求携带有至少一个请求字段。
请求解析模块340,被配置为读取请求字段并对请求字段进行解析得到动作参数和文件路径。
操作执行模块350,被配置为根据动作参数在与文件路径对应的位置进行写文件操作。
在另一实施例中,操作执行模块350,包括:文件创建单元350a、指令发送单元350b、文件接收单元350c和文件写入单元350d。
文件创建单元350a,被配置为当动作参数为上传参数时,根据文件路径在与文件路径对应的位置创建空文件。
指令发送单元350b,被配置为通过通讯连接和预定端口向DLNA客户端发送文件上传指令。
文件接收单元350c,被配置为通过通讯连接和预定端口接收DLNA客户端发送的文件流,文件流是DLNA客户端在接收到文件上传指令后发送的。
文件写入单元350d,被配置为将接收到的文件流写入空文件中,得到DLNA客户端上传的文件。
可选地,操作执行模块350,包括:文件新建单元350e。
文件新建单元350e,被配置为当动作参数为新建参数时,调用预定新建接口在与文件路径对应的位置创建一个新建文件夹。
可选地,操作执行模块350,包括:名称读取单元350f、文件查找单元350g和名称修改单元350h。
名称读取单元350f,被配置为当动作参数为重命名参数时,读取写文件请求中包含的目标名称。
文件查找单元350g,被配置为根据文件路径查找并获取与文件路径对应的位置的文件/文件夹。
名称修改单元350h,被配置为调用预定重命名接口将文件/文件夹的名称修改为目标名称。
可选地,操作执行模块350,包括:路径查找单元350i和文件删除单元350j。
路径查找单元350i,被配置为当动作参数为删除参数时,根据文件路径查找并获取与文件路径对应的位置的文件/文件夹。
文件删除单元350j,被配置为调用预定删除接口对文件/文件夹进行删除。
该文件读写装置,还可以包括:
端口创建模块360,被配置为预先创建满足自定义协议的预定端口。
其中,自定义协议用于规定通过预定端口发送的写文件请求中需要包括DLNA服务器对应的IP地址、预定端口的端口号、用于表示当前请求的类型为写文件请求的请求标识、文件路径以及动作参数。
综上所述,本实施例提供的文件读写装置,通过DLNA服务器在接收到DLNA客户端通过应用层协议发送的连接建立请求后,根据连接建立请求与DLNA客户端建立连接,然后通过上述连接和预定端口接收DLNA客户端发送的写文件请求,并在读取写文件请求中包含的请求字段之后对读取到的请求字段进行解析得到动作参数和文件路径,然后根据动作参数在与文件路径对应的位置进行写文件操作;解决了相关技术中DLNA客户端只能够读取由DLNA服务器共享的文件,并不能执行其它操作的问题;实现了DLNA客户端能够向DLNA服务器写文件的效果。
另外,本实施例通过配置不同的动作参数,实现了上传文件、新建文件夹、重命名文件/文件夹以及删除文件/文件夹等写文件操作,充分扩展了DLNA系统在写文件方面的功能。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例提供了一种文件读写装置,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
接收数字生活网络联盟DLNA客户端通过应用层协议发送的连接建立请求;
根据所述连接建立请求与所述DLNA客户端建立通讯连接;
通过所述通讯连接和预定端口接收所述DLNA客户端发送的写文件请求,所述写文件请求携带有至少一个请求字段;
读取所述请求字段并对所述请求字段进行解析得到动作参数和文件路径;
根据所述动作参数在与所述文件路径对应的位置进行写文件操作。
在另一实施例中,处理器还可以被配置为:所述根据所述动作参数在与所述文件路径对应的位置进行写文件操作,包括:
当所述动作参数为上传参数时,根据所述文件路径在与所述文件路径对应的位置创建空文件;
通过所述通讯连接和所述预定端口向所述DLNA客户端发送文件上传指令;
通过所述通讯连接和所述预定端口接收所述DLNA客户端发送的文件流,所述文件流是所述DLNA客户端在接收到所述文件上传指令后发送的;
将接收到的所述文件流写入所述空文件中,得到所述DLNA客户端上传的文件。
在另一实施例中,处理器还可以被配置为:
所述根据所述动作参数在与所述文件路径对应的位置进行写文件操作,包括:
当所述动作参数为新建参数时,调用预定新建接口在与所述文件路径对应的位置创建一个新建文件夹。
在另一实施例中,处理器还可以被配置为:
所述根据所述动作参数在与所述文件路径对应的位置进行写文件操作,包括:
当所述动作参数为重命名参数时,读取所述写文件请求中包含的目标名称;
根据所述文件路径查找并获取与所述文件路径对应的位置的文件/文件夹;
调用预定重命名接口将所述文件/文件夹的名称修改为所述目标名称。
在另一实施例中,处理器还可以被配置为:
所述根据所述动作参数在与所述文件路径对应的位置进行写文件操作,包括:
当所述动作参数为删除参数时,根据所述文件路径查找并获取与所述文件路径对应的位置的文件/文件夹;
调用预定删除接口对所述文件/文件夹进行删除。
在另一实施例中,处理器还可以被配置为:
所述根据所述通讯连接建立请求与所述DLNA客户端建立连接,包括:
当所述连接建立请求中携带有指定使用传输控制协议TCP进行连接的指示时,读取所述连接建立请求中携带的所述指示;
根据所述指示与所述DLNA客户端建立TCP连接。
在另一实施例中,处理器还可以被配置为:
预先创建满足自定义协议的所述预定端口;
其中,所述自定义协议用于规定通过所述预定端口发送的写文件请求中包括所述DLNA服务器对应的IP地址、所述预定端口的端口号、用于表示当前请求的类型为写文件请求的请求标识、所述文件路径以及所述动作参数。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据本公开一示例性实施例示出的一种用于访问控制的装置500的框图。例如,装置500可以是本公开上述实施例中涉及的DLNA服务器。装置500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置500中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在装置500上执行存储介质530中的一系列指令操作。
装置500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,一个或一个以上键盘556,和/或,一个或一个以上操作系统541,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM等等。
当存储介质530中的指令由装置500的中央处理器522执行时,使得装置500能够执行上述图1或者图2所述的文件读写方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (12)
1.一种文件读写方法,其特征在于,用于数字生活网络联盟DLNA服务器中,所述方法包括:
接收DLNA客户端通过应用层协议发送的连接建立请求;
根据所述连接建立请求与所述DLNA客户端建立通讯连接;
通过所述通讯连接和预定端口接收所述DLNA客户端发送的写文件请求,所述写文件请求携带有至少一个请求字段;
读取所述请求字段并对所述请求字段进行解析得到动作参数和文件路径;
根据所述动作参数在与所述文件路径对应的位置进行写文件操作;
所述方法还包括:
预先创建满足自定义协议的所述预定端口;
其中,所述自定义协议用于规定通过所述预定端口发送的写文件请求中包括所述DLNA服务器对应的IP地址、所述预定端口的端口号、用于表示当前请求的类型为写文件请求的请求标识、所述文件路径以及所述动作参数。
2.根据权利要求1所述的方法,其特征在于,所述根据所述动作参数在与所述文件路径对应的位置进行写文件操作,包括:
当所述动作参数为上传参数时,根据所述文件路径在与所述文件路径对应的位置创建空文件;
通过所述通讯连接和所述预定端口向所述DLNA客户端发送文件上传指令;
通过所述通讯连接和所述预定端口接收所述DLNA客户端发送的文件流,所述文件流是所述DLNA客户端在接收到所述文件上传指令后发送的;
将接收到的所述文件流写入所述空文件中,得到所述DLNA客户端上传的文件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述动作参数在与所述文件路径对应的位置进行写文件操作,包括:
当所述动作参数为新建参数时,调用预定新建接口在与所述文件路径对应的位置创建一个新建文件夹。
4.根据权利要求1所述的方法,其特征在于,所述根据所述动作参数在与所述文件路径对应的位置进行写文件操作,包括:
当所述动作参数为重命名参数时,读取所述写文件请求中包含的目标名称;
根据所述文件路径查找并获取与所述文件路径对应的位置的文件/文件夹;
调用预定重命名接口将所述文件/文件夹的名称修改为所述目标名称。
5.根据权利要求1所述的方法,其特征在于,所述根据所述动作参数在与所述文件路径对应的位置进行写文件操作,包括:
当所述动作参数为删除参数时,根据所述文件路径查找并获取与所述文件路径对应的位置的文件/文件夹;
调用预定删除接口对所述文件/文件夹进行删除。
6.根据权利要求1至5任一所述的方法,其特征在于,所述根据所述通讯连接建立请求与所述DLNA客户端建立连接,包括:
当所述连接建立请求中携带有指定使用传输控制协议TCP进行连接的指示时,读取所述连接建立请求中携带的所述指示;
根据所述指示与所述DLNA客户端建立TCP连接。
7.一种文件读写装置,其特征在于,用于数字生活网络联盟DLNA服务器中,所述装置包括:
请求连接模块,用于接收DLNA客户端通过应用层协议发送的连接建立请求;
连接建立模块,用于根据所述连接建立请求与所述DLNA客户端建立通讯连接;
请求接收模块,用于通过所述通讯连接和预定端口接收所述DLNA客户端发送的写文件请求,所述写文件请求携带有至少一个请求字段;
请求解析模块,用于读取所述请求字段并对所述请求字段进行解析得到动作参数和文件路径;
操作执行模块,用于根据所述动作参数在与所述文件路径对应的位置进行写文件操作;
所述装置还包括:
端口创建模块,用于预先创建满足自定义协议的所述预定端口;
其中,所述自定义协议用于规定通过所述预定端口发送的写文件请求中包括所述DLNA服务器对应的IP地址、所述预定端口的端口号、用于表示当前请求的类型为写文件请求的请求标识、所述文件路径以及所述动作参数。
8.根据权利要求7所述的装置,其特征在于,所述操作执行模块,包括:文件创建单元、指令发送单元、文件接收单元和文件写入单元;
所述文件创建单元,用于当所述动作参数为上传参数时,根据所述文件路径在与所述文件路径对应的位置创建空文件;
所述指令发送单元,用于通过所述通讯连接和所述预定端口向所述DLNA客户端发送文件上传指令;
所述文件接收单元,用于通过所述通讯连接和所述预定端口接收所述DLNA客户端发送的文件流,所述文件流是所述DLNA客户端在接收到所述文件上传指令后发送的;
所述文件写入单元,用于将接收到的所述文件流写入所述空文件中,得到所述DLNA客户端上传的文件。
9.根据权利要求7所述的装置,其特征在于,所述操作执行模块,包括:文件新建单元;
所述文件新建单元,用于当所述动作参数为新建参数时,调用预定新建接口在与所述文件路径对应的位置创建一个新建文件夹。
10.根据权利要求7所述的装置,其特征在于,所述操作执行模块,包括:名称读取单元、文件查找单元和名称修改单元;
所述名称读取单元,用于当所述动作参数为重命名参数时,读取所述写文件请求中包含的目标名称;
所述文件查找单元,用于根据所述文件路径查找并获取与所述文件路径对应的位置的文件/文件夹;
所述名称修改单元,用于调用预定重命名接口将所述文件/文件夹的名称修改为所述目标名称。
11.根据权利要求7所述的装置,其特征在于,所述操作执行模块,包括:路径查找单元和文件删除单元;
所述路径查找单元,用于当所述动作参数为删除参数时,根据所述文件路径查找并获取与所述文件路径对应的位置的文件/文件夹;
所述文件删除单元,用于调用预定删除接口对所述文件/文件夹进行删除。
12.根据权利要求7至11任一所述的装置,其特征在于,所述连接建立模块,包括:指示读取单元和连接建立单元;
所述指示读取单元,用于当所述连接建立请求中携带有指定使用传输控制协议TCP进行连接的指示时,读取所述连接建立请求中携带的所述指示;
所述连接建立单元,用于根据所述指示与所述DLNA客户端建立TCP连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410131306.0A CN103973772B (zh) | 2014-04-02 | 2014-04-02 | 文件读写方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410131306.0A CN103973772B (zh) | 2014-04-02 | 2014-04-02 | 文件读写方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103973772A CN103973772A (zh) | 2014-08-06 |
CN103973772B true CN103973772B (zh) | 2016-02-24 |
Family
ID=51242805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410131306.0A Active CN103973772B (zh) | 2014-04-02 | 2014-04-02 | 文件读写方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103973772B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677794B (zh) * | 2015-12-31 | 2019-04-05 | 新浪网技术(中国)有限公司 | PaaS系统中文件的操作处理方法及装置 |
CN108616549A (zh) * | 2016-12-12 | 2018-10-02 | 北京视联动力国际信息技术有限公司 | 一种文件上传方法及文件服务器 |
CN107508759B (zh) * | 2017-08-16 | 2020-06-05 | 北京星选科技有限公司 | 信息上报方法、装置、计算机可读存储介质和电子设备 |
CN110177345A (zh) * | 2019-05-31 | 2019-08-27 | 东北大学 | 一种用于无蜂窝网络信号区域的文件传输、聊天系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102223378A (zh) * | 2011-06-28 | 2011-10-19 | 北京新媒传信科技有限公司 | 一种文件同步方法和系统 |
CN102479533A (zh) * | 2010-11-30 | 2012-05-30 | 正文科技股份有限公司 | 多媒体档案编辑方法及系统 |
CN103686436A (zh) * | 2013-12-27 | 2014-03-26 | 乐视致新电子科技(天津)有限公司 | 电视机及其获取dlna设备中共享文件的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130265985A1 (en) * | 2012-04-10 | 2013-10-10 | Motorola Mobility, Inc. | Wireless communication device, communication system and method for establishing data connectivity between a wireless communicaiton device and a first access network |
-
2014
- 2014-04-02 CN CN201410131306.0A patent/CN103973772B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479533A (zh) * | 2010-11-30 | 2012-05-30 | 正文科技股份有限公司 | 多媒体档案编辑方法及系统 |
CN102223378A (zh) * | 2011-06-28 | 2011-10-19 | 北京新媒传信科技有限公司 | 一种文件同步方法和系统 |
CN103686436A (zh) * | 2013-12-27 | 2014-03-26 | 乐视致新电子科技(天津)有限公司 | 电视机及其获取dlna设备中共享文件的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103973772A (zh) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160127799A1 (en) | Media playback across multiple devices | |
US9384098B1 (en) | Portable data archiving device | |
EP2924954A1 (en) | Device controlling method, client, server and intermediate device | |
US20160150009A1 (en) | Actionable souvenir from real-time sharing | |
WO2016155635A1 (zh) | 一种数据处理方法和设备 | |
JP2007140910A (ja) | コンテンツ表示システム | |
CN103973772B (zh) | 文件读写方法和装置 | |
CN102611745A (zh) | 文件在线迁移方法、装置和系统 | |
CN104410660A (zh) | 多媒体资源的下载方法、装置、路由器及服务器 | |
US11232066B2 (en) | Method for data migration and terminal | |
US12099886B2 (en) | Techniques for performing clipboard-to-file paste operations | |
CN108306966B (zh) | 文档处理方法、装置、系统、终端及服务器 | |
EP3166321A1 (en) | Playback system group playback control method and terminal | |
CN105208318A (zh) | 一种视频会议内容处理方法及装置 | |
CN114610679A (zh) | 存储设备及其数据存储方法、云端存储系统 | |
CN104601666A (zh) | 日志服务方法及云平台 | |
US20090327303A1 (en) | Intelligent allocation of file server resources | |
JP7217181B2 (ja) | ウェアラブルデバイス、情報処理方法、装置及びシステム | |
CN112243017A (zh) | 一种文件上传的方法和装置 | |
JP5110541B2 (ja) | コンテンツ選択システム、提供装置、転送装置、コンテンツ選択方法、およびコンテンツ選択プログラム | |
US10417279B1 (en) | Customized cross fades for continuous and seamless playback | |
JP2015162227A (ja) | 端末装置、情報処理システム、情報送信方法及びプログラム | |
CN103973669B (zh) | 文件执行方法和装置 | |
KR101703963B1 (ko) | 캐시 서버를 이용한 멀티미디어 서비스를 제공하는 방법 및 시스템 | |
EP3879789B1 (en) | Data processing method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |