CN109005096B - Application interaction method and device - Google Patents
Application interaction method and device Download PDFInfo
- Publication number
- CN109005096B CN109005096B CN201710449172.0A CN201710449172A CN109005096B CN 109005096 B CN109005096 B CN 109005096B CN 201710449172 A CN201710449172 A CN 201710449172A CN 109005096 B CN109005096 B CN 109005096B
- Authority
- CN
- China
- Prior art keywords
- virtual
- target
- network request
- preset
- application
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供一种应用交互方法及装置,其中,所述方法包括:在当前应用与预设虚拟服务器之间建立虚拟网络连接;通过所述虚拟网络连接,获取经由操作系统的目标网络请求,所述目标网络请求用于跳转到目标应用;从所述目标网络请求中提取目标应用参数,所述目标应用参数至少包括:目标应用的身份标识;根据所述目标应用参数打开所述目标应用。采用本公开提供的应用交互方法,通过用户终端的操作系统可以实现应用间的交互,不仅提高了应用间的交互效率,还确保了目标应用跳转的准确性,提升了终端的用户体验。
The present disclosure provides an application interaction method and device, wherein the method includes: establishing a virtual network connection between a current application and a preset virtual server; obtaining a target network request via an operating system through the virtual network connection, The target network request is used to jump to the target application; the target application parameter is extracted from the target network request, the target application parameter at least includes: the identity of the target application; and the target application is opened according to the target application parameter. By using the application interaction method provided by the present disclosure, the interaction between applications can be realized through the operating system of the user terminal, which not only improves the interaction efficiency between applications, but also ensures the accuracy of target application jumping and improves the user experience of the terminal.
Description
技术领域technical field
本公开涉及通信技术领域,尤其涉及一种应用交互方法及装置。The present disclosure relates to the field of communication technologies, and in particular, to an application interaction method and apparatus.
背景技术Background technique
随着计算机通信技术的发展,各种应用软件给人们带来了极好的通信体验。通过采用应用深度链接Deeplink技术还可实现应用间的跳转。例如,在应用A适配Deeplink技术的情况下,用户在应用A中触发一个用于跳转到另一应用的链接,可以通过Deeplink技术跳转到另一个应用比如应用B的一个内页。但是如果应用A中没有适配Deeplink技术,则上述应用间的页面跳转功能不可用,影响终端的用户体验。With the development of computer communication technology, various application software has brought people an excellent communication experience. Jumping between applications can also be achieved by using the application deep link Deeplink technology. For example, when application A is adapted to the Deeplink technology, the user triggers a link in application A for jumping to another application, and can jump to another application such as an inner page of application B through the Deeplink technology. However, if the Deeplink technology is not adapted to the application A, the page jump function between the above applications is unavailable, which affects the user experience of the terminal.
发明内容SUMMARY OF THE INVENTION
有鉴于此,本公开提供一种应用交互方法及装置,可以不受限于应用是否适配Deeplink技术,实现应用间页面的跳转。In view of this, the present disclosure provides an application interaction method and apparatus, which can realize page jumping between applications without being limited by whether the application adapts to the Deeplink technology.
根据本公开实施例的第一方面,提供了一种应用交互的方法,所述方法包括:According to a first aspect of the embodiments of the present disclosure, there is provided a method for application interaction, the method comprising:
在当前应用与预设虚拟服务器之间建立虚拟网络连接;Establish a virtual network connection between the current application and the preset virtual server;
通过所述虚拟网络连接,获取经由操作系统的目标网络请求,所述目标网络请求用于跳转到目标应用;Obtain, through the virtual network connection, a target network request via the operating system, where the target network request is used to jump to the target application;
从所述目标网络请求中提取目标应用参数,所述目标应用参数至少包括:目标应用的身份标识;Extract target application parameters from the target network request, where the target application parameters at least include: the identity of the target application;
根据所述目标应用参数打开所述目标应用。The target application is opened according to the target application parameter.
可选地,所述在当前应用与预设虚拟服务器之间建立虚拟网络连接,包括:Optionally, establishing a virtual network connection between the current application and the preset virtual server includes:
在当前应用与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接;Establish a virtual transmission control protocol TCP connection between the current application and the preset virtual HTTP server;
所述通过所述虚拟网络连接,获取经由操作系统的目标网络请求,包括:The obtaining the target network request via the operating system through the virtual network connection includes:
通过虚拟TCP连接,获取经由操作系统的目标HTTP请求。Through a virtual TCP connection, the target HTTP request via the operating system is obtained.
可选地,所述在当前应用与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接,包括:Optionally, establishing a virtual transmission control protocol TCP connection between the current application and the preset virtual HTTP server includes:
根据网络请求获取虚拟HTTP服务器的地址;Obtain the address of the virtual HTTP server according to the network request;
获取握手数据包,所述握手数据包中包括所述虚拟HTTP服务器的地址;Obtaining a handshake data packet, where the handshake data packet includes the address of the virtual HTTP server;
通过所述握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。A virtual TCP connection is established with the virtual HTTP server through the handshake data packet.
可选地,采用以下任一方式根据网络请求获取虚拟HTTP服务器的地址:Optionally, obtain the address of the virtual HTTP server according to the network request in any of the following ways:
从网络请求中提取虚拟HTTP服务器的地址;或者,Extract the address of a virtual HTTP server from a network request; or,
获取网络请求中的虚拟域名;Get the virtual domain name in the network request;
根据所述虚拟域名解析对应的虚拟HTTP服务器的地址。The address of the corresponding virtual HTTP server is resolved according to the virtual domain name.
可选地,所述在当前应用与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接,包括:Optionally, establishing a virtual transmission control protocol TCP connection between the current application and the preset virtual HTTP server includes:
获取网络请求中的虚拟域名;Get the virtual domain name in the network request;
将所述虚拟域名解析为对应的虚拟IP地址;resolve the virtual domain name to a corresponding virtual IP address;
获取TCP握手数据包,所述TCP握手数据包中包括所述虚拟IP地址;Obtaining a TCP handshake data packet, the TCP handshake data packet includes the virtual IP address;
将所述TCP握手数据包中的虚拟IP地址修改为所述虚拟HTTP服务器的地址,获得更新握手数据包;Modifying the virtual IP address in the TCP handshake packet to the address of the virtual HTTP server to obtain an update handshake packet;
通过所述更新握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。A virtual TCP connection is established with the virtual HTTP server through the update handshake data packet.
可选地,所述获取网络请求中的虚拟域名,包括:Optionally, the obtaining of the virtual domain name in the network request includes:
获取HTTP地址中的域名信息;Get the domain name information in the HTTP address;
根据所述域名信息查询预设虚拟域名白名单;Querying a preset virtual domain name whitelist according to the domain name information;
若所述预设虚拟域名白名单中包括所述域名信息,确定所述域名信息属于虚拟域名。If the preset virtual domain name whitelist includes the domain name information, it is determined that the domain name information belongs to a virtual domain name.
可选地,所述获取经由操作系统的目标网络请求,包括:Optionally, the obtaining the target network request via the operating system includes:
获取经由操作系统的网络请求;Get network requests via the operating system;
确定所述网络请求中是否包括预设特征信息;determining whether the network request includes preset feature information;
若所述网络请求中包括预设特征信息,确定所述网络请求为目标网络请求。If the network request includes preset feature information, it is determined that the network request is a target network request.
可选地,所述从目标网络请求中提取目标应用参数,包括:Optionally, the extracting target application parameters from the target network request includes:
将所述目标网络请求发送给预设消息服务;sending the target network request to a preset message service;
通过所述消息服务提取所述目标网络请求中的目标应用参数。The target application parameters in the target network request are extracted through the message service.
可选地,所述将目标网络请求发送给预设消息服务,包括:Optionally, the sending the target network request to the preset message service includes:
过滤所述目标网络请求中的预设特征信息,获得过滤后的目标网络请求;Filter the preset feature information in the target network request to obtain the filtered target network request;
将所述过滤后的目标网络请求发送给所述预设消息服务。Send the filtered target network request to the preset message service.
可选地,采用以下至少一种方式将所述目标网络请求发送给所述预设消息服务:Optionally, the target network request is sent to the preset message service in at least one of the following ways:
通过预设监听组件将所述目标网络请求转发给所述消息服务;forwarding the target network request to the message service through a preset monitoring component;
通过所述预设监听组件复制所述目标网络请求,将复制的目标网络请求发送给所述消息服务;The target network request is copied by the preset monitoring component, and the copied target network request is sent to the message service;
通过所述预设监听组件将所述目标网络请求发送给所述虚拟服务器,由所述虚拟服务器将所述目标网络请求发送给所述消息服务。The target network request is sent to the virtual server through the preset monitoring component, and the virtual server sends the target network request to the message service.
可选地,所述预设监听组件包括:防火墙组件。Optionally, the preset monitoring component includes: a firewall component.
可选地,所述通过所述消息服务提取所述目标网络请求中的目标应用参数,包括:Optionally, the extracting target application parameters in the target network request through the message service includes:
对所述目标网络请求进行信息验证;performing information verification on the target network request;
从信息验证成功的有效网络请求中提取目标应用参数。Extract target application parameters from valid network requests for which information verification is successful.
可选地,所述根据目标应用参数打开所述目标应用,包括:Optionally, the opening the target application according to the target application parameters includes:
根据所述目标应用的身份标识确定本地是否安装所述目标应用;Determine whether to install the target application locally according to the identity of the target application;
若本地未安装所述目标应用,下载和安装所述目标应用;If the target application is not installed locally, download and install the target application;
通过预设应用平台根据所述目标应用参数打开所述目标应用。The target application is opened according to the target application parameter through a preset application platform.
根据本公开实施例的第二方面,提供了一种应用交互装置,所述装置包括:According to a second aspect of the embodiments of the present disclosure, an application interaction apparatus is provided, and the apparatus includes:
连接建立模块,被配置为在当前应用与预设虚拟服务器之间建立虚拟网络连接;a connection establishment module, configured to establish a virtual network connection between the current application and the preset virtual server;
目标请求获取模块,被配置为通过所述虚拟网络连接,获取经由操作系统的目标网络请求,所述目标网络请求用于跳转到目标应用;a target request obtaining module, configured to obtain a target network request via the operating system through the virtual network connection, where the target network request is used to jump to the target application;
参数提取模块,被配置为从所述目标网络请求中提取目标应用参数,所述目标应用参数至少包括:目标应用的身份标识;a parameter extraction module, configured to extract target application parameters from the target network request, where the target application parameters at least include: an identity of the target application;
应用跳转模块,被配置为根据所述目标应用参数打开所述目标应用。An application jumping module is configured to open the target application according to the target application parameter.
可选的,所述连接建立模块包括:Optionally, the connection establishment module includes:
TCP连接建立子模块,被配置为在当前应用与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接;The TCP connection establishment sub-module is configured to establish a virtual transmission control protocol TCP connection between the current application and the preset virtual HTTP server;
所述目标请求获取模块,被配置为通过虚拟TCP连接,获取经由操作系统的目标HTTP请求。The target request obtaining module is configured to obtain the target HTTP request via the operating system through the virtual TCP connection.
可选的,所述TCP连接建立子模块包括:Optionally, the TCP connection establishment submodule includes:
地址获取单元,被配置为根据网络请求获取虚拟HTTP服务器的地址;The address obtaining unit is configured to obtain the address of the virtual HTTP server according to the network request;
第一数据获取单元,被配置为获取握手数据包,所述握手数据包中包括所述虚拟HTTP服务器的地址;a first data acquisition unit, configured to acquire a handshake data packet, where the handshake data packet includes the address of the virtual HTTP server;
第一连接建立单元,被配置为通过所述握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。The first connection establishing unit is configured to establish a virtual TCP connection with the virtual HTTP server through the handshake data packet.
可选的,所述地址获取单元包括:Optionally, the address obtaining unit includes:
地址获取子单元,被配置为从网络请求中提取虚拟HTTP服务器的地址;The address obtaining subunit is configured to extract the address of the virtual HTTP server from the network request;
域名获取子单元,被配置为获取网络请求中的虚拟域名;The domain name obtaining subunit is configured to obtain the virtual domain name in the network request;
地址解析子单元,被配置为根据所述虚拟域名解析对应的虚拟HTTP服务器的地址。The address resolution subunit is configured to resolve the address of the corresponding virtual HTTP server according to the virtual domain name.
可选的,所述TCP连接建立子模块包括:Optionally, the TCP connection establishment submodule includes:
域名获取单元,被配置为获取网络请求中的虚拟域名;a domain name obtaining unit, configured to obtain the virtual domain name in the network request;
IP地址解析单元,被配置为将所述虚拟域名解析为对应的虚拟IP地址;An IP address resolution unit, configured to resolve the virtual domain name into a corresponding virtual IP address;
第二数据获取单元,被配置为获取TCP握手数据包,所述TCP握手数据包中包括所述虚拟IP地址;A second data acquisition unit, configured to acquire a TCP handshake data packet, where the TCP handshake data packet includes the virtual IP address;
数据更新单元,被配置为将所述TCP握手数据包中的虚拟IP地址修改为所述虚拟HTTP服务器的地址,获得更新握手数据包;A data update unit, configured to modify the virtual IP address in the TCP handshake data packet to the address of the virtual HTTP server, to obtain an update handshake data packet;
第二连接建立单元,被配置为通过所述更新握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。The second connection establishing unit is configured to establish a virtual TCP connection with the virtual HTTP server through the update handshake data packet.
可选的,所述域名获取单元包括:Optionally, the domain name obtaining unit includes:
域名获取子单元,被配置为获取HTTP地址中的域名信息;The domain name obtaining subunit is configured to obtain the domain name information in the HTTP address;
查询子单元,被配置为根据所述域名信息查询预设虚拟域名白名单;a query subunit, configured to query a whitelist of preset virtual domain names according to the domain name information;
确定子单元,被配置为在所述预设虚拟域名白名单中包括所述域名信息的情况下,确定所述域名信息属于虚拟域名。The determining subunit is configured to determine that the domain name information belongs to a virtual domain name if the domain name information is included in the preset virtual domain name whitelist.
可选的,所述目标请求获取模块包括:Optionally, the target request acquisition module includes:
请求获取子模块,被配置为获取经由操作系统的网络请求;a request acquisition submodule configured to acquire network requests via the operating system;
检测子模块,被配置为确定所述网络请求中是否包括预设特征信息;a detection submodule, configured to determine whether the network request includes preset feature information;
目标请求确定子模块,被配置为在所述网络请求中包括预设特征信息的情况下,确定所述网络请求为目标网络请求。The target request determination submodule is configured to determine that the network request is a target network request when the network request includes preset feature information.
可选的,所述参数提取模块包括:Optionally, the parameter extraction module includes:
请求发送子模块,被配置为将所述目标网络请求发送给预设消息服务;a request sending submodule, configured to send the target network request to a preset message service;
参数提取子模块,被配置为通过所述消息服务提取所述目标网络请求中的目标应用参数。The parameter extraction submodule is configured to extract the target application parameters in the target network request through the message service.
可选的,所述请求发送子模块包括:Optionally, the request sending submodule includes:
过滤单元,被配置为过滤所述目标网络请求中的预设特征信息,获得过滤后的目标网络请求;a filtering unit, configured to filter preset feature information in the target network request, to obtain the filtered target network request;
发送单元,被配置为将所述过滤后的目标网络请求发送给所述预设消息服务。A sending unit, configured to send the filtered target network request to the preset message service.
可选的,所述请求发送子模块包括:Optionally, the request sending submodule includes:
第一请求发送单元,被配置为通过预设监听组件将所述目标网络请求转发给所述消息服务;a first request sending unit, configured to forward the target network request to the message service through a preset monitoring component;
第二请求发送单元,被配置为通过所述预设监听组件复制所述目标网络请求,将复制的目标网络请求发送给所述消息服务;a second request sending unit, configured to copy the target network request through the preset monitoring component, and send the copied target network request to the message service;
第三请求发送单元,被配置为通过所述预设监听组件将所述目标网络请求发送给所述虚拟服务器,由所述虚拟服务器将所述目标网络请求发送给所述消息服务。A third request sending unit is configured to send the target network request to the virtual server through the preset monitoring component, and the virtual server sends the target network request to the message service.
可选的,所述预设监听组件包括:防火墙组件。Optionally, the preset monitoring component includes: a firewall component.
可选的,所述参数提取模块包括:Optionally, the parameter extraction module includes:
信息验证子模块,被配置为对所述目标网络请求进行信息验证;an information verification submodule, configured to perform information verification on the target network request;
参数提取子模块,被配置为从信息验证成功的有效网络请求中提取目标应用参数。The parameter extraction sub-module is configured to extract the target application parameters from the valid network request for which the information verification is successful.
可选的,所述应用跳转模块包括:Optionally, the application jumping module includes:
检测子模块,被配置为根据所述目标应用的身份标识确定本地是否安装所述目标应用;a detection submodule, configured to determine whether to install the target application locally according to the identity of the target application;
安装子模块,被配置为在本地未安装所述目标应用的情况下,下载和安装所述目标应用;an installation submodule, configured to download and install the target application when the target application is not installed locally;
跳转子模块,被配置为通过预设应用平台根据所述目标应用参数打开所述目标应用。The jump sub-module is configured to open the target application according to the target application parameters through a preset application platform.
根据本公开实施例的第三方面,提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面任一所述方法的步骤。According to a third aspect of the embodiments of the present disclosure, there is provided a non-transitory computer-readable storage medium having a computer program stored thereon, and when the program is executed by a processor, implements the steps of any one of the methods described in the first aspect above.
根据本公开实施例的第四方面,提供了一种应用交互装置,包括:According to a fourth aspect of the embodiments of the present disclosure, an application interaction apparatus is provided, including:
处理器;processor;
用于存储处理器可执行指令的存储器;memory for storing processor-executable instructions;
其中,所述处理器被配置为:wherein the processor is configured to:
在当前应用与预设虚拟服务器之间建立虚拟网络连接;Establish a virtual network connection between the current application and the preset virtual server;
通过所述虚拟网络连接,获取经由操作系统的目标网络请求,所述目标网络请求用于跳转到目标应用;Obtain, through the virtual network connection, a target network request via the operating system, where the target network request is used to jump to the target application;
从所述目标网络请求中提取目标应用参数,所述目标应用参数至少包括:目标应用的身份标识;Extract target application parameters from the target network request, where the target application parameters at least include: the identity of the target application;
根据所述目标应用参数打开所述目标应用。本公开实施例提供的技术方案可以包括以下有益效果:The target application is opened according to the target application parameter. The technical solutions provided by the embodiments of the present disclosure may include the following beneficial effects:
本公开中提供的应用交互方法,当用户想从当前应用界面中跳转到另一目标应用时,在应用双方没有适配DeepLink技术实现应用兼容的情况下,用户终端可以在当前应用和预设虚拟服务器之间建立虚拟网络连接,建立经由操作系统的通信通道,使得当前应用可以通过上述虚拟网络连接向操作系统发送网络请求时,操作系统中的监听组件可以监听到包含目标应用参数的目标网络请求,进而提取目标应用参数,并通过该目标应用参数为用户打开目标应用,增强了操作系统的功能,使应用间交互不受双方应用是否支持DeepLink技术的限制,提升了终端的用户体验。In the application interaction method provided in the present disclosure, when the user wants to jump from the current application interface to another target application, in the case that both applications have not adapted the DeepLink technology to achieve application compatibility, the user terminal can switch between the current application and the preset A virtual network connection is established between the virtual servers, and a communication channel via the operating system is established, so that when the current application can send a network request to the operating system through the above virtual network connection, the monitoring component in the operating system can monitor the target network containing the target application parameters. request, and then extract the target application parameters, and open the target application for the user through the target application parameters, which enhances the function of the operating system, makes the interaction between applications not limited by whether the two applications support DeepLink technology, and improves the user experience of the terminal.
本公开中,通过预设的虚拟HTTP服务器,在当前应用与虚拟HTTP服务器之间建立虚拟TCP连接通道,将当前应用发出的网络请求重定向到本地,以便操作系统中的预设监听组件如防火墙可以获取到携带目标应用参数的目标网络请求,进而提取目标应用参数并利用此参数打开目标应用页面,确保应用交互的可靠性和便利性。In the present disclosure, a virtual TCP connection channel is established between the current application and the virtual HTTP server through a preset virtual HTTP server, and the network request sent by the current application is redirected to the local, so that the preset monitoring component in the operating system, such as a firewall The target network request carrying the target application parameters can be obtained, and then the target application parameters can be extracted, and the target application page can be opened by using the parameters, so as to ensure the reliability and convenience of application interaction.
本公开中,在建立虚拟TCP连接的过程中,可以根据网络请求获取虚拟HTTP服务器的地址,其中,上述网络请求中携带有虚拟域名,通过域名系统解析模块将网络请求中的虚拟域名解析为对应的虚拟HTTP服务器的地址返回给网络请求的发送方比如Web浏览器,使网络请求发送方可以向虚拟HTTP服务器发送握手数据包,操作系统获取包括该虚拟HTTP服务器的地址的握手数据包,通过该握手数据包建立虚拟TCP连接,快速创建经过操作系统发送消息的消息通道。In the present disclosure, in the process of establishing a virtual TCP connection, the address of the virtual HTTP server can be obtained according to a network request, wherein the network request carries a virtual domain name, and the virtual domain name in the network request is parsed by a domain name system parsing module into a corresponding virtual domain name. The address of the virtual HTTP server is returned to the sender of the network request, such as a web browser, so that the sender of the network request can send a handshake data packet to the virtual HTTP server, and the operating system obtains the handshake data packet including the address of the virtual HTTP server. The handshake packet establishes a virtual TCP connection and quickly creates a message channel for sending messages through the operating system.
本公开中,在虚拟TCP连接建立过程中,操作系统的域名解析DNS模块在获取到虚拟域名后,返回预设的虚拟IP地址,以使请求发送方比如Web浏览器可以基于该虚拟IP地址发出握手数据包。该握手数据包经过预设监听组件时,其中的虚拟IP地址被修改为预设虚拟HTTP服务器的地址,确保网络请求发出方与虚拟HTTP服务器之间顺利建立虚拟TCP连接,进而确保后续网络请求的发送和接收,无需远程网络服务器参与,也可以获取到网络请求,节约了无线通信系统资源。In the present disclosure, in the process of establishing a virtual TCP connection, the domain name resolution DNS module of the operating system returns a preset virtual IP address after obtaining the virtual domain name, so that the request sender such as a web browser can send a request based on the virtual IP address. Handshake packets. When the handshake data packet passes through the preset monitoring component, the virtual IP address in it is modified to the address of the preset virtual HTTP server, so as to ensure the smooth establishment of a virtual TCP connection between the sender of the network request and the virtual HTTP server, thereby ensuring that subsequent network requests can be Sending and receiving can also obtain network requests without the participation of a remote network server, saving wireless communication system resources.
本公开中,首先获取信息发送方如Web浏览器发送的网络请求中信息接收方的域名信息,查询预设的虚拟域名白名单判断当前域名是否属于虚拟域名,从而快速建立虚拟TCP连接。In the present disclosure, the domain name information of the information receiver in the network request sent by the information sender, such as a web browser, is first obtained, and the preset virtual domain name whitelist is queried to determine whether the current domain name belongs to the virtual domain name, so as to quickly establish a virtual TCP connection.
本公开中,在从经由操作系统的网络请求如HTTP请求中识别目标网络请求时,可以根据目标网络请求中包含的预设特征信息,比如预设关键字、预设编码方式,快速识别出目标网络请求,提高目标网络请求的获取效率。In the present disclosure, when identifying a target network request from a network request via an operating system, such as an HTTP request, the target can be quickly identified according to preset feature information included in the target network request, such as preset keywords and preset encoding methods Network requests to improve the acquisition efficiency of target network requests.
本公开中,操作系统可以通过预设的Message服务从目标网络请求消息中提取目标应用参数,一方面将目标网络请求的识别和解析过程解耦,提高目标网络请求的检测效率。另一方面,Message服务可以输出统一格式记录的目标应用参数,从而提高后序信息处理效率。In the present disclosure, the operating system can extract the target application parameters from the target network request message through the preset Message service, on the one hand, the identification and parsing process of the target network request are decoupled, and the detection efficiency of the target network request is improved. On the other hand, the Message service can output target application parameters recorded in a unified format, thereby improving the efficiency of subsequent information processing.
本公开中,操作系统将目标网络请求发送给Message服务的方式可以是:预设监听组件将目标网络请求拦截后转发给Message服务;监听组件在识别出目标网络请求后,正常发送给本地HTTP服务器,由所述本地HTTP服务器发送给Message服务;监听组件在识别出目标网络请求后,复制一份目标网络请求数据发送给Message服务;操作系统可以采用以上任一方式,向Message服务发送目标网络请求,增强信息传输的灵活性。另外,操作系统也可以同时采用上述至少两种方式向Message服务发送目标网络请求,提高信息传输的可靠性。In the present disclosure, the operating system may send the target network request to the Message service by: a preset monitoring component intercepts the target network request and forwards it to the Message service; after the monitoring component recognizes the target network request, it normally sends it to the local HTTP server , sent to the Message service by the local HTTP server; after the monitoring component identifies the target network request, a copy of the target network request data is sent to the Message service; the operating system can use any of the above methods to send the target network request to the Message service , to enhance the flexibility of information transmission. In addition, the operating system can also send the target network request to the Message service by using the above at least two methods at the same time, so as to improve the reliability of information transmission.
本公开中,可以通过操作系统的防火墙组件识别并传输目标网络请求,由于防火墙组件属于操作系统原有的监听组件,只需要对防火墙组件进行简单的参数配置,比如预设特征信息的配置,即可使防火墙组件具备识别目标消息的功能,无需在操作系统中增设新的监听组件,节约系统资源。In the present disclosure, the target network request can be identified and transmitted through the firewall component of the operating system. Since the firewall component belongs to the original monitoring component of the operating system, it is only necessary to perform simple parameter configuration on the firewall component, such as the configuration of preset feature information, that is, It enables the firewall component to have the function of identifying target messages, without adding a new monitoring component in the operating system, saving system resources.
本公开中,操作系统在提取目标应用参数之前,还可以进一步对目标网络请求进行信息验证,确保即将解析的目标网络请求属于确定包含有目标应用参数的有效网络请求,避免误将包含预设特征信息的其他网络请求当作有效网络请求进行解析,提高目标应用参数提取的效率和准确性。In the present disclosure, before extracting the target application parameters, the operating system can further perform information verification on the target network request to ensure that the target network request to be parsed is a valid network request that contains the target application parameters, and avoids mistakenly including preset features Other network requests for information are parsed as valid network requests to improve the efficiency and accuracy of target application parameter extraction.
本公开中,若目标应用可以是下载和安装均无需用户确认的新应用。在跳转到目标应用的过程中,操作系统获取到目标应用参数后,可以首先根据目标应用的身份标识确定用户终端当前是否安装有上述目标应用,若没有,可以自动下载安装目标应用的数据包,并通过预设应用平台根据目标应用参数打开目标应用,实现目标应用的自动安装和精确跳转,跳转过程无需用户与终端进行信息交互,提高应用交互的智能化程度,进一步提升终端用户体验。In the present disclosure, if the target application may be a new application that does not require user confirmation for downloading and installation. In the process of jumping to the target application, after the operating system obtains the parameters of the target application, it can first determine whether the above target application is currently installed on the user terminal according to the identity of the target application, and if not, it can automatically download and install the data package of the target application , and open the target application according to the target application parameters through the preset application platform to realize the automatic installation and precise jumping of the target application. The jumping process does not require the user to interact with the terminal information, which improves the intelligence of the application interaction and further improves the end user experience. .
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure.
附图说明Description of drawings
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description serve to explain the principles of the disclosure.
图1是本公开根据一示例性实施例示出的一种应用交互方法的流程图;FIG. 1 is a flowchart of an application interaction method according to an exemplary embodiment of the present disclosure;
图2是本公开根据一示例性实施例示出的另一种应用交互方法的流程图;FIG. 2 is a flowchart of another application interaction method shown in the present disclosure according to an exemplary embodiment;
图3是本公开根据一示例性实施例示出的另一种应用交互方法的流程图;3 is a flowchart of another application interaction method shown in the present disclosure according to an exemplary embodiment;
图4是本公开根据一示例性实施例示出的另一种应用交互方法的流程图;FIG. 4 is a flowchart of another application interaction method shown in the present disclosure according to an exemplary embodiment;
图5是本公开根据一示例性实施例示出的另一种应用交互方法的流程图;FIG. 5 is a flowchart of another application interaction method shown in the present disclosure according to an exemplary embodiment;
图6是本公开根据一示例性实施例示出的另一种应用交互方法的流程图;FIG. 6 is a flowchart of another application interaction method shown in the present disclosure according to an exemplary embodiment;
图7是本公开根据一示例性实施例示出的另一种应用交互方法的流程图;FIG. 7 is a flowchart of another application interaction method shown in the present disclosure according to an exemplary embodiment;
图8是本公开根据一示例性实施例示出的另一种应用交互方法的流程图;FIG. 8 is a flowchart of another application interaction method shown in the present disclosure according to an exemplary embodiment;
图9是本公开根据一示例性实施例示出的另一种应用交互方法的流程图;FIG. 9 is a flowchart of another application interaction method shown in the present disclosure according to an exemplary embodiment;
图10是本公开根据一示例性实施例示出的另一种应用交互方法的流程图;FIG. 10 is a flowchart of another application interaction method shown in the present disclosure according to an exemplary embodiment;
图11-1是本公开根据一示例性实施例示出的一种应用交互的应用场景示意图;11-1 is a schematic diagram of an application scenario of application interaction according to an exemplary embodiment of the present disclosure;
图11-2是相关技术中一种应用交互的应用场景示意图;Figure 11-2 is a schematic diagram of an application scenario of application interaction in the related art;
图12是本公开根据一示例性实施例示出的一种应用交互装置的框图;FIG. 12 is a block diagram of an application interaction apparatus according to an exemplary embodiment of the present disclosure;
图13是本公开根据一示例性实施例示出的另一种应用交互装置的框图;FIG. 13 is a block diagram of another application interaction apparatus according to an exemplary embodiment of the present disclosure;
图14是本公开根据一示例性实施例示出的另一种应用交互装置的框图;Fig. 14 is a block diagram of another application interaction apparatus according to an exemplary embodiment of the present disclosure;
图15是本公开根据一示例性实施例示出的另一种应用交互装置的框图;FIG. 15 is a block diagram of another application interaction apparatus according to an exemplary embodiment of the present disclosure;
图16是本公开根据一示例性实施例示出的另一种应用交互装置的框图;FIG. 16 is a block diagram of another application interaction apparatus according to an exemplary embodiment of the present disclosure;
图17是本公开根据一示例性实施例示出的另一种应用交互装置的框图;FIG. 17 is a block diagram of another application interaction apparatus according to an exemplary embodiment of the present disclosure;
图18是本公开根据一示例性实施例示出的另一种应用交互装置的框图;FIG. 18 is a block diagram of another application interaction apparatus according to an exemplary embodiment of the present disclosure;
图19是本公开根据一示例性实施例示出的另一种应用交互装置的框图;FIG. 19 is a block diagram of another application interaction apparatus shown in the present disclosure according to an exemplary embodiment;
图20是本公开根据一示例性实施例示出的另一种应用交互装置的框图;FIG. 20 is a block diagram of another application interaction apparatus according to an exemplary embodiment of the present disclosure;
图21是本公开根据一示例性实施例示出的另一种应用交互装置的框图;FIG. 21 is a block diagram of another application interaction apparatus according to an exemplary embodiment of the present disclosure;
图22是本公开根据一示例性实施例示出的另一种应用交互装置的框图;FIG. 22 is a block diagram of another application interaction apparatus according to an exemplary embodiment of the present disclosure;
图23是本公开根据一示例性实施例示出的另一种应用交互装置的框图;FIG. 23 is a block diagram of another application interaction apparatus according to an exemplary embodiment of the present disclosure;
图24是本公开根据一示例性实施例示出的用于应用交互装置的一结构示意图。FIG. 24 is a schematic structural diagram of a device for application interaction according to an exemplary embodiment of the present disclosure.
具体实施方式Detailed ways
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。Exemplary embodiments will be described in detail herein, examples of which are illustrated in the accompanying drawings. Where the following description refers to the drawings, the same numerals in different drawings refer to the same or similar elements unless otherwise indicated. The implementations described in the illustrative examples below are not intended to represent all implementations consistent with this disclosure. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present disclosure as recited in the appended claims.
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。The terminology used in the present disclosure is for the purpose of describing particular embodiments only and is not intended to limit the present disclosure. As used in this disclosure and the appended claims, the singular forms "a," "the," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It will also be understood that the term "and/or" as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。It should be understood that although the terms first, second, third, etc. may be used in this disclosure to describe various pieces of information, such information should not be limited by these terms. These terms are only used to distinguish the same type of information from each other. For example, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information, without departing from the scope of the present disclosure. Depending on the context, the word "if" as used herein can be interpreted as "at the time of" or "when" or "in response to determining."
本公开提供了一种应用交互方式,不受限于Deeplink技术,即可实现从一个应用界面跳转到另一目标应用的页面。The present disclosure provides an application interaction method, which is not limited by the Deeplink technology, and can realize jumping from one application interface to the page of another target application.
基于此,本公开提供了一种应用交互方法,通过用户终端的操作系统即可根据一个应用发出的网络请求跳转到指定的目标应用。Based on this, the present disclosure provides an application interaction method, which can jump to a specified target application according to a network request sent by an application through an operating system of a user terminal.
参照图1根据一示例性实施例示出的一种应用交互方法的流程图,该方法可以包括以下步骤:Referring to the flowchart of an application interaction method shown in FIG. 1 according to an exemplary embodiment, the method may include the following steps:
在步骤11中,在当前应用与预设虚拟服务器之间建立虚拟网络连接;In
本公开实施例中,上述当前应用可以是用户终端中安装的各种应用。例如,当前应用属于相关技术中的第一类应用,该第一类应用的下载、安装过程需要用户确认,也就是说,第一类应用的安装包或更新数据包的下载或安装,需要经过接收到用户触发的确认信息后才执行下载或安装。上述第一类应用可以是:浏览器、米聊、微信等应用软件。In the embodiment of the present disclosure, the above-mentioned current application may be various applications installed in the user terminal. For example, the current application belongs to the first type of application in the related art. The download and installation process of the first type of application requires user confirmation. That is to say, the download or installation of the installation package or update data package of the first type of application requires The download or installation is not performed until a confirmation message triggered by the user is received. The above-mentioned first type of applications may be: browsers, Michat, WeChat and other application software.
上述当前应用也可以是其它类型的应用,比如一种新应用,该新应用的下载、安装过程无需用户确认。The above-mentioned current application may also be other types of applications, such as a new application, and the download and installation process of the new application does not require user confirmation.
本公开实施例中,用户终端比如智能手机的操作系统在获取到包含目标应用参数的目标网络请求后,可以根据该网络请求打开目标应用,或者,在用户终端未安装目标应用的情况下,跳转到可以下载目标应用的应用商店,或者,向提供目标应用下载安装包的服务端发送下载请求等操作。In the embodiment of the present disclosure, after obtaining the target network request including the target application parameters, the operating system of the user terminal, such as a smart phone, can open the target application according to the network request, or, if the target application is not installed on the user terminal, jump to Go to the application store where the target application can be downloaded, or send a download request to the server that provides the download and installation package of the target application.
根据TCP(Transmission Control Protocol,传输控制协议)协议的规定,当前应用要想向外发送网络请求,首先需要与网络服务器之间建立可靠的网络连接。之后,操作系统才有可能监听到目标网络请求。According to the stipulations of the TCP (Transmission Control Protocol, Transmission Control Protocol) protocol, if the current application wants to send out network requests, it first needs to establish a reliable network connection with the network server. After that, it is possible for the operating system to listen to the target network request.
由于本公开的主要目的是使操作系统可以监听到目标网络请求,不考虑网络请求的接收方是否向当前应用返回请求获取的信息。因此可以预设一个虚拟网络服务器,使当前应用可以与该虚拟网络服务器建立虚拟网络连接。Since the main purpose of the present disclosure is to enable the operating system to monitor the target network request, it is not considered whether the receiver of the network request returns the requested information to the current application. Therefore, a virtual network server can be preset, so that the current application can establish a virtual network connection with the virtual network server.
在本公开实施例中,上述当前应用可以是能够请求接入网络的应用,比如是Web浏览器或网络代理服务程序,其中,上述网络代理服务程序比如是米聊、微信、QQ等即时通信应用或其他可以请求接入网络的应用。In the embodiment of the present disclosure, the above-mentioned current application may be an application that can request access to the network, such as a web browser or a network proxy service program, wherein the above-mentioned network proxy service program is, for example, instant messaging applications such as Michat, WeChat, and QQ. or other applications that can request access to the network.
上述虚拟服务器可以是设置于用户终端本地的HTTP(Hyper Text TransferProtocol,超文本传输协议)服务器。当前应用可以与上述本地HTTP服务器建立虚拟TCP连接。The above-mentioned virtual server may be an HTTP (Hyper Text Transfer Protocol, hypertext transfer protocol) server set locally on the user terminal. The current application can establish a virtual TCP connection with the above-mentioned local HTTP server.
下面以当前应用是Web浏览器、虚拟服务器为设置于本地的虚拟HTTP服务器为例,对本公开提供的应用交互方法进行详细说明。The application interaction method provided by the present disclosure will be described in detail below by taking the current application as a web browser and the virtual server as a local virtual HTTP server as an example.
本公开实施例中,上述步骤11具体为在当前应用与虚拟HTTP服务器之间建立虚拟TCP连接时,其具体实施过程可以包括以下三种情况:In the embodiment of the present disclosure, the
第一种情况,参照图2根据一示例性实施例示出的另一种应用交互方法的流程图,可以包括以下步骤:In the first case, referring to the flowchart of another application interaction method shown in FIG. 2 according to an exemplary embodiment, the following steps may be included:
在步骤111中,根据网络请求获取虚拟HTTP服务器的地址;In
根据相关知识,Web浏览器向正常的Web服务器发送HTTP请求之前,需要首先通过三次握手建立稳定的TCP连接。在TCP连接建立成功后,向远程的Web服务器发送HTTP请求。According to relevant knowledge, before a web browser sends an HTTP request to a normal web server, it needs to establish a stable TCP connection through a three-way handshake. After the TCP connection is successfully established, an HTTP request is sent to the remote Web server.
本公开实施例中,通过用户终端中预先设置的本地HTTP服务器,建立虚拟TCP连接,以使Web浏览器后续可以经由操作系统向虚拟HTTP服务器发送HTTP请求,从而使预设监听服务可以获取到上述HTTP请求。In the embodiment of the present disclosure, a virtual TCP connection is established through the local HTTP server preset in the user terminal, so that the web browser can subsequently send an HTTP request to the virtual HTTP server via the operating system, so that the preset monitoring service can obtain the above-mentioned HTTP request.
在建立虚拟TCP连接过程中,可以采用以下方式根据网络请求获取虚拟HTTP的服务地址:In the process of establishing a virtual TCP connection, the following methods can be used to obtain the virtual HTTP service address according to the network request:
在浏览器发送的网络请求中未直接包含虚拟HTTP服务器的地址,参照图3根据一示例性实施例示出的另一种应用交互方法的流程图,上述步骤111可以包括:The address of the virtual HTTP server is not directly included in the network request sent by the browser. Referring to the flowchart of another application interaction method shown in FIG. 3 according to an exemplary embodiment, the
在步骤1111中,获取网络请求中的虚拟域名;In
参见图4根据一示例性实施例示出的另一种应用交互方法的流程图,上述步骤1111可以包括:Referring to the flowchart of another application interaction method shown in FIG. 4 according to an exemplary embodiment, the foregoing
在步骤101中,获取HTTP地址中的域名信息;In
示例性的,当用户在Web浏览器的某一页面中点击某一网络链接,假设该网络链接地址即HTTP地址为:Http://abc.com/efg****。Web浏览器首先获取上述HTTP地址中的域名信息,即:abc.com,并将该域名信息“abc.com”发送给用户终端的DNS(Domain NameSystem,域名系统)模块。Exemplarily, when the user clicks on a certain network link on a certain page of the web browser, it is assumed that the network link address, that is, the HTTP address, is: Http://abc.com/efg****. The web browser first obtains the domain name information in the above HTTP address, namely: abc.com, and sends the domain name information "abc.com" to the DNS (Domain Name System, Domain Name System) module of the user terminal.
在步骤102中,根据所述域名信息查询预设虚拟域名白名单;In
本公开实施例中,用户终端中可以预设有一个虚拟域名白名单,上述白名单记录了所有的虚拟域名信息。DNS模块可以利用上述虚拟域名白名单判断浏览器发送的域名是否为虚拟域名。In the embodiment of the present disclosure, a whitelist of virtual domain names may be preset in the user terminal, and the above-mentioned whitelist records all virtual domain name information. The DNS module can use the above virtual domain name whitelist to determine whether the domain name sent by the browser is a virtual domain name.
在步骤103中,若所述预设虚拟域名白名单中包括所述域名信息,确定所述域名信息属于虚拟域名。In
若DNS模块从预设的虚拟域名白名单中查找到abc.com,则确定域名“abc.com”属于虚拟域名。即该域名指向的Web服务器是不存在的。If the DNS module finds abc.com from the preset virtual domain name whitelist, it is determined that the domain name "abc.com" belongs to the virtual domain name. That is, the Web server pointed to by the domain name does not exist.
在步骤1112中,根据所述虚拟域名解析对应的虚拟HTTP服务器的地址。In
本公开实施例中,DNS模块中可以预置有预设列表,该预设列表包括:虚拟HTTP服务器的地址与虚拟域名的对应关系。示例性的,如表一所示:In the embodiment of the present disclosure, a preset list may be preset in the DNS module, and the preset list includes: the correspondence between addresses of virtual HTTP servers and virtual domain names. Exemplary, as shown in Table 1:
表一Table I
DNS模块可以根据虚拟abc.com查询表一,确定对应的虚拟HTTP服务器的地址为:127.0.0.1。进而将该地址返回给浏览器,以使浏览器将该地址作为目的端地址发送握手数据包。The DNS module can determine the address of the corresponding virtual HTTP server as: 127.0.0.1 according to the virtual abc.com query table 1. Then, the address is returned to the browser, so that the browser sends the handshake data packet using the address as the destination address.
在步骤112中,获取握手数据包,所述握手数据包中包括所述虚拟HTTP服务器的地址;In
Web浏览器获取到abc.com对应的虚拟HTTP服务器的地址之后,假设该地址为:(127.0.0.1),利用该HTTP服务器的地址向外发送TCP握手数据包。上述TCP握手数据包中包含有(127.0.0.1)。After the web browser obtains the address of the virtual HTTP server corresponding to abc.com, it is assumed that the address is: (127.0.0.1), and the address of the HTTP server is used to send out a TCP handshake data packet. The above TCP handshake packet contains (127.0.0.1).
在步骤113中,通过所述握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。In
本地虚拟HTTP服务器接收到握手数据包之后,向Web浏览器返回响应消息(response),至此,完成一次握手过程。After the local virtual HTTP server receives the handshake data packet, it returns a response message (response) to the web browser. So far, a handshake process is completed.
在TCP/IP协议中,TCP协议要求通过三次握手提供可靠的连接服务。后序两次握手过程重复执行上述步骤111~步骤113,三次握手成功之后,成功建立虚拟TCP连接。In the TCP/IP protocol, the TCP protocol requires a three-way handshake to provide reliable connection services. In the subsequent two handshake process, the
第二种情况,参见图5根据一示例性实施例示出的另一种应用交互方法的流程图,上述步骤11可以包括:In the second case, referring to the flowchart of another application interaction method shown in FIG. 5 according to an exemplary embodiment, the
在步骤11-1中,获取网络请求中的虚拟域名;In step 11-1, obtain the virtual domain name in the network request;
该步骤的具体实施方式与上述步骤1111类似,此处不再赘述。The specific implementation of this step is similar to the above-mentioned
在步骤11-2中,将所述虚拟域名解析为对应的虚拟IP地址;In step 11-2, the virtual domain name is resolved to a corresponding virtual IP address;
DNS模块在确定域名“abc.com”属于虚拟域名之后,可以根据预置的虚拟IP地址列表,输出一个虚拟IP地址,并将该虚拟IP地址发送给Web浏览器。其中,上述虚拟IP地址列表包括:虚拟域名与虚拟IP地址的对应关系,示例性的,如表二所示:After determining that the domain name "abc.com" belongs to the virtual domain name, the DNS module can output a virtual IP address according to the preset virtual IP address list, and send the virtual IP address to the web browser. Wherein, the above virtual IP address list includes: the corresponding relationship between virtual domain names and virtual IP addresses, exemplary, as shown in Table 2:
表二Table II
DNS模块根据域名“abc.com”查询表二,输出对应的虚拟IP地址(1.2.3.4)。The DNS module queries Table 2 according to the domain name "abc.com", and outputs the corresponding virtual IP address (1.2.3.4).
在步骤11-3中,获取TCP握手数据包,所述TCP握手数据包中包括所述虚拟IP地址;In step 11-3, obtain a TCP handshake data packet, and the TCP handshake data packet includes the virtual IP address;
Web浏览器获取到abc.com对应的虚拟IP地址之后,假设该虚拟IP地址为:(1.2.3.4),利用该虚拟IP地址向外发送TCP握手数据包。上述TCP握手数据包中包含有虚拟IP地址(1.2.3.4)。After the web browser obtains the virtual IP address corresponding to abc.com, it is assumed that the virtual IP address is: (1.2.3.4), and the virtual IP address is used to send out a TCP handshake data packet. The above TCP handshake packet contains the virtual IP address (1.2.3.4).
根据相关知识,操作系统作为上层应用软件向远程伺服端发送消息的桥梁,可以获取各应用发送的消息。因此,Web浏览器发送的TCP握手数据包经过操作系统时,可以被操作系统中预置的监听组件比如防火墙组件获取到。According to relevant knowledge, the operating system serves as a bridge for the upper-layer application software to send messages to the remote server, and can obtain the messages sent by each application. Therefore, when the TCP handshake data packet sent by the web browser passes through the operating system, it can be acquired by a monitoring component such as a firewall component preset in the operating system.
在步骤11-4中,将所述TCP握手数据包中的虚拟IP地址修改为所述本地HTTP服务器的地址,获得更新握手数据包;In step 11-4, modify the virtual IP address in the TCP handshake data packet to the address of the local HTTP server to obtain an update handshake data packet;
仍以操作系统中的监听组件是防火墙为例,本公开实施例中,用户终端中预存有虚拟IP地址与本地虚拟HTTP服务器地址的对应关系,示例性的如表二所示:Still taking the monitoring component in the operating system as a firewall as an example, in the embodiment of the present disclosure, the corresponding relationship between the virtual IP address and the local virtual HTTP server address is pre-stored in the user terminal, as shown in Table 2:
表三Table 3
防火墙可以查询上述表三,将来自Web浏览器的原始TCP握手数据包中的IP地址即(1.2.3.4)修改成本地虚拟HTTP服务器的地址即(127.0.0.1),然后将修改后的TCP握手数据包,即更新握手数据包,发送给虚拟HTTP服务器。The firewall can query the above Table 3, modify the IP address (1.2.3.4) in the original TCP handshake packet from the web browser to the address of the local virtual HTTP server (127.0.0.1), and then convert the modified TCP handshake. The data packet, the update handshake packet, is sent to the virtual HTTP server.
在步骤11-5中,通过所述更新握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。In step 11-5, a virtual TCP connection is established with the virtual HTTP server through the update handshake data packet.
本地虚拟HTTP服务器接收到更新握手数据包之后,向Web浏览器返回响应消息(response),至此,完成一次握手过程。After receiving the update handshake data packet, the local virtual HTTP server returns a response message (response) to the web browser, and thus, a handshake process is completed.
在TCP/IP协议中,TCP协议要求通过三次握手提供可靠的连接服务。后序两次握手过程重复执行上述步骤11-1~步骤11-5,三次握手成功之后,成功建立虚拟TCP连接。In the TCP/IP protocol, the TCP protocol requires a three-way handshake to provide reliable connection services. In the subsequent two handshake process, the above steps 11-1 to 11-5 are repeatedly performed, and after the three-way handshake is successful, a virtual TCP connection is successfully established.
第三种情况,浏览器发送的网络请求如URL中直接包含有虚拟HTTP服务器的地址,比如:Http://127.0.0.1/efg****,可以从该网络请求中提取本地预设虚拟HTTP服务器的地址(127.0.0.1),然后发送握手数据包。In the third case, the network request sent by the browser, such as the URL, directly contains the address of the virtual HTTP server, for example: Http://127.0.0.1/efg****, the local preset virtual server can be extracted from the network request The address of the HTTP server (127.0.0.1) and then send the handshake packet.
此种情况下,浏览器发送的握手数据包中包括预设虚拟HTTP服务器的地址:127.0.0.1,上述握手数据包无需经过DNS模块进行域名解析;经过防火墙时,也不需要做任何信息处理,即可发送给本地预设虚拟HTTP服务器。即在当前应用与虚拟HTTP服务器建立虚拟TCP连接的过程中,无需对握手数据包做任何处理。相对于前两种情况,可以加快经过操作系统发送消息的消息通道的创建。In this case, the handshake packet sent by the browser includes the address of the preset virtual HTTP server: 127.0.0.1. The above handshake packet does not need to go through the DNS module for domain name resolution; when passing through the firewall, it does not need to do any information processing, It can be sent to the local preset virtual HTTP server. That is, in the process of establishing a virtual TCP connection between the current application and the virtual HTTP server, there is no need to perform any processing on the handshake data packet. Compared to the first two cases, the creation of a message channel for sending messages through the operating system can be accelerated.
在步骤12中,通过所述虚拟网络连接,获取经由操作系统的目标网络请求,所述目标网络请求用于跳转到目标应用;In
本公开实施例中,上述目标网络请求包括:预设特征信息和目标应用参数。In this embodiment of the present disclosure, the above target network request includes: preset feature information and target application parameters.
其中,上述预设特征信息用于识别该网络请求中是否包含目标应用参数,可以是预设关键字或预设编码方式等信息。上述预设特征信息可以是目标应用供应商提供,并预置在用户终端中。The above-mentioned preset feature information is used to identify whether the network request contains target application parameters, and may be information such as preset keywords or preset encoding methods. The above-mentioned preset feature information may be provided by the target application provider and preset in the user terminal.
上述目标应用参数至少包括:目标应用的身份标识,可以表示为APP ID;还可以包括其它信息,比如页面名称,即详情页名称;页面参数,即详情页参数;指令参数,目标应用可以根据该指令参数执行相应的操作,如弹出一个对话框,打开指定音频文件、视频文件等,本公开对目标应用参数不作限定。The above target application parameters include at least: the identity of the target application, which can be expressed as an APP ID; other information, such as page name, that is, the name of the details page; page parameters, that is, the details page parameters; instruction parameters, the target application can be based on the The instruction parameters perform corresponding operations, such as popping up a dialog box to open a specified audio file, video file, etc. The present disclosure does not limit the target application parameters.
本公开实施例中,目标网络请求可以是通过虚拟TCP连接获取的、经由操作系统的目标HTTP请求。该目标HTTP请求的消息载体可以是URL(Uniform Resource Locator,统一资源定位符),比如HTTP地址。In this embodiment of the present disclosure, the target network request may be a target HTTP request obtained through a virtual TCP connection and via an operating system. The message carrier of the target HTTP request may be a URL (Uniform Resource Locator, uniform resource locator), such as an HTTP address.
参见图6根据一示例性实施例示出的另一种应用交互方法的流程图,上述步骤12中获取经由操作系统的目标网络请求,可以包括:Referring to the flowchart of another application interaction method shown in FIG. 6 according to an exemplary embodiment, obtaining the target network request via the operating system in the
在步骤121中,获取经由操作系统的网络请求;In
如上示例,一旦建立了TCP连接,Web浏览器就会发送网络请求,比如向域名为“abc.com”虚拟web服务器发送HTTP请求。该HTTP请求经过操作系统时,就可以被设置于操作系统中的监听组件比如防火墙监听到。As in the above example, once a TCP connection is established, the web browser will send a network request, such as an HTTP request to a virtual web server with a domain name of "abc.com". When the HTTP request passes through the operating system, it can be monitored by a monitoring component such as a firewall set in the operating system.
在步骤122中,确定所述网络请求中是否包括预设特征信息;In
Web浏览器可以向外发送各种HTTP请求,按照请求方法不同,上述HTTP请求可以是:GET、POST、HEAD、OPTIONS、PUT、DELETE、TARCE等请求。以GET请求数据包为例,上述请求数据中可能包含目标应用参数,也可能不包含上述目标应用参数。因此,防火墙组件需要根据预设策略初步判断当前获取的数据包中是否包括目标应用参数。The web browser can send various HTTP requests. According to different request methods, the above HTTP requests can be: GET, POST, HEAD, OPTIONS, PUT, DELETE, TARCE and other requests. Taking the GET request data packet as an example, the above-mentioned request data may contain target application parameters, or may not contain the above-mentioned target application parameters. Therefore, the firewall component needs to preliminarily determine whether the currently acquired data packet includes the target application parameter according to the preset policy.
本公开实施例中,防火墙组件可以通过判断请求数据包是否包括预设特征信息来确定目标网络请求。其中,上述预设特征信息用于识别该HTTP请求中是否包含目标应用参数,可以是预设关键字或预设编码方式等信息。上述预设特征信息可以是目标应用供应商提供,并预置在用户终端中。In this embodiment of the present disclosure, the firewall component may determine the target network request by judging whether the request data packet includes preset feature information. The above-mentioned preset feature information is used to identify whether the HTTP request contains target application parameters, and may be information such as preset keywords or preset encoding methods. The above-mentioned preset feature information may be provided by the target application provider and preset in the user terminal.
假设上述预设特征信息为预设关键字,上述关键字可以是预设标记符、预设字符串如“111”等,则防火墙在获取到HTTP请求后,判断该请求中是否包括上述预设关键字;如果包括,执行步骤123;反之,如果当前请求中不包括上述预设关键字,则确定该HTTP请求属于无效消息。Assuming that the above-mentioned preset feature information is a preset keyword, and the above-mentioned keyword can be a preset marker, a preset character string such as "111", etc., after obtaining the HTTP request, the firewall determines whether the request includes the above-mentioned preset keyword; if included, go to step 123; otherwise, if the current request does not include the above-mentioned preset keyword, it is determined that the HTTP request is an invalid message.
在步骤123中,若所述网络请求中包括预设特征信息,确定所述网络请求为目标网络请求。In
如上示例,若HTTP请求中包括预设特征信息,确定该HTTP请求属于目标HTTP请求。As in the above example, if the HTTP request includes preset feature information, it is determined that the HTTP request belongs to the target HTTP request.
在步骤13中,从所述目标网络请求中提取目标应用参数,所述目标应用参数至少包括:目标应用的身份标识。In
参见图7根据一示例性实施例示出的另一种应用交互方法的流程图,上述步骤13可以包括:Referring to the flowchart of another application interaction method shown in FIG. 7 according to an exemplary embodiment, the foregoing
在步骤131中,将所述目标网络请求发送给预设消息Message服务;In
本公开实施例中,操作系统的监听组件在识别出目标消息后,可以将目标消息数据包的解析交由预设的消息Message服务处理,将目标消息的识别过程和解析过程解耦,即监听组件只识别目标消息,不对目标消息数据包进行解析,从而提高目标消息的检测效率。In the embodiment of the present disclosure, after identifying the target message, the monitoring component of the operating system can hand over the parsing of the target message data packet to the preset Message Service for processing, so as to decouple the identification process and the parsing process of the target message, that is, monitoring The component only identifies the target message and does not parse the target message data packet, thereby improving the detection efficiency of the target message.
本公开实施例中,上述监听组件可以是防火墙组件。由于防火墙组件属于操作系统原有的监听组件,只需要对防火墙组件进行简单的参数配置,比如预设特征信息的配置,即可使防火墙组件具备识别目标消息的功能,无需在操作系统中增设新的监听组件,节约系统资源。In this embodiment of the present disclosure, the above-mentioned monitoring component may be a firewall component. Since the firewall component belongs to the original monitoring component of the operating system, it is only necessary to perform simple parameter configuration on the firewall component, such as the configuration of preset feature information, so that the firewall component can have the function of identifying target messages, without adding new ones in the operating system. The monitoring component saves system resources.
根据防火墙组件是否对目标网络请求进一步处理,可以包括以下两种情况:Depending on whether the firewall component further processes the target network request, it can include the following two situations:
第一种情况,防火墙组件不对原始目标网络请求进行进一步处理,发送给Message服务;In the first case, the firewall component does not further process the original target network request and sends it to the Message service;
也就是说,防火墙组件不对步骤123确定的目标网络请求数据包做任何处理,直接或间接发送给Message服务。即发送给Message服务的目标网络请求如目标HTTP请求中还包括预设特征信息。That is to say, the firewall component does not perform any processing on the target network request data packet determined in
第二种情况,防火墙组件对目标网络请求进行冗余信息处理后,发送给Message服务。参见图8根据一示例性实施例示出的另一种应用交互方法的流程图,上述步骤131可以包括:In the second case, the firewall component processes the redundant information of the target network request and sends it to the Message service. Referring to the flowchart of another application interaction method shown in FIG. 8 according to an exemplary embodiment, the foregoing
在步骤1311中,过滤所述目标网络请求中的预设特征信息,获得过滤后的目标网络请求;In
本公开实施例中,防火墙在依据预设特征信息筛选出目标HTTP请求之后,还可以去除目标HTTP请求的预设特征信息,获得过滤后的目标HTTP请求。In the embodiment of the present disclosure, after filtering out the target HTTP request according to the preset feature information, the firewall may also remove the preset feature information of the target HTTP request to obtain the filtered target HTTP request.
在步骤1312中,将所述过滤后的目标网络请求发送给预设Message服务。In
由于预设特征信息主要用于识别目标HTTP请求,在后续信息处理过程中,该预设特征信息属于冗余信息,因此,本公开实施例中,可以将原始目标HTTP请求中的预设特征信息去除后,再发送给Message服务,从而减轻Message服务的数据处理负担,提高Message服务的信息处理效率。Since the preset feature information is mainly used to identify the target HTTP request, in the subsequent information processing process, the preset feature information belongs to redundant information. Therefore, in this embodiment of the present disclosure, the preset feature information in the original target HTTP request may be After removal, it is sent to the Message service, thereby reducing the data processing burden of the Message service and improving the information processing efficiency of the Message service.
针对上述两种情况,可以采用以下任一方式将目标网络请求发送给Message服务,其中,此处的目标网络请求可以是原始目标HTTP请求,也可以是步骤1311中获得的、过滤后的目标HTTP请求。For the above two situations, the target network request can be sent to the Message service in any of the following ways, where the target network request here can be the original target HTTP request, or the filtered target HTTP obtained in
第一种方式,防火墙组件拦截所述目标网络请求数据包,转发给Message服务。In the first manner, the firewall component intercepts the target network request data packet and forwards it to the Message service.
本公开实施例中,可能并不关心本地虚拟HTTP服务器是否针对目标HTTP请求返回应答消息,因此,防火墙组件将上述目标HTTP请求进行拦截,进而转发给Message服务。In the embodiment of the present disclosure, it may not care whether the local virtual HTTP server returns a response message for the target HTTP request. Therefore, the firewall component intercepts the target HTTP request, and then forwards it to the Message service.
第二种方式,防火墙组件复制一份所述目标网络请求数据包,发送给Message服务。In the second method, the firewall component copies a copy of the target network request data packet and sends it to the Message service.
另一方面,防火墙组件还允许目标网络请求数据包正常通行,发送给虚拟服务器。On the other hand, the firewall component also allows the target network request packets to pass normally and send to the virtual server.
第三种方式,防火墙组件允许目标网络请求数据包正常通行,发送给本地虚拟服务器,由所述本地虚拟服务器将所述目标网络请求数据包发送给Message服务。In a third manner, the firewall component allows the target network request data packet to pass normally, and sends it to the local virtual server, and the local virtual server sends the target network request data packet to the Message service.
仍以目标网络请求是目标HTTP请求为例,在第三种方式中,防火墙组件在放行目标HTTP请求数据包时,可以对该目标HTTP请求数据包作一个简单标记比如字符“M”,以使本地HTTP服务器检测到目标HTTP请求数据包标记有“M”后,将该目标HTTP请求数据包发送给Message服务。Still taking the target network request being the target HTTP request as an example, in the third method, when the firewall component releases the target HTTP request data packet, it can mark the target HTTP request data packet with a simple mark such as the character "M", so that the After detecting that the target HTTP request data packet is marked with "M", the local HTTP server sends the target HTTP request data packet to the Message service.
在步骤132中,通过所述Message服务提取所述目标网络请求中的目标应用参数。In
本公开实施例中,Message服务可以解析目标网络请求数据包,从解析出的信息中提取目标应用参数。In the embodiment of the present disclosure, the Message service can parse the target network request data packet, and extract the target application parameters from the parsed information.
此外,Message服务还可以将提取出的目标应用参数采用统一格式进行记录,比如,采用固定长度的字符串进行记录,获得预设格式的目标应用参数。假设以三个字节进行记录,一个字节一般为8bit位,第一个字节用于记录目标应用的身份标识,第二个字节用于记录页面名称,第三个字节用于记录页面参数。若其中一个参数为空,则将相应字节全部置为0。可以理解的是,根据预设参数信息的最大数据量设置其占用字节的数量,并不局限于一个字节。In addition, the Message service can also record the extracted target application parameters in a unified format, for example, using a fixed-length character string for recording to obtain target application parameters in a preset format. Suppose it is recorded in three bytes, one byte is generally 8 bits, the first byte is used to record the identity of the target application, the second byte is used to record the page name, and the third byte is used to record page parameters. If one of the parameters is empty, all the corresponding bytes are set to 0. It can be understood that the number of occupied bytes is set according to the maximum data amount of the preset parameter information, and is not limited to one byte.
Message服务输出统一格式的目标应用参数,可以方便后序目标应用平台根据该参数打开目标应用页面,提高应用打开效率。The message service outputs target application parameters in a unified format, which can facilitate the subsequent target application platform to open the target application page according to the parameters, and improve the application opening efficiency.
在本公开另一实施例中,Message服务在提取目标应用参数之前,也可以首先对目标网络请求数据包进行信息验证。具体参见参照图9根据一示例性实施例示出的另一种应用交互方法的流程图,上述步骤132可以包括:In another embodiment of the present disclosure, before extracting the parameters of the target application, the Message service may first perform information verification on the target network request data packet. Specifically, referring to the flowchart of another application interaction method shown in FIG. 9 according to an exemplary embodiment, the foregoing
在步骤1321中,对所述目标网络请求进行信息验证;In
本公开实施例中,考虑到其他未包含目标应用参数的HTTP请求也可能会包括上述预设特征信息,比如包含预设关键字。也就是说上述步骤123确定的目标网路请求数据包中不一定包含有目标应用参数。In the embodiment of the present disclosure, it is considered that other HTTP requests that do not include target application parameters may also include the above-mentioned preset feature information, such as including preset keywords. That is to say, the target network request data packet determined in the
Message服务接收到防火墙发送的目标HTTP请求数据包后,还可以进一步按照预设策略对目标HTTP请求数据包进行信息验证,例如,判断解析出目标网络请求中是否包括预设字段比如“APP ID:”字段,如果有,确定目标网络请求通过信息验证。After the Message Service receives the target HTTP request data packet sent by the firewall, it can further verify the information of the target HTTP request data packet according to the preset policy, for example, to determine whether the target network request includes a preset field such as "APP ID: " field, if any, determines that the target network request passed the information verification.
或者,在目标应用参数通过预设编码方式进行编码后,Message服务还可以采用预设解码方式对目标网络请求进行解码验证。其中,上述预设编解码方式是目标应用供应商提供的并设置在Message服务中的。Alternatively, after the target application parameters are encoded by the preset encoding method, the Message service may also use the preset decoding method to decode and verify the target network request. The above-mentioned preset encoding and decoding methods are provided by the target application provider and set in the Message service.
回溯到目标网络请求数据包的生成过程:Web浏览器可以按照目标应用供应商提供的预设编码方式对包含目标应用参数的请求数据进行编码,生成HTTP请求数据包。Going back to the generation process of the target network request data packet: the web browser can encode the request data including the target application parameters according to the preset encoding method provided by the target application provider to generate the HTTP request data packet.
如果Message服务可以采用预设解码方式对目标HTTP请求数据包成功解码,说明该目标HTTP请求数据包为有效HTTP请求即有效网络请求。其中,上述预设编解码方式是目标应用供应商提供的并设置在Message服务中的。If the Message service can successfully decode the target HTTP request data packet using the preset decoding method, it indicates that the target HTTP request data packet is a valid HTTP request, that is, a valid network request. The above-mentioned preset encoding and decoding methods are provided by the target application provider and set in the Message service.
在步骤1322中,从信息验证成功的有效网络请求中提取目标应用参数。In
本公开实施例中,用户终端中内置的Message服务在接收到系统底层发送的目标HTTP请求数据包后,为确保目标HTTP请求判断准确、减小后续数据解析量,可以在解析目标应用参数之前,进一步对目标HTTP请求进行信息验证,确保后续解析的请求数据中包含有目标应用参数。In the embodiment of the present disclosure, after the built-in Message service in the user terminal receives the target HTTP request data packet sent by the bottom layer of the system, in order to ensure accurate judgment of the target HTTP request and reduce the amount of subsequent data parsing, before parsing the target application parameters, Further information verification is performed on the target HTTP request to ensure that the subsequent parsed request data contains target application parameters.
在步骤14中,根据所述目标应用参数打开所述目标应用。In
目标应用可以是上述第一类应用,也可以是一种新应用,该新应用与上述第一类应用的区别在于:新应用的安装、下载过程无需用户确认,且下载和安装过程在用户终端的后台运行。The target application may be the first type of application described above, or a new application. The difference between the new application and the above-mentioned first type of application is that the installation and download process of the new application does not require user confirmation, and the download and installation process is performed on the user terminal. running in the background.
即用户终端从服务端获取到新应用的压缩包之后,可以在后台自行安装或更新,其安装过程前台不可见,其更新过程也可以不在前台呈现给用户。That is, after the user terminal obtains the compressed package of the new application from the server, it can install or update itself in the background. The installation process is not visible in the foreground, and the update process may not be presented to the user in the foreground.
若目标应用属于第一类应用,在用户终端中已安装目标应用的情况下,上述步骤14的具体实施过程可以是:If the target application belongs to the first type of application, in the case that the target application has been installed in the user terminal, the specific implementation process of the
操作系统根据上述目标应用参数中的目标应用的身份标识启动目标应用,比如,打开应用首页或打开目标应用的登录或注册页面等。The operating system starts the target application according to the identity of the target application in the above target application parameters, for example, opening the application home page or opening the login or registration page of the target application.
在目标应用参数中还包括其他信息的情况下,已启动的目标应用程序还可以根据上述信息执行相应操作,如打开打开目标应用的内页,比如电商平台中一个销售商品的详情页;或者,在预设界面中播放音频、视频文件等;或者是弹出预设对话框等。In the case that other information is also included in the target application parameters, the launched target application can also perform corresponding operations according to the above information, such as opening the inner page of the target application, such as a detail page of a selling product in an e-commerce platform; or , play audio, video files, etc. in the preset interface; or pop up a preset dialog box, etc.
如果用户终端中未安装上述目标应用,可以通过打开应用商店等方式提醒用户下载安装目标应用;或者,将目标消息丢弃。If the above target application is not installed in the user terminal, the user may be reminded to download and install the target application by opening the application store or the like; or, the target message may be discarded.
若目标应用属于上述新应用,参见图10根据一示例性实施例示出的另一种应用交互方法的流程图,上述步骤14可以包括:If the target application belongs to the above-mentioned new application, referring to the flowchart of another application interaction method shown in FIG. 10 according to an exemplary embodiment, the above-mentioned
在步骤141中,根据所述目标应用的身份标识确定本地是否安装所述目标应用;In
本公开实施例中,用户终端可以通过预设的新应用平台即新应用服务软件,根据目标应用的身份标识确定本地是否安装有上述新应用。比如,根据目标应用的身份标识遍历已安装新应用列表,确定用户终端本地是否安装有上述目标新应用。In the embodiment of the present disclosure, the user terminal may determine whether the above-mentioned new application is installed locally according to the identity of the target application through a preset new application platform, that is, the new application service software. For example, traverse the list of installed new applications according to the identity of the target application, and determine whether the above-mentioned target new application is locally installed on the user terminal.
在步骤142中,若本地未安装所述目标应用,下载和安装所述目标应用;In
如确定本地未安装上述目标新应用,上述新应用平台可以触发用户终端自动下载和安装上述目标新应用,上述过程对于用户不可见,即下载、安装过程的执行,不需要以接收到用户在前台触发的确认信息为必要条件。If it is determined that the above-mentioned target new application is not installed locally, the above-mentioned new application platform can trigger the user terminal to automatically download and install the above-mentioned target new application, and the above-mentioned process is invisible to the user. Triggered confirmation information is a necessary condition.
在步骤143中,通过预设应用平台根据所述目标应用参数打开所述目标应用。In
预设应用平台在获取到新应用安装包或更新数据包之后,可以直接运行新应用程序,打开目标新应用。After acquiring the new application installation package or the update data package, the preset application platform can directly run the new application and open the target new application.
本公开实施例中,上述预设应用平台为预置在用户终端中的服务程序,上述新应用平台可以作为一种系统软件设置于操作系统中;用户终端仍以智能手机为例,该新应用平台可以是在手机出厂时已设置好的。上述预设应用平台也可以作为上层应用软件独立运行于用户终端中,本公开对其设置位置不做限定。In the embodiment of the present disclosure, the above-mentioned preset application platform is a service program preset in the user terminal, and the above-mentioned new application platform can be set in the operating system as a kind of system software; the user terminal is still taken as an example of a smart phone, the new application platform The platform can be set when the phone is shipped from the factory. The above-mentioned preset application platform may also independently run in the user terminal as upper-layer application software, and the setting position thereof is not limited in the present disclosure.
上述预设应用平台可以根据任何一种目标应用的应用参数,打开对应的目标应用即新应用。上述预设应用平台打开新应用的过程可以是直接运行新应用的安装或更新压缩包,打开目标应用参数指定的新应用界面,比如,新应用的首页界面,或其中的内页。The above-mentioned preset application platform can open a corresponding target application, that is, a new application, according to the application parameters of any target application. The process of opening a new application on the above-mentioned preset application platform may be to directly run the installation or update compressed package of the new application, and open the new application interface specified by the target application parameters, for example, the home page interface of the new application, or an inner page therein.
示例性的,假设步骤143中的预设应用平台是运行多种新应用的服务程序C,上述目标应用是名称为:快看漫画的一种新应用,则服务程序C可以根据获取到的目标应用参数如快看漫画APP的身份标识,直接打开快看漫画。Exemplarily, it is assumed that the preset application platform in
参照图11-1根据一示例性实施例示出的一种应用交互的应用场景示意图,当用户在智能手机100的浏览器页面1001中点击一个目标应用页面的链接后,比如,知乎日报的链接,浏览器页面在后台会执行一个JS(javascript)脚本,JS脚本负责根据目标应用参数和预设特征信息生成目标网络请求,例如,JS脚本负责将目标应用的身份标识、详情页参数等信息与预设特征信息组成一个URL字符串。JS脚本通过系统接口发送经过操作系统的HTTP请求如上述URL字符串,该HTTP请求在经过设置于操作系统中的防火墙组建时,被监听到并识别为目标HTTP请求。防火墙组件将该目标HTTP请求发送给Message服务进行目标应用参数提取,之后,将目标应用参数发送给预设应用平台即目标应用平台;预设应用平台根据上述目标应用参数打开知乎应用中的一个详情页,比如知乎日报详情页1002,呈现给用户。11-1 shows a schematic diagram of an application scenario of application interaction according to an exemplary embodiment, when the user clicks a link of a target application page in the
图11-2示出相关技术中应用交互方式中的示意图,在相关技术中,如果在浏览器页面1001中点击“知乎日报”的链接,浏览器会根据适配的DeepLink技术,首先弹出一个提示用户选择打开方式的浮窗1003,提示用户选择目标页面的打开方式。上述供用户选择的页面打开方式包括:应用打开方式、浏览器打开方式,还可能包括其他方式,不但无法直接为用户呈现目标应用界面即知乎应用的知乎日报界面。如果浏览器没有适配Deeplink技术,则无法实现从浏览器向知乎应用的跳转。Figure 11-2 shows a schematic diagram of the application interaction mode in the related art. In the related art, if the link of "Zhihu Daily" is clicked on the
可见,采用本公开提供的应用交互方法,当用户想从一个应用界面中跳转到另一目标应用的一个详情页面时,用户终端的操作系统可以检测包含目标应用参数的目标网络请求,进而提取目标应用参数,并将该目标应用参数发送预设应用平台,通过该预设应用平台为用户打开目标应用,不受双方应用是否支持DeepLink技术的限制,即可直接从当前应用跳转到目标应用,对双方应用软件的版本、配置不作要求,即对双方应用的兼容性不作要求,提升了终端的用户体验。并且,在目标应用属于上述新应用的情况下,对于用户而言,当用户在一个应用界面比如Web浏览器的页面中点击目标应用页面的链接后,用户终端可以直接准确地跳转到目标应用的指定页面,中间无需其他人机交互,节省了用户与终端进行人机交互的过程和时间,进一步提升终端的用户体验。It can be seen that, using the application interaction method provided by the present disclosure, when a user wants to jump from one application interface to a detail page of another target application, the operating system of the user terminal can detect the target network request containing the parameters of the target application, and then extract Target application parameters, and send the target application parameters to the preset application platform, and open the target application for the user through the preset application platform. Regardless of whether the two applications support DeepLink technology, you can directly jump from the current application to the target application. , does not require the version and configuration of the application software of both parties, that is, does not require the compatibility of the applications of both parties, which improves the user experience of the terminal. Moreover, in the case that the target application belongs to the above-mentioned new application, for the user, after the user clicks the link of the target application page in an application interface such as a web browser page, the user terminal can directly and accurately jump to the target application. There is no need for other human-computer interaction in the specified page, which saves the process and time of human-computer interaction between the user and the terminal, and further improves the user experience of the terminal.
需要说明的是,本公开中,在预设监听组件如防火墙组件获取到目标网络请求后,或者,在本地HTTP服务器将上述目标网络请求发送给Message服务后,可以关闭虚拟TCP连接,以便释放资源,提高系统资源的利用率。在另一种实施方式中,在上述HTTP通信完成后,也可以使上述虚拟TCP连接保持连接状态,以便浏览器可以继续通过相同的虚拟TCP连接发送HTTP请求,相应的,防火墙组件可以快速检测后续的目标HTTP请求,节省了为每个请求建立新连接所需的时间,整体提升目标网络请求的检测效率。It should be noted that, in the present disclosure, after a preset monitoring component such as a firewall component obtains the target network request, or after the local HTTP server sends the above target network request to the Message service, the virtual TCP connection can be closed to release resources , to improve the utilization of system resources. In another embodiment, after the above-mentioned HTTP communication is completed, the above-mentioned virtual TCP connection can also be kept in a connected state, so that the browser can continue to send HTTP requests through the same virtual TCP connection, and accordingly, the firewall component can quickly detect subsequent The target HTTP request, saves the time required to establish a new connection for each request, and improves the overall detection efficiency of the target network request.
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。For the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations, but those skilled in the art should know that the present disclosure is not limited by the described action sequence, because according to the present disclosure, Certain steps may be performed in other orders or simultaneously.
其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。Secondly, those skilled in the art should also know that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by the present disclosure.
与前述应用功能实现方法实施例相对应,本公开还提供了应用功能实现装置及相应的终端的实施例。Corresponding to the foregoing application function implementation method embodiments, the present disclosure further provides embodiments of an application function implementation apparatus and a corresponding terminal.
参照图12根据一示例性实施例示出的一种应用交互装置的框图,所述装置可以包括:12 shows a block diagram of an application interaction apparatus according to an exemplary embodiment, the apparatus may include:
连接建立模块21,被配置为在当前应用与预设虚拟服务器之间建立虚拟网络连接;The
目标请求获取模块22,被配置为通过所述虚拟网络连接,获取经由操作系统的目标网络请求,所述目标网络请求用于跳转到目标应用;a target
参数提取模块23,被配置为从所述目标网络请求中提取目标应用参数,所述目标应用参数至少包括:目标应用的身份标识;The
应用跳转模块24,被配置为根据所述目标应用参数打开所述目标应用。The
参照图13根据一示例性实施例示出的另一种应用交互装置的框图,在图12所示装置实施例的基础上,所述连接建立模块21可以包括:Referring to the block diagram of another application interaction apparatus shown in FIG. 13 according to an exemplary embodiment, on the basis of the apparatus embodiment shown in FIG. 12 , the
TCP连接建立子模块211,被配置为在当前应用与预设虚拟HTTP服务器之间,建立虚拟传输控制协议TCP连接;The TCP
相应的,所述目标请求获取模块22,可以被配置为通过虚拟TCP连接,获取经由操作系统的目标HTTP请求。Correspondingly, the target
参照图14根据一示例性实施例示出的另一种应用交互装置的框图,在图13所示装置实施例的基础上,所述TCP连接建立子模块211可以包括:Referring to the block diagram of another application interaction apparatus shown in FIG. 14 according to an exemplary embodiment, on the basis of the apparatus embodiment shown in FIG. 13 , the TCP
地址获取单元2111,被配置为根据网络请求获取虚拟HTTP服务器的地址;The
第一数据获取单元2112,被配置为获取握手数据包,所述握手数据包中包括所述虚拟HTTP服务器的地址;The first
第一连接建立单元2113,被配置为通过所述握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。The first
参照图15根据一示例性实施例示出的另一种应用交互装置的框图,在图14所示装置实施例的基础上,所述地址获取单元2111可以包括:Referring to the block diagram of another application interaction apparatus shown in FIG. 15 according to an exemplary embodiment, on the basis of the apparatus embodiment shown in FIG. 14 , the
地址获取子单元201,被配置为从网络请求中获取虚拟HTTP服务器的地址;The
域名获取子单元202,被配置为获取网络请求中的虚拟域名;The domain
地址解析子单元203,被配置为根据所述虚拟域名解析对应的虚拟HTTP服务器的地址。The
参照图16根据一示例性实施例示出的另一种应用交互装置的框图,在图13所示装置实施例的基础上,所述TCP连接建立子模块211可以包括:Referring to the block diagram of another application interaction apparatus shown in FIG. 16 according to an exemplary embodiment, on the basis of the apparatus embodiment shown in FIG. 13 , the TCP
域名获取单元21-1,被配置为获取网络请求中的虚拟域名;The domain name obtaining unit 21-1 is configured to obtain the virtual domain name in the network request;
IP地址解析单元21-2,被配置为将所述虚拟域名解析为对应的虚拟IP地址;The IP address resolution unit 21-2 is configured to resolve the virtual domain name into a corresponding virtual IP address;
第二数据获取单元21-3,被配置为获取TCP握手数据包,所述TCP握手数据包中包括所述虚拟IP地址;The second data acquisition unit 21-3 is configured to acquire a TCP handshake data packet, where the TCP handshake data packet includes the virtual IP address;
数据更新单元21-4,被配置为将所述TCP握手数据包中的虚拟IP地址修改为所述虚拟HTTP服务器的地址,获得更新握手数据包;A data update unit 21-4, configured to modify the virtual IP address in the TCP handshake data packet to the address of the virtual HTTP server to obtain an update handshake data packet;
第二连接建立单元21-5,被配置为通过所述更新握手数据包与所述虚拟HTTP服务器建立虚拟TCP连接。The second connection establishing unit 21-5 is configured to establish a virtual TCP connection with the virtual HTTP server through the update handshake data packet.
参照图17根据一示例性实施例示出的另一种应用交互装置的框图,在图16所示装置实施例的基础上,所述域名获取单元21-1可以包括:Referring to the block diagram of another application interaction apparatus shown in FIG. 17 according to an exemplary embodiment, on the basis of the apparatus embodiment shown in FIG. 16 , the domain name obtaining unit 21-1 may include:
域名获取子单元21-11,被配置为获取HTTP地址中的域名信息;The domain name obtaining subunit 21-11 is configured to obtain the domain name information in the HTTP address;
查询子单元21-12,被配置为根据所述域名信息查询预设虚拟域名白名单;The query subunit 21-12 is configured to query the whitelist of preset virtual domain names according to the domain name information;
确定子单元21-13,被配置为在所述预设虚拟域名白名单中包括所述域名信息的情况下,确定所述域名信息属于虚拟域名。The determining subunit 21-13 is configured to determine that the domain name information belongs to a virtual domain name if the domain name information is included in the preset virtual domain name whitelist.
参照图18根据一示例性实施例示出的另一种应用交互装置的框图,在图12所示装置实施例的基础上,所述目标请求获取模块22可以包括:Referring to the block diagram of another application interaction apparatus shown in FIG. 18 according to an exemplary embodiment, on the basis of the apparatus embodiment shown in FIG. 12 , the target
请求获取子模块221,被配置为获取经由操作系统的网络请求;A
检测子模块222,被配置为确定所述网络请求中是否包括预设特征信息;A
目标请求确定子模块223,被配置为在所述网络请求中包括预设特征信息的情况下,确定所述网络请求为目标网络请求。The target
参照图19根据一示例性实施例示出的另一种应用交互装置的框图,在图12所示装置实施例的基础上,所述参数提取模块23可以包括:Referring to the block diagram of another application interaction apparatus shown in FIG. 19 according to an exemplary embodiment, on the basis of the apparatus embodiment shown in FIG. 12 , the
请求发送子模块231,被配置为将所述目标网络请求发送给预设消息服务;a
参数提取子模块232,被配置为通过所述消息服务提取所述目标网络请求中的目标应用参数。The
参照图20根据一示例性实施例示出的另一种应用交互装置的框图,在图19所示装置实施例的基础上,所述请求发送子模231可以包括:Referring to the block diagram of another application interaction apparatus shown in FIG. 20 according to an exemplary embodiment, on the basis of the apparatus embodiment shown in FIG. 19 , the request sending sub-module 231 may include:
过滤单元231-1,被配置为过滤所述目标网络请求中的预设特征信息,获得过滤后的目标网络请求;The filtering unit 231-1 is configured to filter the preset feature information in the target network request to obtain the filtered target network request;
发送单元231-2,被配置为将所述过滤后的目标网络请求发送给所述预设消息服务。The sending unit 231-2 is configured to send the filtered target network request to the preset message service.
参照图21根据一示例性实施例示出的另一种应用交互装置的框图,在图19所示装置实施例的基础上,所述请求发送子模块231可以包括:Referring to the block diagram of another application interaction apparatus shown in FIG. 21 according to an exemplary embodiment, on the basis of the apparatus embodiment shown in FIG. 19 , the
第一请求发送单元2311,被配置为通过预设监听组件将所述目标网络请求转发给所述消息服务;a first
第二请求发送单元2312,被配置为通过所述预设监听组件复制所述目标网络请求,将复制的目标网络请求发送给所述消息服务;The second
第三请求发送单元2313,被配置为通过所述预设监听组件将所述目标网络请求发送给所述虚拟服务器,由所述虚拟服务器将所述目标网络请求发送给所述消息服务。The third
在本公开另一实施例中,所述预设监听组件包括:防火墙组件。In another embodiment of the present disclosure, the preset monitoring component includes: a firewall component.
参照图22根据一示例性实施例示出的另一种应用交互装置的框图,在图12所示装置实施例的基础上,所述参数提取模块23可以包括:Referring to the block diagram of another application interaction apparatus shown in FIG. 22 according to an exemplary embodiment, on the basis of the apparatus embodiment shown in FIG. 12 , the
信息验证子模块2301,被配置为对所述目标网络请求进行信息验证;an
参数提取子模块2302,被配置为从信息验证成功的有效网络请求中提取目标应用参数。The
参照图23根据一示例性实施例示出的另一种应用交互装置的框图,在图12所示装置实施例的基础上,所述应用跳转模块24可以包括:Referring to the block diagram of another application interaction apparatus shown in FIG. 23 according to an exemplary embodiment, on the basis of the apparatus embodiment shown in FIG. 12 , the
检测子模块241,被配置为根据所述目标应用的身份标识确定本地是否安装所述目标应用;The
安装子模块242,被配置为在本地未安装所述目标应用的情况下,下载和安装所述目标应用;An
跳转子模块243,被配置为通过预设应用平台根据所述目标应用参数打开所述目标应用。The jump sub-module 243 is configured to open the target application according to the target application parameters through a preset application platform.
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。For the apparatus embodiments, since they basically correspond to the method embodiments, reference may be made to the partial descriptions of the method embodiments for related parts. The device embodiments described above are only illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in a local, or it can be distributed over multiple network elements. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of the present disclosure. Those of ordinary skill in the art can understand and implement it without creative effort.
相应的,一方面,本公开实施例提供了一种应用交互装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,上述处理器被配置为:Correspondingly, in one aspect, an embodiment of the present disclosure provides an application interaction apparatus, including: a processor; a memory for storing instructions executable by the processor; wherein the processor is configured as:
在当前应用与预设虚拟服务器之间建立虚拟网络连接;Establish a virtual network connection between the current application and the preset virtual server;
通过所述虚拟网络连接,获取经由操作系统的目标网络请求,所述目标网络请求用于跳转到目标应用;Obtain, through the virtual network connection, a target network request via the operating system, where the target network request is used to jump to the target application;
从所述目标网络请求中提取目标应用参数,所述目标应用参数至少包括:目标应用的身份标识;Extract target application parameters from the target network request, where the target application parameters at least include: the identity of the target application;
根据所述目标应用参数打开所述目标应用。The target application is opened according to the target application parameter.
图24是根据一示例性实施例示出的一种应用交互装置2400的结构示意图。例如,装置2400可以是用户设备,可以具体为移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理,可穿戴设备如智能手表、智能眼镜、智能手环、智能跑鞋等。FIG. 24 is a schematic structural diagram of an
参照图24,装置2400可以包括以下一个或多个组件:处理组件2402,存储器2404,电源组件2406,多媒体组件2408,音频组件2410,输入/输出(I/O)的接口2412,传感器组件2414,以及通信组件2416。24, the
处理组件2402通常控制装置2400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件2402可以包括一个或多个处理器2420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件2402可以包括一个或多个模块,便于处理组件2402和其他组件之间的交互。例如,处理组件2402可以包括多媒体模块,以方便多媒体组件2408和处理组件2402之间的交互。The
存储器2404被配置为存储各种类型的数据以支持在设备2400的操作。这些数据的示例包括用于在装置2400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器2404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件2406为装置2400的各种组件提供电力。电源组件2406可以包括电源管理系统,一个或多个电源,及其他与为装置2400生成、管理和分配电力相关联的组件。
多媒体组件2408包括在上述装置2400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。上述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与上述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件2408包括一个前置摄像头和/或后置摄像头。当设备2400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。The
音频组件2410被配置为输出和/或输入音频信号。例如,音频组件2410包括一个麦克风(MIC),当装置2400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器2404或经由通信组件2416发送。在一些实施例中,音频组件2410还包括一个扬声器,用于输出音频信号。
I/O接口2412为处理组件2402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。The I/
传感器组件2414包括一个或多个传感器,用于为装置2400提供各个方面的状态评估。例如,传感器组件2414可以检测到设备2400的打开/关闭状态,组件的相对定位,例如上述组件为装置2400的显示器和小键盘,传感器组件2414还可以检测装置2400或装置2400一个组件的位置改变,用户与装置2400接触的存在或不存在,装置2400方位或加速/减速和装置2400的温度变化。传感器组件2414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件2414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件2414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件2416被配置为便于装置2400和其他设备之间有线或无线方式的通信。装置2400可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件2416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,上述通信组件2416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置2400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。In an exemplary embodiment,
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,例如包括指令的存储器2404,当存储介质中的指令由装置2400的处理器2420执行时,使得装置2400能够执行应用交互的方法,该方法包括:In an exemplary embodiment, a non-transitory computer-readable storage medium is also provided, such as a
在当前应用与预设虚拟服务器之间建立虚拟网络连接;Establish a virtual network connection between the current application and the preset virtual server;
通过所述虚拟网络连接,获取经由操作系统的目标网络请求,所述目标网络请求用于跳转到目标应用;Obtain, through the virtual network connection, a target network request via the operating system, where the target network request is used to jump to the target application;
从所述目标网络请求中提取目标应用参数,所述目标应用参数至少包括:目标应用的身份标识;Extract target application parameters from the target network request, where the target application parameters at least include: the identity of the target application;
根据所述目标应用参数打开所述目标应用。The target application is opened according to the target application parameter.
所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。The non-transitory computer-readable storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。Other embodiments of the present disclosure will readily suggest themselves to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common general knowledge or techniques in the technical field not disclosed by this disclosure . The specification and examples are to be regarded as exemplary only, with the true scope and spirit of the disclosure being indicated by the following claims.
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。It is to be understood that the present disclosure is not limited to the precise structures described above and illustrated in the accompanying drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims (24)
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710449172.0A CN109005096B (en) | 2017-06-14 | 2017-06-14 | Application interaction method and device |
| CN201780002125.XA CN108139952B (en) | 2017-06-14 | 2017-12-04 | Application interaction method, interaction method and device |
| PCT/CN2017/114508 WO2018227899A1 (en) | 2017-06-14 | 2017-12-04 | Application interaction method, interaction method and device |
| EP17913542.1A EP3627322A4 (en) | 2017-06-14 | 2017-12-04 | Application interaction method, interaction method and device |
| US16/699,416 US10990461B2 (en) | 2017-06-14 | 2019-11-29 | Application interaction method, interaction method and apparatus |
| US17/207,251 US11360834B2 (en) | 2017-06-14 | 2021-03-19 | Application interaction method and apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710449172.0A CN109005096B (en) | 2017-06-14 | 2017-06-14 | Application interaction method and device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN109005096A CN109005096A (en) | 2018-12-14 |
| CN109005096B true CN109005096B (en) | 2021-03-30 |
Family
ID=64573762
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201710449172.0A Active CN109005096B (en) | 2017-06-14 | 2017-06-14 | Application interaction method and device |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN109005096B (en) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109714425A (en) * | 2018-12-29 | 2019-05-03 | 北京小米移动软件有限公司 | Communication means and device |
| CN109739662A (en) * | 2018-12-29 | 2019-05-10 | 北京小米移动软件有限公司 | Communication means and device |
| CN109587289A (en) * | 2018-12-29 | 2019-04-05 | 北京小米移动软件有限公司 | Communication means and device |
| CN109815030B (en) * | 2019-01-10 | 2021-07-23 | 北京小米移动软件有限公司 | Communication method and device |
| CN109769030B (en) * | 2019-02-02 | 2022-01-11 | 京东科技控股股份有限公司 | Method and apparatus for controlling access of applications |
| CN110007982B (en) * | 2019-03-05 | 2022-09-30 | 北京小米移动软件有限公司 | Communication method and device |
| CN114189493B (en) * | 2021-11-08 | 2024-04-12 | 深圳市酷开网络科技股份有限公司 | Distributed signaling communication method, computer device, signaling system and storage medium |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104980512A (en) * | 2015-06-18 | 2015-10-14 | 卓易畅想(北京)科技有限公司 | Method and equipment for providing target object based on mobile application |
| CN105915703A (en) * | 2016-03-30 | 2016-08-31 | 北京农信互联科技有限公司 | Linking method and system of service function interface and mobile phone end desktop |
| CN106095549A (en) * | 2016-06-07 | 2016-11-09 | 中国建设银行股份有限公司 | The jump method of a kind of Mobile solution App and redirect device |
| CN106528657A (en) * | 2016-10-19 | 2017-03-22 | 广东欧珀移动通信有限公司 | Control method and device for jumping from browser to application program |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9075508B1 (en) * | 2014-04-30 | 2015-07-07 | Grandios Technologies, Llc | Next application suggestions on a user device |
| CN105141709B (en) * | 2015-07-24 | 2019-02-05 | 北京奇虎科技有限公司 | Method and device for determining page jump in application program |
| CN106844019A (en) * | 2015-12-04 | 2017-06-13 | 阿里巴巴集团控股有限公司 | Application control method, application program redirect associated configuration method and device |
| CN106599231A (en) * | 2016-12-19 | 2017-04-26 | 北京小米移动软件有限公司 | Page display method and apparatus |
-
2017
- 2017-06-14 CN CN201710449172.0A patent/CN109005096B/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104980512A (en) * | 2015-06-18 | 2015-10-14 | 卓易畅想(北京)科技有限公司 | Method and equipment for providing target object based on mobile application |
| CN105915703A (en) * | 2016-03-30 | 2016-08-31 | 北京农信互联科技有限公司 | Linking method and system of service function interface and mobile phone end desktop |
| CN106095549A (en) * | 2016-06-07 | 2016-11-09 | 中国建设银行股份有限公司 | The jump method of a kind of Mobile solution App and redirect device |
| CN106528657A (en) * | 2016-10-19 | 2017-03-22 | 广东欧珀移动通信有限公司 | Control method and device for jumping from browser to application program |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109005096A (en) | 2018-12-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109005096B (en) | Application interaction method and device | |
| US11360834B2 (en) | Application interaction method and apparatus | |
| CN103269396B (en) | A method and system for managing mobile terminals | |
| CN107222369A (en) | Recognition methods, device, switch and the storage medium of application program | |
| EP4148551A1 (en) | Screen projection method and terminal | |
| WO2016008243A1 (en) | Network connection method and apparatus | |
| CN112291338B (en) | Communication method and device and electronic equipment | |
| CN108156221B (en) | Communication method, device and electronic device | |
| CN108833585B (en) | Information interaction method, device and storage medium | |
| CN108063804B (en) | Communication method and device | |
| EP3051772A1 (en) | Method and apparatus for accessing network | |
| CN114422472A (en) | Network address conversion method and device and electronic equipment | |
| CN108156271B (en) | Communication method, device and electronic device | |
| CN109714425A (en) | Communication means and device | |
| CN106911666B (en) | A wearable smart device and its message processing method and system | |
| US11444992B2 (en) | Method and apparatus for communication processing | |
| CN109218375B (en) | Application interaction method and device | |
| CN109218275B (en) | Application interaction method and device | |
| WO2017166297A1 (en) | Wifi hotpot portal authentication method and device | |
| CN106452914B (en) | Router configuration method and device | |
| CN109213580A (en) | Using exchange method and device | |
| CN108156220A (en) | Communication means and device | |
| CN109218374B (en) | Application interaction method and device | |
| CN119025101A (en) | A business processing method, device, electronic device and storage medium | |
| CN109086143B (en) | Application interaction method and device |
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 |