具体实施方式
本申请实施例提供一种离线终端访问网络数据的方法及系统。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1是本申请离线终端访问网络数据的方法的一个实施例的流程图。如图1所示,所述离线终端访问网络数据的方法可以包括:
S101:离线终端的第一蓝牙设备扫描预设范围内的第二蓝牙设备,利用预设的第一标识在所述第二蓝牙设备中确定匹配的在线终端的第三蓝牙设备,所述第一蓝牙设备与所述第三蓝牙设备建立连接。
离线终端可以包括离线主机和第一蓝牙设备。包含第一蓝牙设备的离线终端可以发起网络请求数据,第一蓝牙设备可以自动扫描预设范围内是否存在第二蓝牙设备。所述预设范围可以小于或等于第一蓝牙设备传输数据的有效范围。
离线终端可以利用预设的第一标识在扫描到的第二蓝牙设备中确定匹配的在线终端的第三蓝牙设备。所述在线终端可以包括在线主机和第三蓝牙设备。所述第三蓝牙设备可以与在线主机封装成一体。所述第三蓝牙设备还可以与在线主机通过USB等方式进行连接。所述第三蓝牙设备可以每隔预设的第一时间间隔发射包含第一标识的数据信号。
离线终端可以利用预设的第一标识在扫描到的第二蓝牙设备中确定匹配的在线终端的第三蓝牙设备,具体可以包括:所述在线终端的第三蓝牙设备可以每隔预设的第一时间间隔自动发射包含第一标识的数据信号。所述第一标识可以用于表示包含该第三蓝牙设备的终端可以通过网络访问服务器。所述离线终端的第一蓝牙设备可以接收所述包含第一标识的数据,根据所述第一标识可以确定发送该标识的蓝牙设备的在线终端可以通过网络访问服务器,该蓝牙设备可以作为匹配的在线终端的第三蓝牙设备。例如,某蓝牙设备发射的数据中包含的第一标识为01,该第一标识01可以用于表示包含该蓝牙设备的终端可以通过网络访问服务器,第一蓝牙设备接收到包含第一标识01的数据,可以将该蓝牙设备确定为匹配的在线终端的第三蓝牙设备。
若所述离线终端的第一蓝牙设备扫描到的第二蓝牙设备中,有大于或等于2个包含第二蓝牙设备的终端可以通过网络访问服务器,则离线终端的第一蓝牙设备可以选择其中信号较强的作为匹配的在线终端的第三蓝牙设备。
所述离线终端上的第一蓝牙设备与所述在线终端的第三蓝牙设备之间可以建立连接。所述第一蓝牙设备与第三蓝牙设备之间传输数据可以采用蓝牙4.0协议中的BLE(Bluetoothlowenergy,蓝牙低功耗)模式。所述第一蓝牙设备与所述第三蓝牙设备建立连接,可以不进行认证直接建立连接关系。所述第一蓝牙设备与所述第三蓝牙设备建立连接,还可以由离线终端的第一蓝牙设备发送验证数据,在线终端的第二蓝牙设备对所述验证数据进行验证后建立连接关系。
S102:所述离线终端将离线主机发起的网络请求数据发送至离线终端的第一蓝牙设备,或利用代理端口发送所述网络请求数据发送至离线终端的第一蓝牙设备。
所述离线终端的主机可以发起网络请求数据。所述网络请求可以包括http请求的数据或https请求的数据。所述网络请求数据中可以包含请求地址和请求内容。
离线终端可以将主机上的网络请求数据发送至离线终端的第一蓝牙设备。离线终端将主机上的网络请求数据发送至离线终端的第一蓝牙设备,可以采用直接发送的方式,也可以采用通过设置的代理端口进行发送的方式。
所述通过设置的代理端口进行发送,具体可以包括:离线终端可以设置该离线终端的代理端口,所述代理端口可以是Socks5代理端口也可以是其他代理协议端口。所述代理端口可以用于离线终端的主机与离线终端的第一蓝牙设备之间进行相互访问。例如,离线终端的主机IP地址是127.0.0.1,代理端口为Socks5端口9000,则可以设置离线终端与代理端口之间的代理关系为127.0.0.1:9000。设置好所述代理端口后,离线终端可以利用所述代理端口将网络请求数据发送至离线终端的第一蓝牙设备。
离线终端利用所述代理端口将网络请求数据发送至离线终端的第一蓝牙设备,具体可以包括:离线终端的主机发起网络请求后,离线终端的主机可以与离线终端的代理端口之间传输握手信号,表示当前可以利用代理端口将主机上的请求数据转发至第一蓝牙设备,则所述离线终端利用代理端口将主机上的请求数据转发至第一蓝牙设备。例如,离线终端的主机可以与离线终端的Socks5端口握手,表示可以利用设置的Socks5端口将主机上的请求数据包转发至第一蓝牙设备。
S103:所述离线终端的第一蓝牙设备将所述网络请求数据发送至建立了连接的所述在线终端的第三蓝牙设备。
所述离线终端的第一蓝牙设备可以将所述网络请求数据发送至建立了连接的所述在线终端的第三蓝牙设备。所述第一蓝牙设备与第三蓝牙设备之间传输数据可以采用蓝牙4.0协议中的BLE(Bluetoothlowenergy,蓝牙低功耗)模式。
S104:所述在线终端第三蓝牙设备接收所述第一蓝牙设备发来的网络请求数据,所述在线终端利用在线终端的第二代理端将所述网络请求数据发送至服务器。
在线终端的第三蓝牙设备可以接收所述第一蓝牙设备发来的网络请求数据。根据网络请求数据中请求数据的地址,在线终端可以利用第二代理端将所述网络请求数据发送至服务器。所述在线终端的第二代理端可以用于发送数据至服务器,或者接收服务器发来的数据。
S105:所述在线终端的第二代理端接收服务器返回的响应数据,在线终端利用所述第三蓝牙设备将所述响应数据发送至所述离线终端的第一蓝牙设备。
所述在线终端的第二代理端可以接收服务器返回的响应数据。所述响应数据可以包括与所述网络请求数据相对应的数据。在线终端可以利用第三蓝牙设备将响应数据发送至离线终端的第一蓝牙设备。
S106:所述离线终端的第一蓝牙设备接收在线终端的第三蓝牙设备发来的响应数据,所述离线终端的主机获取所述响应数据。
离线终端的第一蓝牙设备可以接收在线终端的第三蓝牙设备发来的响应数据。
离线终端的主机可以获取所述响应数据,具体可以包括:第一蓝牙设备可以主动将响应数据转发至离线终端的主机;或者,离线终端的主机可以直接访问第一蓝牙设备,获取第一蓝牙设备接收到的响应数据;或者,离线终端的主机还可以通过设置的代理端口访问第一蓝牙设备,读取第一蓝牙设备接收到的响应数据。
上述访问网络数据的方法实施例,离线终端和在线终端利用蓝牙设备进行数据传输,将在线终端作为离线终端访问服务器的介质,可以实现离线终端即时访问服务器上的数据。
图2是本申请以离线终端为主体的离线终端访问网络数据的方法的实施例的流程图。如图2所示,以离线终端为主体的离线终端访问网络数据的方法,可以包括:
S201:离线终端的第一蓝牙设备扫描预设范围内的第二蓝牙设备,利用预设的第一标识在所述第二蓝牙设备中确定匹配的在线终端的第三蓝牙设备,所述第一蓝牙设备与所述第三蓝牙设备建立连接。
离线终端可以包括离线主机和第一蓝牙设备。包含第一蓝牙设备的离线终端可以发起网络请求数据,第一蓝牙设备可以自动扫描预设范围内是否存在第二蓝牙设备。所述预设范围可以小于或等于第一蓝牙设备传输数据的有效范围。
离线终端可以利用预设的第一标识在扫描到的第二蓝牙设备中确定匹配的在线终端的第三蓝牙设备。所述在线终端可以包括在线主机和第三蓝牙设备。所述第三蓝牙设备可以与在线主机封装与一体。所述第三蓝牙设备还可以与在线主机通过USB等方式进行连接。所述第三蓝牙设备可以每隔预设的第一时间间隔发射包含第一标识的数据信号。
离线终端可以利用预设的第一标识在扫描到的第二蓝牙设备中确定匹配的在线终端的第三蓝牙设备,具体可以包括:所述在线终端的第三蓝牙设备可以每隔第一时间间隔自动发射包含第一标识的数据信号。所述第一标识可以用于表示包含该第三蓝牙设备的终端可以通过网络访问服务器。所述离线终端的第一蓝牙设备可以接收所述包含第一标识的数据,根据所述第一标识可以确定发送该标识的蓝牙设备的在线终端可以通过网络访问服务器,该蓝牙设备可以作为匹配的在线终端的第三蓝牙设备。
若所述离线终端的第一蓝牙设备扫描到的第二蓝牙设备中,有大于或等于2个包含第二蓝牙设备的终端可以通过网络访问服务器,则离线终端的第一蓝牙设备可以选择其中信号较强的作为匹配的在线终端的第三蓝牙设备。
所述离线终端上的第一蓝牙设备与所述在线终端的第三蓝牙设备之间可以建立连接。所述第一蓝牙设备与第三蓝牙设备之间传输数据可以采用蓝牙4.0协议中的BLE(Bluetoothlowenergy,蓝牙低功耗)模式。所述第一蓝牙设备与所述第三蓝牙设备建立连接,可以不进行认证直接建立连接关系。所述第一蓝牙设备与所述第三蓝牙设备建立连接,还可以由离线终端的第一蓝牙设备发送验证数据,在线终端的第二蓝牙设备对所述验证数据进行验证后建立连接关系。
S202:所述离线终端将离线主机发起的网络请求数据发送至离线终端的第一蓝牙设备,或利用代理端口发送所述网络请求数据发送至离线终端的第一蓝牙设备。
所述离线终端的主机可以发起网络请求。所述网络请求可以包括http请求或https请求。所述网络请求中可以包含请求数据的地址和请求数据的内容。
离线终端可以将主机上的网络请求数据发送至离线终端的第一蓝牙设备。离线终端将主机上的网络请求数据发送至离线终端的第一蓝牙设备,可以采用直接发送的方式,也可以采用通过设置的代理端口进行发送的方式。
所述通过设置的代理端口进行发送,具体可以包括:离线终端可以设置该离线终端的代理端口,所述代理端口可以是Socks5代理端口也可以是其他代理协议端口。所述代理端口可以用于离线终端的主机与离线终端的第一蓝牙设备之间进行相互访问。设置好所述代理端口后,离线终端可以利用所述代理端口将网络请求数据发送至离线终端的第一蓝牙设备。
离线终端利用所述代理端口将网络请求数据发送至离线终端的第一蓝牙设备,具体可以包括:离线终端的主机发起网络请求后,离线终端的主机可以与离线终端的代理端口握手,表示当前可以利用代理端口将主机上的请求数据转发至第一蓝牙设备,则所述离线终端利用代理端口将主机上的请求数据转发至第一蓝牙设备。例如,离线终端的主机可以与离线终端的Socks5端口握手,表示可以利用设置的Socks5端口将主机上的请求数据包转发至第一蓝牙设备。
S203:所述离线终端的第一蓝牙设备将所述网络请求数据发送至建立了连接的所述在线终端的第三蓝牙设备。
所述离线终端的第一蓝牙设备可以将所述网络请求数据发送至建立了连接的所述在线终端的第三蓝牙设备。所述第一蓝牙设备与第三蓝牙设备之间传输数据可以采用蓝牙4.0协议中的BLE(Bluetoothlowenergy,蓝牙低功耗)模式。
S204:所述离线终端的第一蓝牙设备接收在线终端的第三蓝牙设备发来的响应数据,所述离线终端的主机获取所述响应数据。
离线终端的第一蓝牙设备可以接收在线终端的第三蓝牙设备发来的响应数据。
离线终端的主机可以获取所述响应数据,具体包括:第一蓝牙设备可以主动将响应数据转发至离线终端的主机;或者,离线终端的主机可以直接访问第一蓝牙设备,获取第一蓝牙设备接收到的响应数据;或者,离线终端的主机还可以通过设置的代理端口访问第一蓝牙设备,读取第一蓝牙设备接收到的响应数据。
上述以离线终端为主体的离线终端访问网络数据的方法实施例与本申请离线终端访问网络数据的方法的第一实施例是对应的。
图3是本申请以在线终端为主体的离线终端访问网络数据的方法的实施例的流程图。如图3所示,以在线终端为主体的离线终端访问网络数据的方法,可以包括:
S301:在线终端的第三蓝牙设备发送包含第一标识的数据信号。
所述在线终端的第三蓝牙设备可以每隔第一时间间隔自动发射包含第一标识的数据信号。所述第一标识可以用于表示包含该第三蓝牙设备的终端可以通过网络访问服务器。
S302:在线终端第三蓝牙设备接收第一蓝牙设备发来的网络请求数据,所述在线终端利用在线终端的第二代理端将所述网络请求数据发送至服务器。
在线终端的第三蓝牙设备可以接收第一蓝牙设备发来的网络请求数据。根据网络请求数据中请求数据的地址,在线终端可以利用第二代理端将所述网络请求数据发送至服务器。所述在线终端的第二代理端可以用于发送数据至服务器,或者接收服务器发来的数据。
S303:所述在线终端的第二代理端接收服务器返回的响应数据,在线终端利用所述第三蓝牙设备将所述响应数据发送至所述离线终端的第一蓝牙设备。
所述在线终端的第二代理端可以接收服务器返回的响应数据。所述响应数据可以包括与所述网络请求数据相对应的数据。在线终端可以利用第三蓝牙设备将响应数据发送至离线终端的第一蓝牙设备。
上述以在线终端为主体的离线终端访问网络数据的方法实施例与本申请离线终端访问网络数据的方法的第一实施例是对应的。
图4是本申请离线终端访问网络数据的系统实施例的组成结构图。如图4所示,所述离线终端访问网络数据的系统,可以包括:离线主机100、第一蓝牙设备200、第三蓝牙设备300、在线主机400。
所述离线主机100,可以用于发起网络请求数据并接收响应数据。
所述第一蓝牙设备200,可以用于发送网络请求数据至第三蓝牙设备300或接收第三蓝牙设备300发来的响应数据;
所述第三蓝牙设备300,可以用于与第一蓝牙设备200或在线主机400进行数据传输。
所述在线主机400,可以用于与第三蓝牙设备300或服务器进行数据传输。
进一步地,所述离线终端访问网络数据的系统还可以包括:代理端口模块500。所述代理端口模块500,可以用于在离线主机100和第一蓝牙设备200之间传递数据。
图5是本申请离线终端访问网络数据的系统实施例中离线主机的组成结构图。如图5所示,所述离线主机100,可以包括:请求数据发起单元110、请求数据发送单元120和响应数据获取单元130。
所述请求数据发起单元110,可以用于发起网络请求数据。所述网络请求可以包含请求数据的地址和请求数据的内容。
所述请求数据发送单元120,可以用于发送网络请求数据至第一蓝牙设备200或代理端口模块500。
所述响应数据获取单元130,可以用于获取第一蓝牙设备200的响应数据。
图6是本申请离线终端访问网络数据的系统实施例中第一蓝牙设备的组成结构图。如图6所示,所述第一蓝牙设备200,可以包括:接收请求单元210、蓝牙扫描单元220、匹配蓝牙确定单元230和第一数据传输单元240。
所述接收请求单元210,可以用于接收请求数据发送单元120或代理端口模块200发来的网络请求数据。
所述蓝牙扫描单元220,可以用于扫描预设范围内的第二蓝牙设备。
所述匹配蓝牙确定单元230,可以用于根据预设的第一标识,在第二蓝牙设备中确定匹配的在线终端的第三蓝牙设备300。
所述第一数据传输单元240,可以用于发送网络请求至第三蓝牙设备300或接收第三蓝牙设备300发来的响应数据。
图7是本申请离线终端访问网络数据的系统实施例中第三蓝牙设备的组成结构图。如图7所示,所述第三蓝牙设备300,可以包括:标识数据发射单元310和第二数据传输单元320。
所述标识数据发射单元310,可以用于发射包含第一标识的数据。具体地可以每隔预设的第一时间间隔发送所述包含第一标识的数据。
所述第二数据传输单元320,可以用于接收第一蓝牙设备200或在线主机400发来的发来的数据,或者,发送数据至第一蓝牙设备200或在线主机400。
上述离线终端访问网络数据的系统实施例与本申请离线终端访问网络数据的方法实施例相对应,可以实现方法实施例的效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogicDevice,PLD)(例如现场可编程门阵列(FieldProgrammableGateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(HardwareDescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBooleanExpressionLanguage)、AHDL(AlteraHardwareDescriptionLanguage)、Confluence、CUPL(CornellUniversityProgrammingLanguage)、HDCal、JHDL(JavaHardwareDescriptionLanguage)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardwareDescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、AtmelAT91SAM、MicrochipPIC18F26K20以及SiliconeLabsC8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。