发明内容
本发明实施例公开了一种实现文件共享的无线通信设备、系统及文件共享的方法,以实现对可通信范围内的无线通信设备上的文件进行遍历,并且实现对通信对端上的文件的直接访问。
本发明一方面提供了一种实现文件共享的无线通信设备,包括一个共享服务器,其中,所述共享服务器包括无线传输接口、控制模块、加密文件系统EFS访问接口,其中:
所述无线传输接口用于基于短距离无线通信链路,接收来自客户端的请求,交给所述控制模块进行解析,并将来自所述控制模块的响应发送给所述客户端;
所述控制模块用于解析所述无线传输接口接收的所述请求,指示所述EFS访问接口根据所述请求进行数据访问,并且将来自所述EFS访问接口的数据访问结果封装成针对所述请求的响应,交给所述无线传输接口;
所述EFS访问接口用于根据来自所述控制模块的指示,访问本地的文件信息和/或文件内容,并将访问结果交给所述控制模块。
本发明另一方面提供了一种实现文件共享的无线通信设备,包括一个共享客户端,其中,所述共享客户端包括无线传输接口、控制模块、加密文件系统EFS挂接接口,其中:
所述无线传输接口用于基于短距离无线通信链路,根据所述控制模块的指示,向服务器发送请求,并且将来自服务器的响应交给所述控制模块;
所述控制模块用于生成对服务器的业务请求,并指示所述无线传输接口发送所述请求,并且解析所述无线传输接口接收的所述响应,获取封装在所述响应中的文件数据,将所述响应数据交给EFS挂接接口;
所述EFS挂接接口用于根据来自所述控制模块的文件数据,将所述文件数据按照客户端的文件系统的结构进行映射。
本发明的第三方面提供了一种实现文件共享的无线通信设备,包括无线传输接口、控制模块、加密文件系统EFS挂接接口、EFS访问接口,其中:
所述无线传输接口用于基于短距离无线通信链路,接收来自客户端的请求,交给所述控制模块进行解析,并将来自所述控制模块的响应发送给所述客户端,并且,
根据所述控制模块的指示,向服务器发送请求,并将来自服务器的响应交给所述控制模块;
所述控制模块用于解析所述无线传输接口接收的所述请求,指示所述EFS访问接口根据所述请求进行数据访问,并且将来自所述EFS访问接口的数据访问结果封装成针对所述请求的响应,交给所述无线传输接口,并且,
生成对服务器的业务请求,并指示所述无线传输接口发送所述请求,并且解析所述无线传输接口接收的所述响应,获取封装在所述响应中的文件数据,将所述响应数据交给EFS挂接接口;
所述EFS访问接口用于根据来自所述控制模块的指示,访问本地的文件信息和/或文件内容,并将访问结果交给所述控制模块;
所述EFS挂接接口用于根据来自所述控制模块的文件数据,将所述文件数据按照客户端的文件系统的结构进行映射。
本发明的第四方面还提供了一种实现文件共享的无线通信系统,包括至少一个如第一或第三方面所述的无线通信设备,以及至少一个如第二或第三方面所述的无线通信设备。
本发明的第五方面提供了一种实现文件共享的方法,该方法包括:
第一无线通信设备基于短距离无线通信链路接收来自第二无线通信设备的目录列表请求;
根据所述目录列表请求,获取本地开放共享的文件的目录信息;
基于所述短距离无线通信链路向所述第二无线通信设备发送目录列表响应,所述目录列表响应中携带所述第一无线通信设备本地开放共享的文件的目录列表,以使所述第二无线通信设备将所述目录列表映射到所述第二无线通信设备本地的文件系统上。
通过应用本发明实施例公开的设备、系统和方法,在近距离、低速率的无线通信技术应用的场景下,例如在蓝牙技术或者红外线通信技术或者WUSB技术的场景下,可以实现无线通信设备对通信半径内的其他无线通信设备上开放共享的文件目录的遍历,并映射到自身的文件系统中,进一步的,还可以直接访问对端设备上的共享文件,对其进行操作。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。
图1所示为本发明实施例的一种网络拓扑场景。其中无线通信设备100、无线通信设备200、无线通信设备300、无线通信设备400、无线通信设备500都是能够支持蓝牙技术或者红外线通信技术或者WUSB技术等近距离、低速率无线通信技术的无线通信设备。可选的,这些无线通信设备也可以支持CDMA、GSM、TDSCDMA、WiMAX、WiFi等其他属性的通信技术。这些无线通信设备可以是例如手机、PDA、笔记本电脑等的无线通信终端,也可以是起到服务器作用的其他通信设备。这些无线通信设备之间的通信通过无线通信链路60实现。无线通信链路60可以是采用蓝牙技术,或者红外线通信技术,或者WUSB技术,或者其他类似的支持近距离、低速率无线通信的通信技术建立的。
以下对本发明实施例的描述中,以所述无线通信链路60采用蓝牙技术建立为例,来说明各无线通信设备的架构及其工作状态。
图2所示为本发明实施例中,各无线通信设备的整体架构示意图。
在图2中,仅示出了说明本发明实施例时必要的设备架构。无线通信设备所共同具有的实现普遍功能的结构,例如天线等,或者为了实现其他特定功能而拓展的架构等,均未示出。
图2所示的设备能够支持蓝牙技术。其中RFCOMM(串口仿真协议)、SDP(会话描述协议)、LMP(链路管理协议)、L2CAP(Logical Link Controland Adaptation Protocol,逻辑链路控制和适配协议)、Baseband(基频)等是蓝牙技术的标准协议,用来为文件共享提供链路基础。如果该设备需要能够采用红外线通信技术或者WUSB技术等建立无线通信链路,则可以采用红外线通信协议或者WUSB通信协议中定义的架构来替代上述架构,以便为文件共享提供链路基础。此处不再赘述。
EFS(加密文件系统)是指嵌入式文件系统,用来管理所有本地文件或可访问设备上的文件;Sharing Server(共享服务器)用来响应远端SharingClient(共享客户端)发来的请求,将本地文件信息或内容发送给所述SharingClient(共享客户端);Sharing Client(共享客户端)用来向远端的Sharing Server(共享服务器)发送请求,并根据响应,向EFS映射虚拟网络设备,也可以将远端的文件内容传送给EFS。如前所述,在无线通信设备采用红外线通信协议或者WUSB通信协议中定义的架构来为文件共享提供链路基础的场景下,EFS以及Sharing Client和/或Sharing Server可以相同的原理和类似的结构结合,在此不再赘述。
根据无线通信设备功能需求的不同,Sharing Client和Sharing Server可以同时配置在无线通信设备上,也可以只择一的配置在无线通信设备上。在本发明实施例中,作为举例,图1所示的各无线通信设备中,无线通信设备100被认为是能够通过无线通信链路60访问其他无线通信设备(例如无线通信设备200、300等),也能够被其他无线通信设备(例如无线通信设备200、300等)通过无线通信链路60访问的无线通信设备,其上配置有Sharing Client和Sharing Server。而无线通信设备400被认为是只能够通过无线通信链路60访问其他无线通信设备(例如无线通信设备100),而不能够被其他无线通信设备(例如无线通信设备100)通过无线通信链路60访问的无线通信设备,其上仅配置有Sharing Client。而无线通信设备500被认为是不能够通过无线通信链路60访问其他无线通信设备(例如无线通信设备100),而只能够被其他无线通信设备(例如无线通信设备100)通过无线通信链路60访问的无线通信设备,其上仅配置有Sharing Server。
图3所示为Sharing Server的结构示意图。其中,无线传输接口1200用于基于无线通信链路,接收来自客户端的请求,交给控制模块1100进行解析,并且将来自控制模块1100的响应发送给所述客户端;所述控制模块1100用于解析所述无线传输接口1200接收的所述请求,指示EFS访问接口1300根据所述请求进行数据访问,并且将来自所述EFS访问接口1300的数据访问结果封装成针对所述请求的响应,交给所述无线传输接口1200;所述EFS访问接口1300用于根据来自所述控制模块1100的指示,访问本地的文件信息和/或文件内容,并将访问结果交给所述控制模块1100。所述无线传输接口1200可以支持不同的无线通信技术,例如蓝牙技术、红外线通信技术、WUSB技术等,也可以只支持其中一种无线通信技术。
可选的,所述Sharing Server还可以包括鉴权模块1400,用于对文件的访问权限进行管理,以实现对文件共享的权限管理。可选的,所述鉴权模块1400还可以支持蓝牙自动鉴权,以实现对无线通信链路建立权限的管理。所述蓝牙自动鉴权是一个蓝牙技术的标准过程,在蓝牙的各版本标准中均有定义,这里不再具体阐述。在红外线通信或者WUSB技术中,也有相应的鉴权标准可供参照,由于鉴权不是本发明实施例必不可少的部分,此处不再赘述。可以理解的,所述鉴权过程中与客户端的交互,可以通过所述控制模块1100来生成或解析交互消息,并通过所述无线传输接口1200接收或发送。或者,也可以有所述鉴权模块1400自身生成或解析交互消息,通过所述无线传输接口1200接收或发送,而将鉴权结果通知所述控制模块1100,以便对文件共享业务进行管理。
图4所示为Sharing Client的结构示意图。其中,无线传输接口2200用于基于无线通信链路,根据控制模块2100的指示,向服务器发送请求,并且将来自服务器的响应交给所述控制模块2100;所述控制模块2100用于生成对服务器的业务请求,并指示所述无线传输接口2200发送所述请求,并且解析所述无线传输接口2200接收的所述响应,获取封装在所述响应中的文件数据,将所述响应数据交给EFS挂接接口2300;所述EFS挂接接口2300用于根据来自所述控制模块2300的文件数据,将所述文件数据按照客户端的文件系统的结构进行映射。所述文件数据是服务器上开放给所述客户端共享的文件的信息和/或文件内容,所述客户端的文件系统例如可以是EFS2、Yaffs(Yet AnotherFlash File System)、FAT32或NTFS文件系统。进一步的,所述EFS挂接接口2300还可以将服务器端文件系统的文件访问函数挂接到客户端的文件系统上,以实现客户端对服务器上文件的直接访问。所述访问函数一般来说可以包括读、写、控制、重置接口等。
可选的,所述Sharing Client还可以包括鉴权模块2400,用于与服务器端Sharing server上的鉴权模块1400进行鉴权交互,以实现对文件的访问权限的鉴权。或者,进一步的,实现对无线通信链路建立权限的鉴权,例如蓝牙自动鉴权。可以理解的,所述鉴权过程中与服务器端的交互,可以通过所述控制模块2100来生成或解析交互消息,并通过所述无线传输接口2200接收或发送。或者,也可以有所述鉴权模块2400自身生成或解析交互消息,通过所述无线传输接口2200接收或发送,而将鉴权结果通知所述控制模块2100,以便对文件共享业务进行管理。
如前所述,在无线通信设备100上,可以同时配置Sharing Client和SharingServer。此时,控制模块1100和控制模块2100可以合并,无线传输接口1200和无线传输接口2200可以合并,鉴权模块1400和鉴权模块2400可以合并,EFS访问接口1300和EFS挂接接口2300可以分开设置,也可以共用一个接口,但同时具备两种功能。
分别配置有前述的Sharing Client和Sharing Server的两个无线通信设备之间互为通信对端,可以建立无线通信链接,构成一个无线通信设备间文件共享的系统。以蓝牙技术为例,每个无线通信设备都有相应的唯一蓝牙地址,通过蓝牙地址可以标识该设备,当例如无线通信设备100想使用其它无线通信设备例如无线通信设备200上的文件信息时,通过蓝牙地址就可寻址到所述无线通信设备200,通过各自的支持蓝牙技术的无线传输接口1200/2200建立蓝牙通信链路,并通过所述无线通信设备200上的EFS访问接口1300获取所述无线通信设备200上的文件信息和/或内容,并通过自身的EFS挂接接口将这些文件信息和/或内容映射到自身的文件系统上。如果无线通信设备100逐个获得周边的无线通信设备200、300、400、500上的文件信息和/或内容,就可以在自身的文件系统上形成一个包含本地和远端的文件系统,实现对周边无线通信设备上的文件的遍历。所述无线通信设备100还可以通过EFS挂接接口2300与例如无线通信设备200上的EFS访问接口1300交互,直接访问无线通信设备200上的文件。
在采用红外线通信技术或者WUSB技术的场景下,则可以通过MAC(Media Access Control Address,媒体访问控制)地址来寻址周边的无线通信设备,并用支持各自技术的无线传输接口1200/2200,建立通信链路,实现本发明的红外线通信场景或WUSB技术场景下的实施例。
以下描述例如无线通信设备100和无线通信设备200之间的文件共享的具体信令交互过程。描述仍以蓝牙场景为例。在红外线通信或者WUSB通信或者其他类似技术通信的场景下,根据各自通信协议,信令结构会略有不同,但基本精神与以下描述相同,本领域技术人员基于以下描述,可以根据各种技术的协议要求,很容易的变化出适合各自技术特性的实施方式。
在本发明实施例中,信令交互可以采用请求-响应的交互模式。其中,请求消息可以采用如下结构:
响应消息可以采用如下结构:
报文类型 |
命令类型 |
报文序列 |
访问是否成功 |
返回结果 |
校验位 |
其中,报文类型字段用于指示该报文的功能,比如鉴权报文、数据传输等;命令类型字段用于指示需要执行的操作,比如发起鉴权、数据发送、数据传输控制等;报文序列字段用于标识请求和响应的对应关系,例如请求消息和响应消息中报文序列一致,表明该响应与该请求是对应的;请求参数字段用于辅助操作进行,可以是目录请求参数,或者文件访问参数,或者鉴权参数等,比如,如果发起的是发起鉴权命令、需要携带明码相关的鉴权参数,如果是数据传输控制命令,则需要携带控制参数,如停止、暂停等,如果发起的是文件访问命令,则需要携带欲访问的文件的路径或类型参数等,具体的,可以根据命令的类型和操作的需要设定;校验位则用来校验数据的正确性;访问是否成功的字段用于指示访问的成功与否,例如可以通过0/1的设置来表征,也可以通过其他方式;返回结果则用于返回操作的结果,例如在请求文件目录的交互中,结果字段就可以携带文件目录的相关信息。
图5所示为本发明实施例的无线通信设备之间的为实现文件共享而进行的信令交互的流程。仍以无线通信设备100和无线通信设备200为例。
步骤5001、可选的,无线通信设备100向无线通信设备200发送鉴权请求,请求建立无线通信链路连接。所述鉴权请求中携带鉴权所需的参数信息。
步骤5002、相应的,无线通信设备200向无线通信设备100发送鉴权响应。所述鉴权响应中携带允许或者拒绝链路建立的指示信息。如果所述无线通信设备200允许建立与所述无线通信设备100的无线通信链路,则二者按照通信协议建立无线通信链路,例如蓝牙通信链路。
需要说明的是,前述鉴权步骤5001和5002在本实施例中虽然是可选步骤,但一般情况下相应的通信协议都需要进行鉴权。进一步的,上述步骤中,步骤5001还可以请求对文件共享的鉴权,步骤5002则可以针对该文件共享的鉴权进行响应,以接受或者拒绝文件共享。文件共享的权限设置和检验都是各文件系统成熟的技术,此处不再赘述。
步骤5003、所述无线通信设备100向所述无线通信设备200发送目录列表请求,请求所述无线通信设备200向其传送所述无线通信设备200上开放共享的文件的目录列表。
步骤5004、所述无线通信设备200向所述无线通信设备100发送目录列表响应,其中携带所述无线通信设备200上开放共享的文件的目录列表。具体的,如图3所示的无线通信设备200上的sharing server中的EFS访问接口1300获取自身开放共享的文件的目录列表,经由控制模块1100的封装在目录列表响应中,由无线传输接口1200发送。
无线通信设备100获取所述目录列表后,其上部署的sharing client的EFS挂接接口2300将所述目录列表映射到自身的文件系统中。步骤5001至步骤5004可以重复执行,逐个访问在访问半径内的无线通信设备,从而对访问半径内的无线通信设备进行文件目录遍历,在无线通信设备100的文件系统中映射出一个包含访问半径内全部开放共享的文件的文件目录。当然,所述无线通信设备100也可以只对访问半径内的一个或一部分无线通信设备进行访问,将访问过的无线通信设备上开放共享的文件的目录映射到自身的文件系统中。所述无线通信设备100遍历其访问半径内的全部或部分无线通信设备时,可以采用分时访问的方式,即在同一时刻,仅访问一个无线通信设备,而通过连续切换实现遍历。在现有技术中,采用蓝牙等无线链路技术都能使所述无线通信设备100访问单个其他无线通信设备的耗时足够小,无线通信设备100的用户在用户体验上感觉不到上述切换。无线通信设备100对无线通信设备200或者其他无线通信设备的识别可以根据蓝牙地址,或者在其他技术场景下,根据该技术所支持的地址。
步骤5005、所述无线通信设备100向所述无线通信设备200发送文件访问请求,请求中携带文件访问参数,例如文件的路径和访问类型等等。
步骤5006、所述无线通信设备200向所述无线通信设备100发送文件访问响应。该响应中可以携带文件内容,例如步骤5005中请求阅读该文件,则本步骤的响应中携带文件的数据。
或者,所述无线通信设备100上的EFS挂接接口还可以通过所述通信设备200上的EFS访问接口获知无线通信设备200上的文件系统的类型,从而将该文件系统的操作函数挂接到自身的文件系统中,以实现对无线通信设备200上的文件的操作,例如删除、修改等。对所述无线通信设备200上的文件的操作,也可以按照步骤505和步骤506的方式,将文件访问请求中携带的访问类型设为删除、修改等,在文件访问响应中反馈操作结果。
需要说明的是,在另外的实施例中,对文件共享权限的鉴权也可以在步骤503至步骤504或者步骤505至步骤506中进行。即,在步骤503或步骤505中,在请求消息中携带鉴权信息,无线通信设备200对该鉴权信息鉴权后,在步骤504或步骤506的响应中体现鉴权结果,例如鉴权通过的,则返回数据信息;鉴权不通过的,则返回鉴权失败的信息,而不返回数据信息。
在步骤5001至步骤5004重复进行的情形下,无线通信设备100可以实现对其访问半径内的全部或部分无线通信设备上开放共享的文件目录的遍历,此时无线通信设备100可以根据用户的操作对其文件目录下不同的其他无线通信设备执行步骤5005至5006的操作。上述实施例中采用无线通信设备200来描述仅仅是一个举例,而并非限定。
以上的描述仅用于说明无线通信设备100和无线通信设备200之间采用本发明实施例所述的技术方案进行文件共享的流程,其中的信令名称和功能示例并不对流程本身构成限定。采用本发明实施例揭示的设备部署和网络拓扑结构,以及信令构成和信令流程,本领域技术人员还可以实现其他具体功能的文件共享。
通过应用本发明实施例公开的设备、系统和方法,在近距离、低速率的无线通信技术应用的场景下,例如在蓝牙技术或者红外线通信技术或者WUSB技术的场景下,可以实现无线通信设备对通信半径内的其他无线通信设备上开放共享的文件目录的遍历,并映射到自身的文件系统中,进一步的,还可以直接访问对端设备上的共享文件,对其进行操作。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。