发明内容
鉴于现有技术中存在的问题,本发明的目的在于提供一种基于信息网络的声音驱动的近距离分享方法、客户端、服务器及系统。从而实现了在近距离场景下,移动装置之间的一对一、一对多分享。
本发明提供了一种基于信息网络的声音驱动的近距离分享方法,包括步骤:
设备1随机产生一段信息作为key,并将key编码进一段声音中进行播放,同时向服务器发出分享请求,该分享请求中包括所述key;
设备2拾取设备1发出的声音信号,依据该声音信号解码出key,并向服务器发出查询分享请求,该查询分享请求中包括设备2解码出的key;
服务器比较从设备1和设备2收到的key,在确认两个key匹配时,向设备1和设备2发出允许分享的信息;
设备1将需要分享的文件通过服务器中转传送给设备2。
优选的,设备1发出的分享请求以及设备2发出的查询分享请求中均包括有设备自身的当前地理位置信息;服务器根据设备1和设备2的当前地理位置信息计算设备1和设备2的当前距离,只有当前距离小于某一阈值时才向设备1和设备2发出允许分享的信息。
优选的,其中所述key编码为一段32位16进制数字的字符串。
优选的,当设备1需要分享的内容之前已经存在于服务器时,设备1向服务器发出的分享请求中还包括有文件ID,服务器向设备1和设备2发出允许分享的信息后,直接根据之前设备1上传的文件ID,将对应的文件发送给设备2。
本发明还提供了一种可实现基于信息网络的声音驱动的近距离分享的客户端,包括:
编码模块,用于随机产生一段信息作为key,并将key编码进一段声音中;
播放模块,用于播放生成的声音;
声音拾取模块,用于接收拾取到的声音;
解码模块,用于对拾取到声音进行解码,获得解码出的key;
发送模块,用于将随机生成的key发送到服务器,或者将通过拾取到的声音解码出的key发送到服务器;并用于在服务器确认允许分享后发送要分享的文件到服务器,以通过服务器中转将文件发送给被分享方设备;
接收模块,用于接收服务器发出的允许分享的信息,以及通过服务器中转的分享文件。
优选的,该客户端还包括:地理位置信息上传模块,用于向服务器上传设备当前的地理位置信息。
本发明还提供了一种可实现基于信息网络的声音驱动的近距离分享的服务器,包括:
接收模块,用于接收设备1随机产生的作为key的一段信息,以及接收设备2上传的key,其中设备2上传的key是根据拾取到的从设备1发出的声音解码产生的,所述声音是设备1将其随机产生的key编码而产生的;
比较模块,用于将设备1和设备2上传的key进行比较,在确认两个key匹配时,向设备1和设备2发出允许分享的信息;
中转模块,用于接收设备1发出的分享文件,并将该分享文件发送给设备2。
优选的,该服务器还包括:距离判断模块,用于根据设备1和设备2上传的设备当前地理位置信息计算设备1和设备2的当前距离,只有当前距离小于某一阈值时才向设备1和设备2发出允许分享的信息。
本发明还提供了一种可实现基于信息网络的声音驱动的近距离分享的系统,其特征在于包括如上所述的任一客户端,以及如上所述的任一服务器。
具体实施方式
为使本发明的上述目的、特征和优点更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1例示了本发明基于信息网络的声音驱动的近距离分享方式的示意图。
如图1所示,在一定距离的范围内,移动设备都打开同一款软件的前提下,分享发送方软件随机产生一段信息作为key,该key可优选的编码为32位16进制数字的字符串,作为本次特定分享事件的唯一标识,发送给服务器,同时把这段信息编码进一段声音中播放,启动分享;其他接收方软件拾取到这段声音以后进行解码,并向服务器端发送请求,获取分享的内容。
图2例示了本发明中设备发出分享信号的过程。
如图2所示,分享方设备(图示中的设备1)发出分享请求时,同时上传待分享的信息。这些信息包括:分享方设备产生出的分享事件的key(如前所述)。
优选的,当设备1希望分享的内容已经保存于服务器中时,上述待分享的信息还可包括分享方想要分享的文件ID,该ID可作为服务器端选择唯一文件的依据。
图3例示了本发明中设备拾取分享信号的过程。
如图3所示,设备1发出的声音信号中,有编码过的特征信号;设备2分析侦测到这种特征信号时,才向服务器端发送请求,以保证查询请求的有效性。声音信号的编码算法如下:
1)把key所使用的16进制编码映射到一定的人耳可听到的音频范围(比如从低音C到低音B之间的16个音。实际音频的基础频率可以通过另外的接口从服务器端更新设定值。一般是2-3个频率,用于在噪声环境中的互为校验);
2)根据软件中预设的多个音频基础频率计算出key所包含的16进制数字对应的音频频率,并把每一个16进制数字位分配一定时长(比如0.1秒,可以通过另外的接口从服务器端更新设定),产生多个音的序列;
3)音频的接收方设备通过自带的mic接收音频信号,每间隔1/2的设定时间(如上述0.1秒的1/2,就是0.05秒),提取特定(能够代表所需16进制数字的所有)的音频频率序列,对于每一个数字都要同时在多个互为校验的频率上得到校验音,方为对该位数字信息的有效解码;
4)由于设备1和设备2所处的环境不一定是绝对安静的,肯定有一些干扰音,因此服务器在判断接收方提交的key和发送方提交的是否同一个的时候允许一定误差存在,比如1-2位(经验值设定,服务器端可配置)16进制数的空缺或与发送设备提交的key不匹配。
图4例示了本发明分享文件传输的过程。
如图4所示,在设备2拾取到设备1发出的声音信号并成功解码出设备1编码进声音信号中的key后,设备2向服务器发送查询分享请求,该查询分享请求包含该解码出的key。服务器将设备1和设备2提交的key进行比对,并确认匹配后,向设备1和设备2发送允许分享的信息,执行设备1到设备2的文件中转,此时设备1可将希望进行分享的文件发送给服务器,服务器再将该分享文件发送给设备2。
优选的,当设备1希望分享的内容已经存在于服务器端时,在服务器确认了key匹配后,直接根据之前设备1上传的文件ID,将对应的文件发送给设备2。
优选的,设备1和设备2在向服务器发出的分享请求及查询分享请求中都包括有设备的地理位置信息,如经纬度坐标。该地理位置信息由设备所带的GPS设备及其他辅助定位设备(如WIFI信号等)从设备的操作系统获取。服务器根据两台设备的地理位置信息(经纬度坐标),可以计算出其地理上的距离,只有当距离在一定范围内(比如10米,服务器端可设定的参数)时,才认为接收方设备向服务器提交的分享接受请求有效。以此限定能够提交接收分享的请求的设备本身只能出现在发送分享请求的设备周围,而不能使通过电话、网络音频传输等方式从超过服务器设定中允许的位置范围之内。
图5例示了本发明所使用的客户端的架构图。
如图5所示,可实现基于信息网络的声音驱动的近距离分享的客户端,包括:
编码模块,用于随机产生一段信息作为key,并将key编码进一段声音中;
播放模块,用于播放生成的声音;
声音拾取模块,用于接收拾取到的声音;
解码模块,用于对拾取到声音进行解码,获得解码出的key;
发送模块,用于将随机生成的key发送到服务器,或者将通过拾取到的声音解码出的key发送到服务器;并用于在服务器确认允许分享后发送要分享的文件到服务器,以通过服务器中转将文件发送给被分享方设备;
接收模块,用于接收服务器发出的允许分享的信息,以及通过服务器中转的分享文件。
优选的,该客户端还可包括:地理位置信息上传模块,用于向服务器上传设备当前的地理位置信息。
这里需要说明的是,图5所示架构的客户端可完成本说明书之前所述的所有优选实施例,在每一实施例中各部件所实现的功能及操作方式,本领域技术人员均可通过阅读本说明书上下文显而易见的获知,为了叙述简便,这里不再一一赘述。
图6例示了本发明所使用的服务器的架构图。
如图6所示,可实现基于信息网络的声音驱动的近距离分享的服务器,包括:
接收模块,用于接收设备1随机产生的作为key的一段信息,以及接收设备2上传的key,其中设备2上传的key是根据拾取到的从设备1发出的声音解码产生的,所述声音是设备1将其随机产生的key编码而产生的;
比较模块,用于将设备1和设备2上传的key进行比较,在确认两个key匹配时,向设备1和设备2发出允许分享的信息;
中转模块,用于接收设备1发出的分享文件,并将该分享文件发送给设备2。
优选的,该服务器还可包括:距离判断模块,用于根据设备1和设备2上传的设备当前地理位置信息计算设备1和设备2的当前距离,只有当前距离小于某一阈值时才向设备1和设备2发出允许分享的信息。
这里需要说明的是,图6所示架构的服务器可完成本说明书之前所述的所有优选实施例,在每一实施例中各部件所实现的功能及操作方式,本领域技术人员均可通过阅读本说明书上下文显而易见的获知,为了叙述简便,这里不再一一赘述。
本发明还提供有可实现基于信息网络的声音驱动的近距离分享的方法及系统,相关方法流程和系统架构在本说明书前文均有提及,本领域技术人员根据说明书上下文能够清楚获得,这里不再一一重复赘述。
通过上述本发明,在好友聚会的时候,可以通过使用该发明的技术向周围的所有好友分享自己拍摄的照片、视频。只需要操作一次,所有人都可以接收到分享。该专利技术使得近距离场景下的内容分享,特别是一对多的分享,更加简便易用。
以上是对本发明的优选实施例进行的详细描述,但本领域的普通技术人员应该意识到,在本发明的范围内和精神指导下,各种改进、添加和替换都是可能的,例如调整接口调用顺序、改变消息格式和内容、使用不同的编程语言(如C、C++、Java等)实现等。这些都在本发明的权利要求所限定的保护范围内。