WO2022062875A1 - 数据传输方法、系统、电子设备及存储介质 - Google Patents

数据传输方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
WO2022062875A1
WO2022062875A1 PCT/CN2021/116323 CN2021116323W WO2022062875A1 WO 2022062875 A1 WO2022062875 A1 WO 2022062875A1 CN 2021116323 W CN2021116323 W CN 2021116323W WO 2022062875 A1 WO2022062875 A1 WO 2022062875A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
application
file
app
middleware service
Prior art date
Application number
PCT/CN2021/116323
Other languages
English (en)
French (fr)
Inventor
赵永杰
徐蓓
Original Assignee
荣耀终端有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 荣耀终端有限公司 filed Critical 荣耀终端有限公司
Publication of WO2022062875A1 publication Critical patent/WO2022062875A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/7243User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages

Definitions

  • the embodiments of the present application relate to the field of electronic devices, and in particular, to a data transmission method, system, electronic device, and storage medium.
  • a user usually has multiple terminals, such as a mobile phone, a watch, a tablet (pad), and the like.
  • Each terminal can install an application (application, App), such as a sports App, an audio App, and the like.
  • application, App such as a sports App, an audio App, and the like.
  • Some basic mainstream apps can be installed on different terminals. There is often a need to communicate or exchange data between the aforementioned apps on different terminals.
  • the user can upload the file P to the server through the terminal A first. Then, the user can download the file P from the server to the App of the terminal B through the terminal B.
  • the App of terminal A and the App of terminal B may be instant messaging software based on peer-to-peer technology.
  • the App of the terminal A and the App of the terminal B can communicate through the network.
  • the user can first upload the file P to the cloud server through the App of terminal A.
  • the cloud server side can push the file P to the App of the terminal B.
  • the user can open the App of terminal B to view and receive file P.
  • the embodiments of the present application provide a data transmission method, system, electronic device, and storage medium, which can be applied to scenarios in which data is exchanged between apps on different terminals, simplify the data transmission process, reduce the consumption time of data transmission, and improve user usage. experience.
  • an embodiment of the present application provides a data transmission method, which is applied to a first terminal, the first terminal is connected to a second terminal, the first terminal includes a first application, and the second terminal includes a second terminal corresponding to the first application.
  • application includes: the first terminal displays a first interface of the first application, and the first interface includes the identifier of the first file; in response to detecting the first input of the identifier of the first file by the user, the first terminal sends The second terminal sends the identifier of the second application and the first file, where the identifier of the second application and the first file are used to instruct the second terminal to store the first file in the second application without running the second application of storage space.
  • the second terminal may store the first file in the storage of the second application without running the second application.
  • the space can reduce the user's operations on the second application, simplify the data transmission process between the first application and the second application, reduce the consumption time of data transmission, and improve user experience.
  • the first terminal is deployed with the first system middleware service, and the first system middleware service has the authority to send files on behalf of the first application; the first terminal sends the second terminal the identifier of the second application and the The first file includes: the first terminal sends the identifier of the second application and the first file to the second terminal through the first system middleware service.
  • the method further includes: the first terminal uses the first system middleware service, sending initial connection information to the second terminal, where the initial connection information includes information of the first application; the first terminal receives the initial connection result returned by the second terminal according to the information of the first application.
  • the initial connection result includes: initialization succeeded or initialization failed.
  • the first terminal when the initial connection result is that the initial connection is successful, the first terminal sends the identifier of the second application and the first file to the second terminal.
  • the method before the first terminal sends the initial connection information to the second terminal through the first system middleware service, the method further includes: the first terminal uses the first system middleware service to send the second terminal to the second terminal. An initial connection request is sent; the first terminal receives an acknowledgement message from the second terminal.
  • the first terminal and the terminal may implement a process of handshake connection before establishing the initial connection, so as to improve the success probability of the initial connection.
  • the method further includes: when the first terminal sends the identifier of the second application and the first file to the second terminal, sending, to the second terminal, the storage space of the first file in the storage space of the second application. Target storage path and target storage name.
  • the second terminal when storing the first file, may store the first file according to the target storage path and target storage name indicated by the first terminal.
  • the method further includes: the first terminal displays a second interface of the first application, and the second interface includes an identifier of an application corresponding to the first application, an identifier of an application corresponding to the first application Including the identifier of the second application; in response to detecting the second input of the identifier of the second application by the user, the first terminal registers the permission of the first system middleware service to proxy the first application to send files in the first system middleware service, The registration information of the first application is generated in the first system middleware service, and the registration information of the first application includes information of the second application.
  • the second application corresponds to the first application, including: the second application and the first application are the same application adapted to different terminal versions; and/or, the second application and the first application have Different applications of preconfigured correspondences.
  • the first application is M1
  • the first application may be the mobile phone version M1
  • the second application may be the watch version M1.
  • the first application is M2
  • the second application may also be M3, and M2 and M3 have a pre-configured correspondence.
  • an embodiment of the present application provides an apparatus, which can be applied to the first terminal having the above-mentioned first aspect, and is configured to implement the method applied to the first terminal described in the above-mentioned first aspect.
  • the functions of the apparatus may be implemented by hardware, or by executing corresponding software by hardware.
  • the hardware or software includes one or more modules or units corresponding to the above functions, for example, a display module, a processing module, and the like.
  • the display module is used to display the first interface of the first application, and the first interface includes the identifier of the first file;
  • the processing module is used to respond to detecting the first input of the identifier of the first file by the user, to the second terminal Send the identifier of the second application and the first file, where the identifier of the second application and the first file are used to instruct the second terminal to store the first file in the storage space of the second application without running the second application .
  • the processing module may include a separate sending sub-module to implement the sending function.
  • the processing module is deployed with a first system middleware service, and the first system middleware service has the authority to send files on behalf of the first application; the processing module is specifically configured to send files to the first system through the first system middleware service.
  • the second terminal sends the identifier of the second application and the first file.
  • the processing module is further configured to send initial connection information to the second terminal through the first system middleware service, where the initial connection information includes information of the first application; receive information from the second terminal according to the first application.
  • the initial connection result returned by the information for example, the processing module may include a separate receiving sub-module to realize the receiving function.
  • the processing module is further configured to send an initial connection request to the second terminal through the first system middleware service; and receive a confirmation message from the second terminal.
  • the processing module is further configured to send, to the second terminal, the target storage path and the target storage path of the first file in the storage space of the second application when sending the identifier of the second application and the first file to the second terminal.
  • Target store name is further configured to send, to the second terminal, the target storage path and the target storage path of the first file in the storage space of the second application when sending the identifier of the second application and the first file to the second terminal.
  • the display module is further configured to display a second interface of the first application, the second interface includes an identifier of an application corresponding to the first application, and the identifier of an application corresponding to the first application includes the second application
  • the processing module is further configured to, in response to detecting the second input by the user to the identifier of the second application, register in the first system middleware service the authority of the first system middleware service to proxy the first application to send files, and in the first system middleware service
  • the registration information of the first application is generated in a system middleware service, and the registration information of the first application includes information of the second application.
  • the second application corresponds to the first application, including: the second application and the first application are the same application adapted to different terminal versions; and/or, the second application and the first application have Different applications of preconfigured correspondences.
  • an embodiment of the present application provides an electronic device, where the electronic device may be the above-mentioned first terminal.
  • the electronic device includes: a processor, a memory for storing instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device causes the electronic device to implement the method according to the first aspect.
  • embodiments of the present application provide a computer-readable storage medium on which computer program instructions are stored; when the computer program instructions are executed by an electronic device, the electronic device is made to implement the method described in the first aspect.
  • an embodiment of the present application provides a data transmission method corresponding to the first aspect, which is applied to a second terminal, the second terminal is connected to the first terminal, the first terminal includes the first application, and the second terminal includes a The second application corresponding to the first application.
  • the method includes: the second terminal receives the identifier of the second application and the first file from the first terminal; and the second terminal stores the first file in the storage space of the second application without running the second application.
  • the second terminal is deployed with a second system middleware service, and the second system middleware service has the authority to receive files on behalf of the second application; the second terminal, without running the second application, will
  • the storing of the first file in the storage space of the second application includes: the second terminal uses the second system middleware service to store the first file in the storage space of the second application without running the second application.
  • the method further includes: displaying a third interface of the second application on the second terminal, where the third interface includes an identifier of the application corresponding to the second application, and the identifier of the application corresponding to the second application Including the identifier of the first application; in response to detecting the third input of the identifier of the first application by the user, the second terminal registers the permission of the second system middleware service to proxy the second application to receive files in the second system middleware service, Generate registration information of the second application, where the registration information of the second application includes information of the first application.
  • the method further includes: the second terminal receives initial connection information from the first terminal, where the initial connection information includes information of the first application; the second terminal uses the second system middleware service to verify the Check whether the information of the first application included in the initial connection information is consistent with the information of the first application included in the registration information of the second application, and obtain the verification result; the second terminal returns the initial connection result to the first terminal according to the verification result.
  • the initial connection result includes: initialization succeeded or initialization failed.
  • the method further includes: the second terminal receives an initial connection request from the first terminal; and the second terminal returns a confirmation message to the first terminal.
  • the method further includes: the second terminal receives the target storage path and target storage name of the first file in the storage space of the second application from the first terminal; the second terminal passes the second system
  • the middleware service in the case of not running the second application, stores the first file in the storage space of the second application, including: the second terminal uses the second system middleware service according to the target storage path and the target storage name, in the second system middleware service.
  • the first file is stored in the storage space of the second application without running the second application.
  • the second application corresponds to the first application, including: the second application and the first application are the same application adapted to different terminal versions; and/or, the second application and the first application have Different applications of preconfigured correspondences.
  • the method described in the fifth aspect corresponds to the method described in the first aspect. Therefore, for the beneficial effects of the fifth aspect, reference may be made to the first aspect, and details are not repeated here.
  • an embodiment of the present application provides an apparatus, which can be applied to the second terminal having the above-mentioned fifth aspect, and is configured to implement the method applied to the second terminal described in the above-mentioned fifth aspect.
  • the functions of the apparatus may be implemented by hardware, or by executing corresponding software by hardware.
  • the hardware or software includes one or more modules or units corresponding to the above functions, for example, a display module, a processing module, etc. For details, reference may be made to the above-mentioned device applied to the first terminal, which will not be repeated here.
  • an embodiment of the present application provides an electronic device, where the electronic device may be the above-mentioned second terminal.
  • the electronic device includes: a processor, a memory for storing instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device causes the electronic device to implement the method according to the fifth aspect.
  • embodiments of the present application provide a computer-readable storage medium on which computer program instructions are stored; when the computer program instructions are executed by an electronic device, the electronic device is made to implement the method described in the fifth aspect.
  • an embodiment of the present application further provides a data transmission method, which is applied to a first terminal, the first terminal is connected to a second terminal, the first terminal includes a first application, and the second terminal includes a first terminal corresponding to the first application.
  • the method includes: the first terminal displays a first interface of the first application, where the first interface includes a first identifier for realizing the function of reading a file; in response to detecting the first identifier of the first identifier by the user Input, the first terminal sends the storage path and storage name of the first file in the storage space of the second application and the identifier of the second application to the second terminal, wherein the storage of the first file in the storage space of the second application
  • the path and storage name, and the identifier of the second application are used by the second terminal to read the first file from the storage space of the second application without running the second application, and send it to the first terminal; the first terminal A first file is received from the second terminal.
  • the first application of the first terminal can initiate a request to read the first file to the second terminal, and the second terminal can read the first file from the storage space of the second application without running the second application.
  • a file is sent to the first terminal, which can also reduce the user's operations on the second application, simplify the data transmission process between the first application and the second application, reduce the consumption time of data transmission, and improve user experience. .
  • the first terminal is deployed with a first system middleware service, and the first system middleware service has the authority to read files on behalf of the first application; the first terminal sends the first file to the second terminal in the second terminal.
  • the storage path and storage name in the storage space of the second application, and the identifier of the second application include: the first terminal sends, through the first system middleware service, to the second terminal the data of the first file in the storage space of the second application The storage path and storage name, and the identifier of the second application.
  • the method further includes: the first terminal displays a second interface of the first application, and the second interface includes an identifier of an application corresponding to the first application, an identifier of an application corresponding to the first application Including the identifier of the second application; in response to detecting the second input of the identifier of the second application by the user, the first terminal registers the permission of the first system middleware service to proxy the first application to read the file in the first system middleware service , and generate registration information of the first application, where the registration information of the first application includes information of the second application.
  • the method further includes: the first terminal sends initial connection information to the second terminal through the first system middleware service, the initial connection information includes information of the first application; the first terminal receives information from the second terminal according to the first application Returns the initialized connection result.
  • the initial connection result includes: initialization succeeded or initialization failed.
  • the first terminal when the initial connection is successful, the first terminal sends the storage path and storage name of the first file in the storage space of the second application, and the identifier of the second application to the second terminal.
  • the method before the first terminal sends the initial connection information to the second terminal through the first system middleware service, the method further includes: the first terminal uses the first system middleware service to send the second terminal to the second terminal. An initial connection request is sent; the first terminal receives an acknowledgement message from the second terminal.
  • the first terminal in response to detecting the first input of the first identifier by the user, the first terminal sends the storage path and storage name of the first file in the storage space of the second application, and the first file to the second terminal.
  • the identification of the second application including: in response to detecting the first input of the first identification by the user, the first terminal sends file query information to the second terminal, and the file query information includes the identification of the second application, which is used by the second terminal when the second terminal is not in use.
  • the index file is read from the storage space of the second application and sent to the first terminal; the index file is used to indicate the file list information in the storage space of the second application; The index file of the second terminal; the first terminal displays the identifier of the file in the storage space of the second application in the first interface according to the index file, and the identifier of the file in the storage space of the second application includes the identifier of the first file; In response to detecting the third user input of the identifier of the first file, the first terminal sends the storage path and storage name of the first file in the storage space of the second application, and the identifier of the second application to the second terminal.
  • an embodiment of the present application provides an apparatus, which can be applied to the first terminal having the above-mentioned ninth aspect, and is configured to implement the method applied to the first terminal described in the above-mentioned first aspect.
  • the functions of the apparatus may be implemented by hardware, or by executing corresponding software by hardware.
  • the hardware or software includes one or more modules or units corresponding to the above functions, for example, a display module, a processing module, and the like.
  • the display module is used to display the first interface of the first application, and the first interface includes the first identifier used to realize the function of reading the file;
  • the processing module is used to respond to detecting the first input of the first identifier by the user , sending the storage path and storage name of the first file in the storage space of the second application and the identifier of the second application to the second terminal, wherein the storage path and storage name of the first file in the storage space of the second application , and the identification of the second application is used for the second terminal to read the first file from the storage space of the second application without running the second application, and send it to the first terminal;
  • the processing module is also used to receive data from The first file of the second terminal.
  • the processing module may include a single receiving sub-module implementing the receiving function and a single transmitting sub-module implementing the transmitting function.
  • the processing module is deployed with a first system middleware service, and the first system middleware service has the authority to read files on behalf of the first application; the processing module sends the first file to the second terminal to be stored in the second application
  • the storage path and storage name in the storage space of the second application, and the identifier of the second application including: the processing module sends the storage path and the storage path of the first file in the storage space of the second application to the second terminal through the first system middleware service.
  • the display module is further configured to display a second interface of the first application, the second interface includes an identifier of an application corresponding to the first application, and the identifier of an application corresponding to the first application includes the second application
  • the processing module is further configured to register the authority of the first system middleware service to proxy the first application to read the file in the first system middleware service in response to detecting the second input of the user's identification of the second application, and generate Registration information of the first application, where the registration information of the first application includes information of the second application.
  • the processing module is further configured to send initial connection information to the second terminal through the first system middleware service, where the initial connection information includes information of the first application; receive information from the second terminal according to the first application.
  • the initial connection result returned by the message.
  • the processing module is further configured to send an initial connection request to the second terminal through the first system middleware service; and receive a confirmation message from the second terminal.
  • the processing module is specifically configured to send file query information to the second terminal in response to detecting the first input of the first identifier by the user, where the file query information includes the identifier of the second application and is used for the second terminal.
  • the terminal reads the index file from the storage space of the second application, and sends it to the processing module; the index file is used to indicate the file list information in the storage space of the second application; The index file of the second terminal; according to the index file, the control display module displays the identification of the file in the storage space of the second application in the first interface, and the identification of the file in the storage space of the second application includes the identification of the first file; response Upon detecting the third input of the identifier of the first file by the user, the storage path and storage name of the first file in the storage space of the second application and the identifier of the second application are sent to the second terminal.
  • an embodiment of the present application provides an electronic device, where the electronic device may be the above-mentioned first terminal.
  • the electronic device includes: a processor, a memory for storing instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device enables the electronic device to implement the method according to the ninth aspect.
  • an embodiment of the present application provides a computer-readable storage medium on which computer program instructions are stored; when the computer program instructions are executed by an electronic device, the electronic device is made to implement the method described in the ninth aspect .
  • an embodiment of the present application provides a data transmission method corresponding to the ninth aspect, which is applied to a second terminal, the second terminal is connected to the first terminal, the first terminal includes the first application, and the second terminal includes A second application corresponding to the first application.
  • the method includes: the second terminal receives the storage path and storage name of the first file in the storage space of the second application, and the identifier of the second application from the first terminal; and the second terminal does not run the second application when the second terminal is not running.
  • the first file is read from the storage space of the second application, and the first file is sent to the first terminal.
  • the second terminal is deployed with a second system middleware service, and the second system middleware service has the authority to read files on behalf of the second application; when the second terminal does not run the second application, Reading the first file from the storage space of the second application according to the storage path and storage name of the first file in the storage space of the second application, and sending the first file to the first terminal, including: The second system middleware service, without running the second application, reads the first file from the storage space of the second application according to the storage path and storage name of the first file in the storage space of the second application, and Send the first file to the first terminal.
  • the method further includes: displaying a third interface of the second application on the second terminal, where the third interface includes an identifier of the application corresponding to the second application, and the identifier of the application corresponding to the second application Including the identifier of the first application; in response to detecting the third input of the identifier of the first application by the user, the second terminal registers the permission of the second system middleware service to proxy the second application to read the file in the second system middleware service , and generate registration information of the second application, where the registration information of the second application includes information of the first application.
  • the method further includes: the second terminal receives initial connection information from the first terminal, where the initial connection information includes information of the first application; the second terminal uses the second system middleware service to verify the Check whether the information of the first application included in the initial connection information is consistent with the information of the first application included in the registration information of the second application, and obtain a verification result; the second terminal returns the initial connection result to the first terminal according to the verification result .
  • the initial connection result includes: initialization succeeded or initialization failed.
  • the method further includes: the second terminal receives an initial connection request from the first terminal; and the second terminal returns a confirmation message to the first terminal.
  • the method further includes: the second terminal receives file query information from the first terminal, where the file query information includes the identifier of the second application; when the second terminal does not run the second application, The index file is read from the storage space of the second application, and the index file is used to indicate file list information in the storage space of the second application; the second terminal sends the index file to the first terminal.
  • an embodiment of the present application provides an apparatus, which can be applied to the second terminal having the thirteenth aspect, and is configured to implement the thirteenth aspect that is applied to the second terminal.
  • the functions of the apparatus may be implemented by hardware, or by executing corresponding software by hardware.
  • the hardware or software includes one or more modules or units corresponding to the above functions, for example, a display module, a processing module, etc. For details, reference may be made to the above-mentioned device applied to the first terminal, which will not be repeated here.
  • an embodiment of the present application provides an electronic device, where the electronic device may be the above-mentioned second terminal.
  • the electronic device includes: a processor, a memory for storing instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device causes the electronic device to implement the method according to the thirteenth aspect.
  • an embodiment of the present application provides a computer-readable storage medium on which computer program instructions are stored; when the computer program instructions are executed by an electronic device, the electronic device is made to implement the thirteenth aspect. method.
  • an embodiment of the present application provides a computer program product, including computer-readable code, which, when the computer-readable code is executed in an electronic device, enables the electronic device to implement the aforementioned first aspect, fifth aspect, and sixth aspect.
  • an embodiment of the present application provides a data transmission system, including at least a first terminal and a second terminal; the first terminal is connected to the second terminal, the first terminal includes a first application, and the second terminal includes a connection with the first terminal. A corresponding second application is applied; the first terminal and the second terminal cooperate to implement the method described in any one of the foregoing first aspect, fifth aspect, ninth aspect, and thirteenth aspect.
  • the data transmission system may further include more terminals, such as: a third terminal, a fourth terminal, etc.
  • terminals such as: a third terminal, a fourth terminal, etc.
  • a third terminal When data is exchanged between applications of any two terminals, reference may be made to the aforementioned first terminal and third terminal. The way in which data is exchanged between the applications of the two terminals.
  • Fig. 1 shows a kind of schematic diagram of interactive data between App on different terminals
  • Fig. 2 shows another schematic diagram of interactive data between apps on different terminals
  • FIG. 3 shows a schematic diagram of a system architecture provided by an embodiment of the present application
  • FIG. 4 shows a schematic structural diagram of a terminal device provided by an embodiment of the present application
  • FIG. 5 shows a schematic diagram of a software architecture of a terminal provided by an embodiment of the present application
  • Fig. 6 shows a kind of schematic diagram of the installation completion interface of App
  • FIG. 7 shows a schematic flowchart of establishing an initial connection between a first App and a second App in an embodiment of the present application
  • FIG. 8 shows a schematic diagram of a display interface of a first App
  • FIG. 10 shows a schematic diagram of a display interface of another first App
  • FIG. 11 shows a schematic diagram of a display interface of another first App
  • FIG. 12 shows a schematic diagram of a display interface of another first App
  • FIG. 13 shows a schematic flowchart of a first App sending a file to a second App in an embodiment of the present application
  • FIG. 14 shows a schematic diagram of a display interface of yet another first App
  • FIG. 16 shows a schematic diagram of a display interface of another first App
  • FIG. 17 shows a schematic diagram of a display interface of yet another first App
  • FIG. 18 shows a schematic flowchart of a first App reading a file from a second App in an embodiment of the present application
  • Figure 19 shows a schematic diagram of a display interface of yet another first App
  • Figure 20 shows a schematic diagram of a display interface of yet another first App
  • FIG. 21 shows a schematic flowchart of the first App determining the target business file in the embodiment of the present application
  • Figure 22 shows a schematic structural diagram of a device.
  • a user usually has multiple terminals, such as a mobile phone, a watch, a tablet (pad), and the like.
  • Each terminal can install an application (application, App), such as a sports App, an audio App, and the like.
  • application, App such as a sports App, an audio App, and the like.
  • Some basic mainstream apps can be installed on different terminals.
  • an audio app is installed on the mobile phone, and an audio app is also installed on the watch.
  • an audio app is also installed on the watch.
  • FIG. 1 shows a schematic diagram of data interaction between apps on different terminals.
  • an App of terminal A transfers a file P to an App in terminal B.
  • the user can upload the file P to the server through the terminal A first.
  • the file P can be uploaded to the server through the App of the terminal A based on related technologies such as file transfer protocol (FTP), email (email).
  • FTP file transfer protocol
  • email email
  • the user can download the file P from the server to the App of the terminal B through the terminal B, thereby realizing the transfer of the file P from the App of the terminal A to the App of the terminal B.
  • FIG. 2 shows another schematic diagram of data interaction between apps on different terminals.
  • the App of the terminal A transfers the file P to the App in the terminal B.
  • the App of terminal A and the App of terminal B may be instant messaging software based on peer-to-peer technology.
  • the App of the terminal A and the App of the terminal B can communicate through the network.
  • the user can first upload the file P to the cloud server through the App of terminal A.
  • the cloud server side can push the file P to the App of the terminal B.
  • the user can open the App of terminal B to view and receive file P.
  • the file P passes through the server and is stored in the server, and there may be issues such as privacy and data security.
  • the instant messaging software must support account multi-point login, for example, the user can log in to the computer and mobile phone at the same time, or the user must register two accounts to log in to the App of Terminal A and the App of Terminal B respectively.
  • the above-mentioned current data transmission solutions for the scenario of exchanging data between apps on different terminals can only be applied to the exchange of data between apps of the same type on different terminals.
  • the aforementioned interaction data between the mobile phone's sports app and the watch's sports app the interaction data between the mobile phone's audio app and the watch's audio app, and so on.
  • the current data transmission scheme cannot be satisfied. For example, if two video apps: M1 and M2 are installed on the watch, and two video apps: M1 and M2 are also installed on the mobile phone, the current data transmission scheme can only meet the requirements between M1 on the mobile phone and M1 on the watch.
  • the interaction data, and the interaction data between the M2 on the mobile phone and the M2 on the watch cannot satisfy the interaction data between the M1 on the mobile phone and the M2 on the watch, and the interaction between the M2 on the mobile phone and the M1 on the watch. interactive data.
  • an embodiment of the present application provides a data transmission method, which can be applied to a scenario of data transmission between apps of different terminals. For example, it can be applied to the scenario of data transmission between the App of any two terminals in multiple terminals used in coordination.
  • each terminal has the function of proxying the file operation of the App of the terminal.
  • App file operations refer to: App sending files, App receiving files, App storing files, etc. That is, in the embodiment of the present application, each terminal has the functions of sending files, receiving files, storing files, etc. on behalf of the App of the terminal.
  • the terminal When the App of a certain terminal needs to send a file to the App of the opposite terminal, the terminal has the function of proxying the file operation of the App, and can send the file to the opposite terminal on behalf of the App of the terminal.
  • the function of proxying the file operation of the App of the peer terminal which can represent the App of the peer terminal to receive the file and store it in the storage space of the App of the peer terminal, such as: stored in the data directory of the App of the peer terminal Down. Because the function of proxying the file operation of the App on the opposite terminal enables the App of the opposite terminal to receive the file, the App of the opposite terminal does not need to be opened.
  • terminal 1 has the function of proxying App1 to send files to App2 of terminal 2
  • terminal 2 has the function of proxying App2 to receive files from terminal 1.
  • it can proxy App2 to receive files. file, and store the received file in the data directory of App2.
  • Terminal 2 also has the function of proxying App2 to send files to App1 of Terminal 1
  • Terminal 1 also has the function of proxying App1 to receive files from Terminal 2.
  • it can proxy App1 to receive files and store the received files in App1. in the data directory.
  • App1 of terminal 1 sends a file to App2 of terminal 2
  • APP2 does not need to be opened.
  • App2 of terminal 2 sends a file to App1 of terminal 1, APP1 does not need to be opened.
  • the above-mentioned function of the terminal that acts as a proxy for the file operation of the App of the terminal can be implemented by deploying a system middleware service on the terminal.
  • a system middleware service may be deployed on each terminal, and the system middleware service is used to implement the file operation function of the terminal proxy App. That is, the system middleware service on each terminal can proxy the file operations of the terminal's App.
  • terminal 1 when a file is transferred between the app of terminal 1 and the app of terminal 2, terminal 1 can be in a state where the app of terminal 1 is not opened.
  • the file of the App of the terminal 2 sent by the terminal 2 through the system middleware service 2 is received, and stored in the App of the terminal 1.
  • Terminal 1 can also read the file of the App of Terminal 1 when the App of Terminal 1 is not opened, and send it to Terminal 2 through the system middleware service 1.
  • Terminal 2 can receive the file through the system middleware service 2, and send the file to the terminal 2. Stored in the App of Terminal 2.
  • the data transmission method provided in the embodiment of the present application does not limit whether the App that performs data transmission between two terminals is the same App in the file transfer between the apps of the terminals. That is, the data transmission method is applicable not only to the exchange of data between the same App on different terminals, but also to the exchange of data between different Apps on different terminals.
  • FIG. 3 shows a schematic diagram of a system architecture provided by an embodiment of the present application.
  • the system architecture may at least include: a first terminal 301 and a second terminal 302 .
  • the connection between the first terminal 301 and the second terminal 302 may be established in a wired or wireless manner.
  • the wireless communication protocol adopted when the first terminal 301 and the second terminal 302 establish a connection in a wireless manner may be a wireless fidelity (wireless fidelity, Wi-Fi) protocol, a bluetooth (bluetooth) protocol, a ZigBee protocol, a short distance protocol.
  • Wireless communication near field communication, NFC
  • various cellular network protocols, etc. are not specifically limited here.
  • the above-mentioned first terminal 301 and/or second terminal 302 may be a mobile phone, a tablet computer, a handheld computer, a PC, a cellular phone, a personal digital assistant (PDA), a wearable device (such as : smart watches, smart bracelets), smart home devices (such as: TV sets), car devices (such as: car computers), smart screens, game consoles, headphones, artificial intelligence (artificial intelligence, AI) speakers, and augmented reality (augmented reality (AR)/virtual reality (virtual reality, VR) devices, etc.
  • the specific device forms of the first terminal 301 and the second terminal 302 are not particularly limited in this embodiment.
  • the device forms of the first terminal 301 and the second terminal 302 may be the same.
  • both the first terminal 301 and the second terminal 302 are mobile phones.
  • the device forms of the first terminal 301 and the second terminal 302 may also be different.
  • the first terminal 301 may be a mobile phone
  • the second terminal 302 may be a watch.
  • first terminal 301 and second terminal 302 may be touch screen devices or non-touch screen devices.
  • both the first terminal 301 and the second terminal 302 are terminals that can run an operating system and install an App.
  • first terminal 301 and second terminal 302 may also have a display (or a display screen).
  • the operating system of the first terminal 301 and/or the second terminal 302 may be an AndroidTM (android) system, an iosTM system, a windowsTM system, a macTM system, a linuxTM system, or the like. More specifically, Huawei TM system, EMUITM system, Android WearTM system, Lite OSTM, TizenTM system, watch osTM system, etc. can also be used.
  • the operating systems of the first terminal 301 and the second terminal 302 may be the same. In other embodiments, the operating systems of the first terminal 301 and the second terminal 302 may also be different. The operating system of the first terminal 301 and/or the second terminal 302 is not specifically limited in this embodiment of the present application.
  • the first terminal 301 and the second terminal 302 may respectively include a memory, a processor and a display.
  • the memory may be used to store the operating system
  • the processor may be used to run the operating system stored in the memory.
  • the display can be used to display various user interfaces (user interface, UI), such as the application interface corresponding to the App installed on the terminal and the user interaction interface of the operating system.
  • UI user interface
  • FIG. 4 shows a schematic structural diagram of a terminal device provided by an embodiment of the present application. That is, exemplarily, the terminal device shown in FIG. 4 may be a mobile phone.
  • the mobile phone may include a processor 410, an external memory interface 420, an internal memory 421, a universal serial bus (USB) interface 430, a charging management module 440, a power management module 441, a battery 442, an antenna 1.
  • Antenna 2 wireless communication module 460, audio module 470, speaker 470A, receiver 470B, microphone 470C, headphone jack 470D, sensor module 480, buttons 490, motor 491, indicator 492, camera 493 and display screen 494, etc.
  • the mobile phone may further include a mobile communication module 450, a subscriber identification module (subscriber identification module, SIM) card interface 495 and the like.
  • a mobile communication module 450 a mobile communication module 450, a subscriber identification module (subscriber identification module, SIM) card interface 495 and the like.
  • SIM subscriber identification module
  • the sensor module 480 may include a pressure sensor 480A, a gyroscope sensor 480B, an air pressure sensor 480C, a magnetic sensor 480D, an acceleration sensor 480E, a distance sensor 480F, a proximity light sensor 480G, a fingerprint sensor 480H, a temperature sensor 480J, a touch sensor 480K, and an environmental sensor.
  • the structure shown in FIG. 4 does not constitute a specific limitation on the mobile phone.
  • the mobile phone may also include more or less components than those shown in FIG. 4 , or combine some components, or separate some components, or different component arrangements, and the like.
  • some of the components shown in FIG. 4 may be implemented in hardware, software, or a combination of software and hardware.
  • the processor 410 may include one or more processing units, for example, the processor 410 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), controller, memory, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural-network processing unit (NPU) Wait. Wherein, different processing units may be independent devices, or may be integrated in one or more processors.
  • the controller can be the nerve center and command center of the phone. The controller can generate an operation control signal according to the instruction operation code and timing signal, and complete the control of fetching and executing instructions.
  • a memory may also be provided in the processor 410 for storing instructions and data.
  • the memory in processor 410 is cache memory. This memory may hold instructions or data that have just been used or recycled by the processor 410 . If the processor 410 needs to use the instruction or data again, it can be called directly from the memory. Repeated accesses are avoided, and the waiting time of the processor 410 is reduced, thereby improving the efficiency of the system.
  • processor 410 may include one or more interfaces.
  • the interface may include an integrated circuit (inter-integrated circuit, I2C) interface, an integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous transceiver (universal asynchronous transmitter) receiver/transmitter, UART) interface, mobile industry processor interface (MIPI), general-purpose input/output (GPIO) interface, SIM interface, and/or USB interface, etc.
  • I2C integrated circuit
  • I2S integrated circuit built-in audio
  • PCM pulse code modulation
  • PCM pulse code modulation
  • UART universal asynchronous transceiver
  • MIPI mobile industry processor interface
  • GPIO general-purpose input/output
  • SIM interface SIM interface
  • USB interface etc.
  • the charging management module 440 is used to receive charging input from the charger. While the charging management module 440 charges the battery 442 , it can also supply power to the mobile phone through the power management module 441 .
  • the power management module 441 is used to connect the battery 442 , the charging management module 440 , and the processor 410 .
  • the power management module 441 can also receive the input of the battery 442 to supply power to the mobile phone.
  • the wireless communication function of the mobile phone can be realized by the antenna 1, the antenna 2, the mobile communication module 450, the wireless communication module 460, the modulation and demodulation processor, the baseband processor, and the like.
  • Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in a cell phone can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization.
  • the antenna 1 can be multiplexed as a diversity antenna of the wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
  • the mobile communication module 450 can provide a wireless communication solution including 2G/3G/4G/5G etc. applied on the mobile phone.
  • the mobile communication module 450 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), and the like.
  • the mobile communication module 450 can receive electromagnetic waves from the antenna 1, filter and amplify the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation.
  • the mobile communication module 450 can also amplify the signal modulated by the modulation and demodulation processor, and then convert it into electromagnetic waves for radiation through the antenna 1 .
  • at least part of the functional modules of the mobile communication module 450 may be provided in the processor 410 .
  • at least part of the functional modules of the mobile communication module 450 may be provided in the same device as at least part of the modules of the processor 410 .
  • the modem processor may include a modulator and a demodulator.
  • the modulator is used to modulate the low frequency baseband signal to be sent into a medium and high frequency signal.
  • the demodulator is used to demodulate the received electromagnetic wave signal into a low frequency baseband signal. Then the demodulator transmits the demodulated low-frequency baseband signal to the baseband processor for processing.
  • the low frequency baseband signal is processed by the baseband processor and passed to the application processor.
  • the application processor outputs sound signals through audio devices (not limited to speaker 470A, receiver 470B, etc.), or displays images or videos through display screen 494 .
  • the modem processor may be a stand-alone device.
  • the modem processor may be independent of the processor 410, and may be provided in the same device as the mobile communication module 450 or other functional modules.
  • the wireless communication module 460 can provide wireless local area networks (wireless local area networks, WLAN) (such as Wi-Fi networks), Bluetooth (bluetooth, BT), global navigation satellite system (global navigation satellite system, GNSS) applied on the mobile phone, Solutions for wireless communication such as frequency modulation (FM), NFC, infrared technology (infrared, IR).
  • the wireless communication module 460 may be one or more devices integrating at least one communication processing module.
  • the wireless communication module 460 receives electromagnetic waves via the antenna 2 , frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 410 .
  • the wireless communication module 460 can also receive the signal to be sent from the processor 410 , perform frequency modulation on it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2 .
  • the antenna 1 of the mobile phone is coupled with the mobile communication module 450, and the antenna 2 is coupled with the wireless communication module 460, so that the mobile phone can communicate with the network and other devices through wireless communication technology.
  • the wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), broadband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC , FM, and/or IR technology, etc.
  • the GNSS may include a global positioning system (global positioning system, GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (quasi -zenith satellite system, QZSS) and/or satellite based augmentation systems (SBAS).
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • BDS Beidou navigation satellite system
  • QZSS quasi-zenith satellite system
  • SBAS satellite based augmentation systems
  • the mobile phone realizes the display function through the GPU, the display screen 494, and the application processor.
  • the GPU is a microprocessor for image processing, and is connected to the display screen 494 and the application processor.
  • Processor 410 may include one or more GPUs that execute program instructions to generate or alter display information.
  • Display screen 494 is used to display images, video, and the like.
  • Display screen 494 includes a display panel.
  • the display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (active-matrix organic light).
  • LED diode AMOLED
  • flexible light-emitting diode flexible light-emitting diode (flex light-emitting diode, FLED), Miniled, MicroLed, Micro-oLed, quantum dot light-emitting diode (quantum dot light emitting diodes, QLED) and so on.
  • the handset may include 1 or N display screens 494, where N is a positive integer greater than 1.
  • the mobile phone can realize the shooting function through ISP, camera 493, video codec, GPU, display screen 494, and application processor.
  • the mobile phone may include 1 or N cameras 493 , where N is a positive integer greater than 1.
  • the external memory interface 420 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the mobile phone.
  • the external memory card communicates with the processor 410 through the external memory interface 420 to realize the data storage function. For example to save files like music, video etc in external memory card.
  • Internal memory 421 may be used to store computer executable program code, which includes instructions.
  • the processor 410 executes various functional applications and data processing of the mobile phone by executing the instructions stored in the internal memory 421 .
  • the internal memory 421 may include a storage program area and a storage data area.
  • the storage program area can store an operating system, an application program required for at least one function (such as a sound playback function, an image playback function, etc.), and the like.
  • the storage data area can store data (such as audio data, phone book, etc.) created during the use of the mobile phone.
  • the internal memory 421 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash storage (UFS), and the like.
  • the mobile phone can implement audio functions through an audio module 470, a speaker 470A, a receiver 470B, a microphone 470C, an earphone interface 470D, and an application processor. Such as music playback, recording, etc.
  • FIG. 4 is only an exemplary illustration when the device form of the terminal is a mobile phone.
  • the terminal is a tablet computer, handheld computer, PC, PDA, wearable devices (such as smart watches, smart bracelets), smart home devices (such as TVs), car devices (such as car computers), smart screens,
  • wearable devices such as smart watches, smart bracelets
  • smart home devices such as TVs
  • car devices such as car computers
  • smart screens In the case of game consoles, headsets, AI speakers, and AR/VR devices and other device forms, the structure of the terminal may include fewer structures than those shown in Figure 4, or may include more structures than those shown in Figure 4. There is no restriction here.
  • the first terminal 301 and the second terminal 302 shown in FIG. 3 are respectively deployed with system middleware services.
  • the first terminal 301 is deployed with the first system middleware service
  • the second terminal 302 A second system middleware service is deployed.
  • the first terminal 301 is installed with one or more Apps
  • the second terminal 302 is installed with one or more Apps.
  • FIG. 5 is a schematic diagram of a software architecture of a terminal provided by an embodiment of the present application.
  • the software architecture of a terminal eg, the above-mentioned first terminal 301 and/or second terminal 302
  • the software architecture of a terminal may include a system layer and an application layer.
  • each App on the terminal is deployed at the application layer
  • the system middleware service is deployed at the system layer.
  • the first system middleware service is deployed at the system layer of the first terminal
  • the second system middleware service is deployed at the system layer of the second terminal.
  • the App on the terminal may include calculator, photo album, short message, music player, file manager, gallery, browser, memo, news, video player, mail and so on.
  • These applications may be system applications of the terminal, or may be third-party applications, which are not specifically limited in this embodiment of the present application.
  • first terminal 301 and the second terminal 302 may include more or less layers than those shown in the drawings, which are not specifically limited in this embodiment.
  • the App of the first terminal 301 when the App of the first terminal 301 needs to send a certain file to the App of the second terminal 302, The App of the first terminal 301 can send the file to the second system middleware service of the second terminal 302 through the first system middleware service.
  • the second system middleware service of the second terminal 302 may store the received file in the App of the second terminal 302 .
  • the file operation of the App of the second terminal 302 is represented by the second system middleware service, so the App of the second terminal 302 does not need to be opened.
  • the App of the first terminal 301 when the App of the first terminal 301 needs to read a certain file from the App of the second terminal 302 , the App of the first terminal 301 can be served by the middleware of the first system to the middleware of the second system of the second terminal 302
  • the file service sends a file get request for the file.
  • the second system middleware service of the second terminal 302 may obtain the corresponding file according to the file obtaining request and return it to the first system middleware service of the first terminal 301 .
  • the first system middleware service of the first terminal 301 may store the received file in an App on the first terminal 301 .
  • the file operation of the App of the second terminal 302 is also represented by the second system middleware service, so the App of the second terminal 302 does not need to be opened.
  • the data exchanged between the App of the first terminal and the App of the second terminal is used as an example for description.
  • the data transmission method provided by the embodiment of the present application can be used in which data is exchanged between the Apps of any two terminals.
  • the system architecture shown in FIG. 3 can also include more terminals than the first terminal and the second terminal, such as: 1, 2, 8, etc., and any two of these terminals
  • the data is exchanged in a manner similar to the data exchange between the App of the first terminal and the App of the second terminal.
  • This application also does not limit the number of terminals included in the system architecture.
  • the embodiments of the present application may be applicable to a scenario in which a main terminal device, such as a mobile phone, is connected with other peripheral devices, such as a headset, a watch, a PAD, and the like.
  • a main terminal device such as a mobile phone
  • other peripheral devices such as a headset, a watch, a PAD, and the like.
  • the mobile phone may be referred to as the first terminal
  • any one of the headset, watch, PAD, etc. may be referred to as the second terminal.
  • the master terminal device can be bound with other peripheral devices through device ID or other fields.
  • the App on the first terminal before the App on the first terminal is installed or run for the first time, it will call the registration agent file application program interface (application program interface, API) of the middleware service of the first system to complete the local registration and ensure the first A system middleware service can replace the registered App to perform file operations such as file reading and/or file storage.
  • the App on the second terminal before the App on the second terminal is installed or run for the first time, it needs to call the registration proxy file API of the middleware service of the second system to complete the local registration and ensure that the middleware service of the second system can replace the registered App for file registration Read and file storage operations.
  • the terminal can display the setting options on the installation interface or the installation completion interface for the user to choose which peer apps the terminal's system middleware service can proxy the app with The App of other connected terminals, for example, for the first terminal, the opposite terminal App refers to the App of the second terminal) for data interaction, and the operation type that can act on behalf of the App to perform file operations, such as: file receiving operation, File send operation.
  • mobile version M1 Take the App installed on the mobile phone: mobile version M1 as an example, assuming that the mobile phone is connected to the watch, TV, and tablet computer respectively, when the mobile phone version M1 is installed on the mobile phone, the mobile phone will send a detection request to the watch, TV, and tablet computer respectively.
  • the watch version M1 To detect whether the watch version M1 is installed on the watch, whether the TV version M1 is installed on the TV, and whether the computer version M1 is installed on the tablet.
  • the watch is installed with the watch version M1
  • the information of the watch version M1 will be returned to the mobile phone.
  • the TV will return the information of the TV version of M1 to the mobile phone
  • the tablet will return the information of the computer version of M1 to the mobile phone.
  • the mobile phone can obtain the information of the corresponding version of M1 installed on the watch, TV, and tablet computer. Then, the mobile phone can display the setting options on the installation completion interface of the mobile version M1.
  • the installation completion interface can include the logos of the watch version M1, the TV version M1, and the computer version M1, etc., for the user to select the system middleware service of the mobile phone.
  • the agent mobile phone version M1 interacts with which one or several of the watch version M1, the TV version M1, and the computer version M1.
  • the mobile version M1 when the first terminal is a mobile phone, the mobile version M1 may be referred to as the first application, the installation completion interface of the mobile version M1 may be referred to as the second interface, the watch version M1, the TV version M1, and the computer version M1 etc. may be referred to as the second application, and the user's operation of the identification of the second application may be referred to as the second input.
  • the installation completion interface of M1 on the second terminal eg, a watch
  • the user's operation on the identifier of the first application in the third interface may be referred to as the third input.
  • FIG. 6 shows a schematic diagram of the installation completion interface of an App.
  • a device such as a watch, a TV, or a tablet
  • the user can select one or more of the watch, TV, and tablet by clicking (or other touch operations), and click the OK option below, and then select the system middleware service of the mobile phone to act as a proxy for the mobile phone version M1 and the watch version M1.
  • the system middleware service that selects the mobile phone can represent the mobile phone version M1 to perform data interaction with the watch version M1.
  • the mobile phone's system middleware service can represent the mobile phone version M1 for data interaction, such as the watch version M1.
  • the mobile version M1 will call the registration agent file API of the system middleware service of the mobile phone to complete the local registration.
  • the following contents will be filled: information of the watch version M1 (such as: package name of the watch version M1, signature certificate, etc.), file information (such as: file name, file format, etc.), file path (such as: mobile phone version M1
  • the storage directory of files in the data directory operation permissions (such as: read permissions and write permissions).
  • the App on the first terminal calls the registration proxy file API of the first system middleware service to complete the local registration
  • the following content needs to be filled: the information of the opposite terminal App (eg: the package name of the peer App, signature certificate, etc.), file information (eg: file name, file format, etc.), file path (eg: the storage directory of the file in the data directory of the App on the first terminal), operation Permissions (eg: read permission and write permission).
  • the registration information of the first application will be generated in the first system middleware service, and the registration information of the first application includes the above filled content.
  • the opposite-end App refers to the App on the second terminal.
  • the process for the first terminal to acquire the information of the App of the opposite terminal reference may be made to the above-mentioned example of the mobile phone acquiring the information of the watch version M1.
  • the App on the second terminal calls the registration proxy file API of the middleware service of the second system and completes the local registration, it also needs to fill in the following content: the information of the peer App (such as the package name of the peer App, signature certificate, etc.) , file information (such as file name, file format, etc.), file path (such as the storage directory of the file in the data directory of the App on the second terminal), and operation permissions (such as read permissions and write permissions).
  • the registration information of the second application will be generated in the second system middleware service, and the registration information of the second application includes the above filled content.
  • the opposite terminal App refers to the App on the first terminal.
  • any terminal when the App on the terminal performs the above-mentioned registration process, one or more pieces of information of the peer App can be filled, and the number of the peer App is not limited herein.
  • the information of the opposite-end App that is filled in may be the information of the opposite-end App associated with the registered App, such as :
  • the peer App and the registered App can be different versions in different devices, such as: mobile phone version and watch version.
  • the second application has a corresponding relationship with the first application, for example, the second application and the first application may be the same application adapted to different terminal versions.
  • the second application and the first application may also be different applications with preconfigured correspondence.
  • the first application may be M1 in the mobile phone, and the second application may be M2 in the watch.
  • the preconfigured correspondence between the second application and the first application may be similar to that shown in FIG. 6 , when the first application is installed for the first time, established according to the user's selection operation.
  • the preconfigured correspondence between the second application and the first application may also be preconfigured by developers of the first application and the second application, which is not limited herein.
  • the process of exchanging data between the two may include two parts, which are the process of establishing an initial connection and the process of actually exchanging data.
  • the process of exchanging data may specifically include the following two scenarios: 1) the App on the first terminal sends a file to the App on the second terminal, or, the App on the second terminal sends the file to the App on the first terminal 2) The App on the first terminal reads the file from the data directory of the App on the second terminal, or the App on the second terminal reads the file from the data directory of the App on the first terminal.
  • the following embodiments only use the scenario where the App on the first terminal sends a file to the App on the second terminal, and the A scenario in which the App reads a file from the data directory of the App on the second terminal is described as an example.
  • the scenario in which the App on the second terminal sends files to the App on the first terminal is similar to the scenario in which the App on the first terminal sends files to the App on the second terminal.
  • the scenario in which the App on the second terminal reads files from the data directory of the App on the first terminal is similar to the scenario in which the App on the first terminal reads files from the data directory of the App on the second terminal. The example is not repeated.
  • the App on the first terminal is referred to as the first App (or referred to as the first application), and the App on the second terminal is referred to as the second App (or referred to as the second application).
  • FIG. 7 shows a schematic flowchart of establishing an initial connection between a first App and a second App in an embodiment of the present application.
  • the process of establishing an initial connection between the first App and the second App may include the following S701-S706.
  • the first App calls the initial connection API of the first system middleware service, and fills in the package name of the second App.
  • the first system middleware service sends initialization connection information to the second system middleware service, where the initialization connection information includes: the package name and signature certificate of the first App, and the package name of the second App.
  • the first system middleware service can read the package name and signing certificate of the first App (or information called the first App), and encapsulate the package name and signing certificate of the first App and the package name of the second App, and generate an initialization connection information. Then, the first system middleware service may call the system interface to send initial connection information to the second system middleware service.
  • the first system middleware service may call a system interface, and send a system message to the second system middleware service, where the system message includes the above-mentioned initialization connection information.
  • the second system middleware service receives the initialization connection information.
  • communication between the first terminal and the second terminal may be performed through Bluetooth or Wi-Fi.
  • the overall power consumption of the Bluetooth connection is relatively low, which can ensure that the Bluetooth of the first terminal and the second terminal are in a constant connection state.
  • the overall power consumption of the Wi-Fi connection is relatively high, and the connection between the first terminal and the second terminal can be triggered by an on-demand service.
  • the first system middleware service encapsulates the package name and signature certificate of the first App, and the package name of the second App, and after generating the initialization connection information (the initialization connection information is application layer data), the initialization connection information can be sent to the first terminal.
  • System data routing layer The system data routing layer of the first terminal may call the service layer interface of the Bluetooth system of the first terminal to send initial connection information to the physical layer of the Bluetooth system of the first terminal.
  • the physical layer of the Bluetooth system of the first terminal can send initial connection information to the connected second terminal through radio frequency.
  • the physical layer of the Bluetooth system of the second terminal may receive the initial connection information through the radio frequency, and transmit the information to the service layer of the Bluetooth system of the second terminal.
  • the service layer of the Bluetooth system of the second terminal may transmit the initial connection information to the system data routing layer of the second terminal.
  • the system data routing layer of the second terminal is responsible for data distribution according to the service flag, and finally distributes the initialization connection information to the second system middleware service.
  • the first system middleware service may also send an initial connection request to the second system middleware service.
  • the second system middleware service may determine whether to establish a subsequent initial connection with the first system middleware service. If the second system middleware service determines to establish a subsequent initialization connection with the first system middleware service, a confirmation message is returned to the first system middleware service. After the first system middleware service receives the confirmation message, S702 and subsequent steps are performed to establish an initial connection with the second system middleware service.
  • the second system middleware service reads the package name and signature certificate of the first App in the registration information of the second App.
  • the registration information of the second App includes the package name and signature certificate of at least one App.
  • the first App is one of the aforementioned at least one App.
  • the registration information of the second App may also include the package name and signature certificate of the third App, the package name and signature certificate of the fourth App, and the like, and both the third App and the fourth App may be apps of the first terminal.
  • the second system middleware service since the initial connection information sent by the first system middleware service to the second system middleware service in S702 includes the package name and signature certificate of the first App, the second system middleware service will read the first App The following verification process is performed on the package name and signing certificate. If the initial connection information includes other apps, such as the package name and signature certificate of the third app, the second system middleware service will read the package name and signature certificate of the third app.
  • the second system middleware service verifies whether the package name and signature certificate of the first App in the registration information of the second App are consistent with the package name and signature certificate of the first App in the received initialization connection information, and obtains a verification result.
  • the verification result will be determined. The verification is successful. If the package name and signature certificate of the first App in the registration information of the second App are inconsistent with the package name and signature certificate of the first App in the received initialization connection information, the verification result is a verification failure.
  • the second system middleware service returns the initial connection result to the first system middleware service according to the verification result.
  • the result of initializing the connection includes: the initialization succeeds or the initialization fails. If the verification result is that the verification is successful, the initialization connection result returned by the second system middleware to the first system middleware is that the initialization is successful. If the verification result is a verification failure, the initialization connection result returned by the second system middleware to the first system middleware is an initialization failure.
  • the first system middleware service receives the initialized connection result.
  • the first system middleware service sends the initial connection result to the first App.
  • the first system middleware service can notify the first App whether the initialized connection is successfully established with the second App.
  • the first App can subsequently send files to the second App, and/or the first App can read files from the second App.
  • the first terminal may display the successful connection result to the user in the display interface of the first App.
  • FIG. 8 shows a schematic diagram of a display interface of a first App.
  • the first terminal will prompt the user that the connection is successful in the display interface of the first App.
  • the display interface that is successfully connected will be automatically closed after a preset duration, such as 5 seconds (S), and the size of the preset duration is not limited here.
  • a preset duration such as 5 seconds (S)
  • the user can choose to click the close control "X" in the upper right corner to directly close the display interface of the successful connection.
  • the first terminal may display the connection failure result to the user in the display interface of the first App.
  • FIG. 9 shows a schematic diagram of a display interface of another first App.
  • the first terminal will prompt the user that the connection fails in the display interface of the first App.
  • the first terminal can also prompt the user to re-select and cancel in the display interface of the first App. If the user clicks to re-select, the display interface will switch to FIG. 6 . The interface shown is for the user to re-select the second App and re-establish the initial connection. If the user clicks cancel, the first terminal will cancel the process of establishing the initial connection.
  • FIG. 10 shows yet another schematic diagram of the display interface of the first App.
  • the display interface includes the data directory of the App, including: file 1, file 2, file 3, file 4 and other files, such as: the display interface can display file 1, file 2, file 3 , file 4, etc.
  • the interface shown in FIG. 10 may be called the first interface
  • the file 1 may be called the first file
  • the operation performed on the identifier of the file 1 ie, the area where the file 1 is located
  • FIG. 11 shows a schematic diagram of a display interface of another first App.
  • the operation interface for file 1 displayed by the first terminal may include: forwarding, deleting, moving, etc.
  • an interface for the user to select the destination App eg, the second App to send the file 1 to will be entered.
  • FIG. 12 shows a schematic diagram of a display interface of another first App.
  • the interface displayed by the first terminal will be switched from that shown in Figure 11 to that shown in Figure 12, and the display interface will include options such as the second App, the third App, and the fourth App. , for the user to choose which App to send file 1 to.
  • the first App is the aforementioned mobile phone version M1
  • the second App, the third App, and the fourth App may be the aforementioned watch version M1, TV version M1, computer version M1, etc. in sequence.
  • the first terminal may display the first interface of the first application, and the first interface includes the identifier of the first file; the first terminal may respond to the first detection of the identifier of the first file by the user Upon input, the identifier of the second application and the first file are sent to the second terminal. The identifier of the second application and the first file are used to instruct the second terminal to store the first file in the storage space of the second application without running the second application.
  • the apps shown in FIG. 12 are all apps that have established an initial connection with the first app.
  • FIG. 13 shows a schematic flowchart of a first App sending a file to a second App in an embodiment of the present application.
  • the process of sending the file from the first App to the second App includes the following S1301-S1307.
  • the first App calls the sending API of the first system middleware service, and fills in the package name, target service file, target storage path and target storage name of the second App, and the file operation is a write operation.
  • the first system middleware service sends file sending information to the second system middleware service, where the file sending information includes: the package name and signature certificate of the first App, the package name of the second App, the target service file, the target storage path and the target Storage name, file operations are write operations.
  • the first system middleware service can read the package name and signing certificate of the first App, and encapsulate the package name and signing certificate of the first App, the package name of the second App, the target service file, the target storage path and the target storage name,
  • the file operation is a write operation, which generates file sending information.
  • the first system middleware service may call the system interface to send file sending information to the second system middleware service.
  • the first system middleware service may call a system interface to send a system message to the second system middleware service, where the system message includes the above-mentioned file sending information.
  • the second system middleware service receives the file sending information.
  • the first system middleware service calls the system interface, sends the file sending information to the second system middleware service, and the specific implementation process of the second system middleware service receiving the file sending information, and the first system middleware service calls.
  • the process of the system interface, sending initial connection information to the second system middleware service, and receiving the initial connection information by the second system middleware service is similar or the same, which can be referred to in the relevant explanation of the aforementioned S702, and will not be repeated here.
  • the second system middleware service reads the package name and signature certificate of the first App in the registration information of the second App.
  • the second system middleware service verifies whether the package name and signature certificate of the first App in the registration information of the second App are consistent with the package name and signature certificate of the first App in the received file sending information, and obtains a verification result.
  • the verification result is that the verification is successful. If the package name and signature certificate of the first App in the registration information of the second App are inconsistent with the package name and signature certificate of the first App in the received file sending information, the verification result is a verification failure.
  • the second system middleware service writes the target service file into the data directory of the second App according to the target storage path and target storage name in the received file sending information.
  • the file sending information includes: the target service file, the target storage path and the target storage name, and the file operation is a write operation.
  • the second system middleware service can write the target service file into the data directory of the second App according to the target storage path and the target storage name, that is, store it in the data directory of the second App. For example, write to the "app/data/music" directory of the second App.
  • the second system middleware service can directly write the target storage path and target storage name included in the data directory of the second App.
  • Target business document When the data directory of the second App does not contain the target storage path and target storage name, the second system middleware service may first create a new target storage path in the data directory of the second App, and create a new target storage path in the newly created target storage according to the target storage name. Write the target business file in the path.
  • the second system middleware service sends the file receiving result to the first system middleware service.
  • the sending of the file receiving result may also be included in the system message sent by the middleware service of the second system to the middleware service of the first system, and details are not repeated here.
  • the second system middleware may send the file receiving result to the first system middleware service.
  • the file receiving result can indicate whether the target service file is successfully written into the data directory of the second App.
  • the file receiving result includes: the file receiving is successful or the file receiving fails. If the file receiving result is that the file is successfully received, it means that the target service file is successfully written into the data directory of the second App. If the file receiving result is that the file receiving fails, it means that the target service file has not been successfully written into the data directory of the second App.
  • the first system middleware service receives the file reception result.
  • the first system middleware service sends the file sending result to the first App according to the received file receiving result.
  • the file sending result includes: the file sending is successful or the file sending fails.
  • the first system middleware service may send the file sending result to the first App that the file is successfully sent.
  • the first system middleware service may send the file sending result to the first App that the file sending fails. To notify the first App whether the target business file is successfully sent to the second App this time.
  • the first terminal may display the successful sending result to the user in the display interface of the first App.
  • FIG. 14 shows a schematic diagram of a display interface of another first App.
  • the first terminal will prompt the user that the file has been sent successfully in the display interface of the first App. Similar to the aforementioned FIG. 8 , the interface shown in FIG. 14 can also be closed automatically after a preset time period, or can be closed by the user by clicking, which will not be described again.
  • the first terminal may display the sending failure result to the user in the display interface of the first App.
  • FIG. 15 shows a schematic diagram of a display interface of another first App.
  • the first terminal will prompt the user that the sending fails in the display interface of the first App.
  • the first terminal can also prompt the user to resend and cancel the sending on the display interface of the first App. If the user clicks on resend, the display interface will switch to Fig. The interface shown in 12 is for the user to re-select the second App and perform the above sending process again. If the user clicks to cancel sending, the first terminal will cancel the process of sending the file.
  • the middleware service of the second system can act as a proxy for the file operation of the App of the second terminal, and does not require the file operation of the App of the second terminal.
  • the app is opened, data communication across terminals can be completed, and file reception and retransmission can be completed, which can reduce the user's operations on the app and improve the user experience.
  • FIG. 16 shows a schematic diagram of a display interface of another first App.
  • a read control will be displayed on the display interface of the first App.
  • the read control may also be referred to as the first identifier. It is used for the click operation on the read control, which can also be referred to as the first input.
  • FIG. 17 shows a schematic diagram of a display interface of another first App.
  • the display interface of the first App will be switched from the interface shown in Figure 16 to the interface shown in Figure 17, and the display interface will include: the second App, the third App, the fourth App App and other options for users to choose which App to read files from.
  • the first App is the aforementioned mobile phone version M1
  • the second App, the third App, and the fourth App may be the aforementioned watch version M1, TV version M1, computer version M1, etc. in sequence.
  • the apps shown in FIG. 17 are all apps that have established an initial connection with the first app.
  • FIG. 18 shows a schematic flowchart of a first App reading a file from a second App in an embodiment of the present application.
  • the process of the first App reading a file from the second App includes the following S1801-S1807.
  • the first App calls the sending API of the first system middleware service, and fills in the package name of the second App, the storage path and storage name of the target service file in the second App, and the file operation is a read operation.
  • the target service file is also referred to as the first file.
  • the storage path of the target service file in the second App may be the "app/data/music" directory of the second App, and the storage name may be "file P" and so on.
  • the first system middleware service sends file reading information to the second system middleware service, where the file reading information includes: the package name and signature certificate of the first App, the package name of the second App, and the target service file in the second App
  • the storage path and storage name in and the file operation is a read operation.
  • the first system middleware service can read the package name and signing certificate of the first App, and encapsulate the package name and signing certificate of the first App, the package name of the second App, the storage path of the target service file in the second App, and The storage name and file operation are read operations, and file read information is generated. Then, the first system middleware service may call the system interface to send file reading information to the second system middleware service.
  • the first system middleware service may call a system interface to send a system message to the second system middleware service, where the system message includes the above-mentioned file reading information.
  • the second system middleware service receives the file reading information.
  • the first system middleware service calls the system interface, sends the file reading information to the second system middleware service, and the specific implementation process of the second system middleware service receiving the file reading information is also related to the first system middleware service.
  • the process of the second system middleware service calling the system interface, sending the initialization connection information to the second system middleware service, and the second system middleware service receiving the initialization connection information is similar or the same. Repeat.
  • the second system middleware service reads the package name and signature certificate of the first App in the registration information of the second App.
  • the second system middleware service verifies whether the package name and signature certificate of the first App in the registration information of the second App are consistent with the package name and signature certificate of the first App in the received file reading information, and obtain the verification result .
  • the verification result is that the verification is successful. If the package name and signature certificate of the first App in the registration information of the second App are inconsistent with the package name and the signature certificate of the first App in the received file reading information, then the verification result is a verification failure.
  • the verification when the verification is successful, it can be determined that the first App can read the target service file in the second App. For example, execute S1805.
  • the second system middleware service reads the target from the data directory of the second App according to the storage path and storage name of the target business file in the second App in the received file reading information business documents.
  • the file reading information includes: the storage path and storage name of the target service file in the second App, and the file operation is a read operation.
  • the second system middleware service can read the corresponding target business file from the data directory of the second App according to the storage path and storage name of the target business file in the second App. For example, read the file P from the "app/data/music" directory of the second App.
  • the second system middleware service sends the target business file to the first system middleware service.
  • the target service file may also be placed in the system message.
  • the second system middleware service sends a system message to the first system middleware service, and the system message includes the target service file.
  • the process of sending the target business file from the second system middleware service to the first system middleware service may also refer to the foregoing embodiment shown in FIG. 13 , where the first system middleware service sends the second system middleware service The process of sending the target service file by the service will not be repeated here.
  • the first system middleware service receives the target business file.
  • the first system middleware service sends the target service file to the first App.
  • the first system middleware service can send the target service file to the first App to complete the interaction process of the first App reading the target service file from the second App.
  • the middleware service of the second system can also act as a proxy for the file operation of the App of the second terminal.
  • the file reading can be completed, which can reduce the user's operation on the App and improve the user experience.
  • FIG. 19 shows a schematic diagram of a display interface of yet another first App.
  • the target service file will be combined with other files in the first App (such as the aforementioned file 1, file 2, etc.), Displayed together in the data directory of the first App.
  • FIG. 20 shows yet another schematic diagram of the display interface of the first App.
  • the first terminal may also ask the user whether to save the target service file to the data in the display interface of the first App. content.
  • the user clicks Yes that is, the first terminal will save the target service file in the data directory of the first App, and switch the display interface from that shown in FIG. 20 to that shown in FIG. 19 .
  • clicking No the first terminal will delete the target service file, or prompt the user to save it to another folder, etc., which will not be repeated here.
  • the first App when the App of the first terminal reads a file from the App of the second terminal, the first App knows the storage path and storage name of the target service file in the second App. However, in some actual implementations, the first App does not know the storage path and storage name of the target service file in the second App in advance. In this regard, in this embodiment of the present application, the first App may first obtain the index file MetaData from the second App. Then, the file list information in the second App can be determined according to the index file MetaData, so that the specific target service file to be read can be determined according to the file list information in the second App.
  • FIG. 21 shows a schematic flowchart of the first App determining the target service file in the embodiment of the present application.
  • the process of the first App determining the target service file may include the following S2101-S2108.
  • S2101-S2108 are steps before S1801 shown in FIG. 18 , that is, in some embodiments, the first App can first determine the target service file through S2101-S2108, and then use S1801-S1807 to obtain the target service file from the second App. Read the target business file.
  • the first App calls the sending API of the first system middleware service, and fills in the package name of the second App and the file operation is a read operation.
  • the first system middleware service sends default file reading information to the second system middleware service, where the default file reading information includes: the package name and signature certificate of the first App, the package name of the second App, and the file operation is read operate.
  • the first system middleware service can read the package name and signing certificate of the first App, and encapsulate the package name and signing certificate of the first App, the package name of the second App, and the file operation as a read operation, and generate a default file for reading information. Then, the first system middleware service may call the system interface to send default file reading information to the second system middleware service.
  • the first system since the first App does not know the storage path and storage name of the target service file in the second App, the first system The middleware service generates default file reading information that does not carry the storage path and storage name of the target business file.
  • the first system middleware service may call a system interface to send a system message to the second system middleware service, where the system message includes the above-mentioned default file reading information.
  • the second system middleware service receives the default file reading information.
  • the first system middleware service calls the system interface, sends the default file reading information to the second system middleware service, and the specific implementation process of the second system middleware service receiving the default file reading information is also the same as that of the first system.
  • the system middleware service calls the system interface, sends the initialization connection information to the second system middleware service, and the process of the second system middleware service receiving the initialization connection information is similar or the same. This will not be repeated here.
  • the second system middleware service reads the package name and signature certificate of the first App in the registration information of the second App.
  • the second system middleware service verifies whether the package name and signature certificate of the first App in the registration information of the second App are consistent with the package name and signature certificate of the first App in the received default file reading information, and the verification is obtained. result.
  • the verification result is that the verification is successful. If the package name and signature certificate of the first App in the registration information of the second App are inconsistent with the package name and signature certificate of the first App in the received default file reading information, the verification result is a verification failure.
  • the verification When the verification is successful, it can be determined that the first App can read the index file MetaData of the second App by default. For example, S2105 is executed.
  • the second system middleware service reads the index file MetaData of the second App according to the received default file reading information.
  • the second system middleware service will read the index file MetaData of the second App by default.
  • the second system middleware service sends the index file MetaData to the first system middleware service.
  • the index file MetaData may also be placed in the system message.
  • the second system middleware service sends a system message to the first system middleware service, where the system message includes the index file MetaData.
  • the process of sending the index file MetaData from the second system middleware service to the first system middleware service may also refer to the foregoing embodiment shown in FIG. 13 , where the first system middleware service sends the second system middleware service The process of sending the index file MetaData by the service will not be repeated here.
  • the first system middleware service receives the index file MetaData.
  • the first system middleware service sends the index file MetaData to the first App.
  • the first system middleware service may send the index file MetaData to the first App.
  • the first App determines the storage path and storage name of the target service file in the second App according to the index file MetaData.
  • the first App can determine and determine the file list information in the second App, so that the specific target service file to be read can be determined according to the file list information in the second App, that is, determine output the storage path and storage name of the target service file in the second App.
  • the file list information can also be presented to the user through a display interface, and the user can select which target service file to read, which will not be described in detail with reference to the accompanying drawings.
  • the first terminal may send file query information (or referred to as default file reading information) to the second terminal in response to detecting a first input (ie, a click operation) of the first identification (ie, reading) by the user , the file query information includes the identifier of the second application, which is used by the second terminal to read the index file from the storage space of the second application without running the second application, and send it to the first terminal.
  • the index file is used to indicate file list information in the storage space of the second application.
  • the first terminal may receive the index file from the second terminal, and according to the index file, display the identifier of the file in the storage space of the second application on the first interface, and the identifier of the file in the storage space of the second application includes the first terminal.
  • the identification of the document (eg: target business document).
  • the first terminal may send the storage path and storage name of the first file in the storage space of the second application and the identifier of the second application to the second terminal in response to detecting the third input of the user's identification of the first file.
  • the third input of the identifier of the first file by the user is used to determine that the specific target service file to be read is the first file.
  • the first terminal may determine by default that the target service files are all files in the second App, or some preset files, which are not limited herein.
  • the first App After the first App determines the storage path and storage name of the target service file in the second App, it can read the corresponding target service file from the second App according to the embodiment shown in FIG. 18 .
  • the second system middleware service can support reading the index file MetaData of the second App by default. Therefore, the App of the first terminal can determine the target service file to be read according to the index file MetaData of the second App.
  • the system middleware service can be enabled to act as a proxy for file operations on the App of the terminal where it is located.
  • an App on a certain terminal such as the first App of the first terminal
  • an App on the opposite terminal such as the second App of the second terminal
  • the system middleware service on the opposite terminal can complete the sending operation or reading operation.
  • the system middleware service can provide an open API interface to the App on the terminal.
  • the App on the terminal does not need to pay attention to the specific technical implementation of file sending or receiving, and can also effectively reduce the development cost of the App.
  • files can be directly transmitted between different terminals without the need for other servers or cloud servers to transfer, which not only reduces the need for The possible problems of privacy and data security also reduce the delay of intermediate transmission and improve the transmission efficiency.
  • the system middleware service of the peer terminal when data transmission is performed between the App of different terminals (including initialization connection information, file sending information, file reading information, default file reading information, etc. transmission), the system middleware service of the peer terminal will perform legality verification according to the registration information of the app, and can also ensure the security of data transmission between the apps of different terminals.
  • the timing when the App of a certain terminal establishes an initial connection with the App of the opposite terminal may be: Selection based on user action.
  • the user may perform a touch operation on App1 of Terminal 1 to instruct to synchronize a certain file on App1 of Terminal 1 to App2 of Terminal 2.
  • the file synchronization process is performed according to the foregoing embodiment.
  • the timing when the App of a certain terminal establishes an initial connection with the App of the opposite terminal may also be the time when the system automatically choose.
  • the terminal 1 can automatically synchronize some data on the App1 to the App2 of the terminal 2 according to a preset period (eg, one day, one week, etc.), or when connecting with the terminal 2.
  • the present application does not limit the triggering conditions or timings of establishing an initial connection, sending a file, reading a file, and the like.
  • the following scenarios can be referred to.
  • the connection between the first APP and the second APP can be Establishing a connection, sending a file or reading a file according to a preset time interval, wherein the process of establishing a connection, sending a file or reading a file may refer to the steps and methods in the foregoing embodiments, which will not be repeated here.
  • the second APP can establish a connection with the first APP, send files or read files, wherein
  • For the process of establishing a connection, sending a file, or reading a file reference may be made to the steps and methods in the foregoing embodiments, which will not be repeated here.
  • FIG. 22 shows a schematic structural diagram of an apparatus.
  • the apparatus includes: a display module 2201 and a processing module 2202 .
  • the display module 2201 is used to display the first interface of the first application, and the first interface includes the identifier of the first file; the processing module 2202 is used to respond to the detection of the user's first input of the identifier of the first file, to the The second terminal sends the identifier of the second application and the first file, wherein the identifier of the second application and the first file are used to instruct the second terminal to store the first file in the second application without running the second application. storage.
  • the processing module 2202 may include a separate sending sub-module to implement the sending function.
  • the processing module 2202 is deployed with a first system middleware service, and the first system middleware service has the authority to send files on behalf of the first application; the processing module 2202 is specifically configured to use the first system middleware service, The identifier of the second application and the first file are sent to the second terminal.
  • the processing module 2202 is further configured to send initial connection information to the second terminal through the first system middleware service, where the initial connection information includes information of the first application; receive information from the second terminal according to the first application
  • the initialized connection result returned by the information for example, the processing module 2202 may include a separate receiving sub-module to implement the receiving function.
  • the processing module 2202 is further configured to send an initial connection request to the second terminal through the first system middleware service; and receive a confirmation message from the second terminal.
  • the processing module 2202 is further configured to send the target storage path of the first file in the storage space of the second application to the second terminal when sending the identifier of the second application and the first file to the second terminal and target store name.
  • the display module 2201 is further configured to display a second interface of the first application, where the second interface includes the identifier of the application corresponding to the first application, and the identifier of the application corresponding to the first application includes the second interface
  • the identification of the application; the processing module 2202 is further configured to, in response to detecting the second input of the identification of the second application by the user, register the authority of the first system middleware service to proxy the first application to send files in the first system middleware service,
  • the registration information of the first application is generated in the first system middleware service, and the registration information of the first application includes information of the second application.
  • the second application corresponds to the first application, including: the second application and the first application are the same application adapted to different terminal versions; and/or, the second application and the first application have Different applications of preconfigured correspondences.
  • the first interface includes a first identifier for realizing the function of reading the file; the processing module 2202 is configured to send a message to the second terminal in response to detecting the first input of the first identifier by the user
  • the storage path and storage name of the first file in the storage space of the second application, and the identifier of the second application wherein the storage path and storage name of the first file in the storage space of the second application, and the storage name of the second application
  • the identifier is used for the second terminal to read the first file from the storage space of the second application without running the second application, and send it to the first terminal; the processing module 2202 is further configured to receive the first file from the second terminal.
  • a file may include a separate receiving sub-module to implement the receiving function, and a separate sending sub-module to implement the transmitting function.
  • the processing module 2202 is deployed with a first system middleware service, and the first system middleware service has the authority to read files on behalf of the first application; the processing module 2202 sends the first file to the second terminal in the first system
  • the storage path and storage name in the storage space of the second application, and the identifier of the second application include: the processing module 2202 sends, through the first system middleware service, to the second terminal the storage space of the first file in the storage space of the second application The storage path and storage name, and the identifier of the second application.
  • the processing module 2202 is specifically configured to send file query information to the second terminal in response to detecting the first input of the first identifier by the user, where the file query information includes the identifier of the second application and is used for the first
  • the second terminal reads the index file from the storage space of the second application without running the second application, and sends it to the processing module 2202; the index file is used to indicate the file list information in the storage space of the second application; receiving The index file from the second terminal; according to the index file, the control display module 2201 displays the identification of the file in the storage space of the second application in the first interface, and the identification of the file in the storage space of the second application includes the first file.
  • Identification in response to detecting the third input of the user's identification of the first file, sending the storage path and storage name of the first file in the storage space of the second application, and the identification of the second application to the second terminal.
  • an embodiment of the present application further provides an apparatus that can be applied to the second terminal.
  • the apparatus may also include a display module, a processing module, and the like.
  • the apparatus applied to the first terminal shown in FIG. 22 which will not be repeated here.
  • units in the above apparatus is only a division of logical functions, and may be fully or partially integrated into a physical entity in actual implementation, or may be physically separated.
  • all the units in the device can be realized in the form of software calling through the processing element; also can all be realized in the form of hardware; some units can also be realized in the form of software calling through the processing element, and some units can be realized in the form of hardware.
  • each unit can be a separately established processing element, or can be integrated in a certain chip of the device to be implemented, and can also be stored in the memory in the form of a program, which can be called by a certain processing element of the device and execute the unit's processing. Function.
  • all or part of these units can be integrated together, and can also be implemented independently.
  • the processing element described here may also be called a processor, which may be an integrated circuit with signal processing capability.
  • each step of the above method or each of the above units may be implemented by an integrated logic circuit of hardware in the processor element or implemented in the form of software being invoked by the processing element.
  • the units in the above apparatus may be one or more integrated circuits configured to implement the above method, such as: one or more ASICs, or, one or more DSPs, or, one or more FPGAs, or a combination of at least two of these integrated circuit forms.
  • the processing element can be a general-purpose processor, such as a CPU or other processors that can invoke programs.
  • these units can be integrated together and implemented in the form of a system-on-a-chip (SOC).
  • the unit of the above apparatus for implementing each corresponding step in the above method may be implemented in the form of a processing element scheduler.
  • the apparatus may include a processing element and a storage element, and the processing element invokes a program stored in the storage element to execute the method described in the above method embodiments.
  • the storage element may be a storage element on the same chip as the processing element, ie, an on-chip storage element.
  • the program for performing the above method may be in a storage element on a different chip from the processing element, ie, an off-chip storage element.
  • the processing element calls or loads the program from the off-chip storage element to the on-chip storage element, so as to call and execute the methods described in the above method embodiments.
  • an embodiment of the present application may further provide an apparatus, such as an electronic device, which may include a processor, a memory for storing instructions executable by the processor.
  • the electronic device implements the method executed by the first terminal or the second terminal as described in the foregoing embodiments.
  • the electronic device may be the first terminal or the second terminal described in the foregoing embodiments.
  • the memory may be located within the electronic device or external to the electronic device.
  • the processor includes one or more.
  • the unit of the apparatus implementing each step in the above method may be configured as one or more processing elements, and these processing elements may be provided on the corresponding terminal with the voice control function, and the processing elements here may be For integrated circuits, for example: one or more ASICs, or, one or more DSPs, or, one or more FPGAs, or a combination of these types of integrated circuits. These integrated circuits can be integrated together to form chips.
  • an embodiment of the present application further provides a chip, and the chip can be applied to the above-mentioned first terminal or second terminal.
  • the chip includes one or more interface circuits and one or more processors; the interface circuit and the processor are interconnected by lines; the processor receives and executes computer instructions from the memory of the electronic device through the interface circuit, so as to realize the above method embodiments. The method executed by the first terminal or the second terminal.
  • Embodiments of the present application further provide a computer program product, including an electronic device, such as computer instructions run by the above-mentioned first terminal (eg, a mobile phone) or a second terminal (eg, a watch).
  • a computer program product including an electronic device, such as computer instructions run by the above-mentioned first terminal (eg, a mobile phone) or a second terminal (eg, a watch).
  • the disclosed apparatus and method may be implemented in other manners.
  • the device embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be Incorporation may either be integrated into another device, or some features may be omitted, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place, or may be distributed to multiple different places . Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a readable storage medium.
  • the software product is stored in a program product, such as a computer-readable storage medium, and includes several instructions to cause a device (which may be a single-chip microcomputer, a chip, etc.) or a processor (processor) to execute all of the methods described in the various embodiments of the present application. or part of the steps.
  • the aforementioned storage medium includes: a U disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk and other mediums that can store program codes.
  • the embodiments of the present application may further provide a computer-readable storage medium on which computer program instructions are stored.
  • the electronic device is made to implement the method executed by the first terminal or the second terminal as described in the foregoing method embodiments.
  • an embodiment of the present application further provides a data transmission system.
  • the system architecture of the data transmission system may be as shown in the aforementioned FIG. 3 , including at least a first terminal and a second terminal; Two terminals are connected, the first terminal includes a first application, and the second terminal includes a second application corresponding to the first application; the first terminal and the second terminal cooperate to implement the methods described in the foregoing embodiments.
  • the data transmission system may further include more terminals, such as: a third terminal, a fourth terminal, etc.
  • terminals such as: a third terminal, a fourth terminal, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种数据传输方法、系统、电子设备及存储介质,涉及电子设备领域。该方法应用于第一终端,第一终端与第二终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用。该方法包括:第一终端显示第一应用的第一界面,第一界面中包括第一文件的标识。响应于检测到用户对第一文件的标识的第一输入,第一终端向第二终端发送第二应用的标识和第一文件。第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。第一终端传输第一文件到第二终端时,第二终端可以在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间,能够减少用户对第二应用的操作。

Description

数据传输方法、系统、电子设备及存储介质
本申请要求于2020年09月22日提交国家知识产权局、申请号为202011004922.1、申请名称为“数据传输方法、系统、电子设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及电子设备领域,尤其涉及一种数据传输方法、系统、电子设备及存储介质。
背景技术
用户通常有多个终端,例如:手机,手表,平板(pad)等。每个终端都可以安装应用程序(application,App),如:运动App、音频App等。一些基本主流的App在不同终端上都可以进行安装。前述不同终端上的App之间经常有通信或交互数据的需求。
以终端A的App向终端B的App发送文件P为例,目前针对不同终端上的App之间交互数据的场景,主要有以下两种数据传输方案。第一种数据传输方案中,用户可以通过终端A将文件P先上传至服务器。然后,用户可以通过终端B将文件P从服务器中下载至终端B的App中。第二种数据传输方案中,终端A的App和终端B的App可以为基于点对点技术的即时通讯软件。终端A的App和终端B的App之间可以通过网络进行通信。用户可以先通过终端A的App将文件P上传至云服务器侧。然后,云服务器侧可以推送文件P至终端B的App。用户可以打开终端B的App,以查看和接收文件P。
上述目前针对不同终端上的App之间交互数据的场景的数据传输方案中,当终端A的App向终端B中的App传输数据时,终端A的App和终端B中的App都需要运行。对于很多终端而言,其运行的操作系统对App后台运行的限制较为严格,App一般无法被终端的操作系统自动拉起运行。所以,终端A的App和终端B中的App都进行运行,是需要用户分别在终端A和终端B上都进行操作才能实现的。这导致不同终端上的App之间交互数据时,数据传输过程操作复杂、耗时长,影响了用户使用终端A的App向终端B的App发送数据过程中的使用体验。
发明内容
本申请实施例提供一种数据传输方法、系统、电子设备及存储介质,可以适用于不同终端上的App之间交互数据的场景,简化数据传输过程,减少数据传输的消耗时长,提高用户的使用体验。
第一方面,本申请实施例提供一种数据传输方法,应用于第一终端,第一终端与第二终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用;所述方法包括:第一终端显示第一应用的第一界面,第一界面中包括第一文件的标识;响应于检测到用户对第一文件的标识的第一输入,第一终端向第二终端发送第二应用的标识和第一文件,其中,第二应用的标识和第一文件用于指示第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。
该方法中,第一终端的第一应用传输第一文件到第二终端的第二应用时,第二终端可以在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间,能够减少用户对第二应用的操作,简化了第一应用和第二应用之间的数据传输过程,并可以减少数据传输的消耗时长,能够提高用户体验。
在一种可能的设计中,第一终端部署有第一系统中间件服务,第一系统中间件服务具有代理第一应用发送文件的权限;第一终端向第二终端发送第二应用的标识和第一文件,包括:第一终端通过第一系统中间件服务,向第二终端发送第二应用的标识和第一文件。
在一种可能的设计中,第一终端通过第一系统中间件服务,向第二终端发送第二应用的标识和第一文件之前,所述方法还包括:第一终端通过第一系统中间件服务,向第二终端发送初始化连接信息,初始化连接信息包括第一应用的信息;第一终端接收来自第二终端根据第一应用的信息返回的初始化连接结果。
例如,初始化连接结果包括:初始化成功或初始化失败。
本设计中,当初始化连接结果为初始化连接成功时,第一终端向第二终端发送第二应用的标识和第一文件。
在一种可能的设计中,第一终端通过第一系统中间件服务,向第二终端发送初始化连接信息之前,所述方法还包括:第一终端通过第一系统中间件服务,向第二终端发送初始化连接请求;第一终端接收来自第二终端的确认消息。
本设计中,第一终端和终端可以在建立初始化连接之前,实现一个握手连接的过程,提高初始化连接的成功概率。
在一种可能的设计中,所述方法还包括:第一终端向第二终端发送第二应用的标识和第一文件时,向第二终端发送第一文件在第二应用的存储空间中的目标存储路径和目标存储名称。
本设计中,第二终端在存储第一文件时,可以根据第一终端指示的目标存储路径和目标存储名称进行存储。
在一种可能的设计中,所述方法还包括:第一终端显示第一应用的第二界面,第二界面中包括与第一应用对应的应用的标识,与第一应用对应的应用的标识包括第二应用的标识;响应于检测到用户对第二应用的标识的第二输入,第一终端在第一系统中间件服务中注册第一系统中间件服务代理第一应用发送文件的权限,在第一系统中间件服务中生成第一应用的注册信息,第一应用的注册信息包括第二应用的信息。
在一种可能的设计中,第二应用与第一应用对应,包括:第二应用和第一应用是适配于不同终端版本的同一应用;和/或,第二应用和第一应用是具有预配置的对应关系的不同应用。
例如,假设第一应用为M1,则第一应用可以是手机版M1,第二应用可以是手表版M1。或者,第一应用为M2,第二应用也可以为M3,M2和M3具有预配置的对应关系。
第二方面,本申请实施例提供一种装置,该装置可以应用于具有上述第一方面中所述的第一终端,用于实现上述第一方面所述的应用于第一终端的方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元,例如,显示模块、处理模块等。
其中,显示模块用于显示第一应用的第一界面,第一界面中包括第一文件的标识;处理模块用于响应于检测到用户对第一文件的标识的第一输入,向第二终端发送第二应用的标识和第一文件,其中,第二应用的标识和第一文件用于指示第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。例如,处理模块中可以包括一个单独的发送子模块,实现发送功能。
在一种可能的设计中,处理模块部署有第一系统中间件服务,第一系统中间件服务 具有代理第一应用发送文件的权限;处理模块具体用于通过第一系统中间件服务,向第二终端发送第二应用的标识和第一文件。
在一种可能的设计中,处理模块还用于通过第一系统中间件服务,向第二终端发送初始化连接信息,初始化连接信息包括第一应用的信息;接收来自第二终端根据第一应用的信息返回的初始化连接结果,例如,处理模块中可以包括一个单独的接收子模块,实现接收功能。
在一种可能的设计中,处理模块还用于通过第一系统中间件服务,向第二终端发送初始化连接请求;接收来自第二终端的确认消息。
在一种可能的设计中,处理模块还用于向第二终端发送第二应用的标识和第一文件时,向第二终端发送第一文件在第二应用的存储空间中的目标存储路径和目标存储名称。
在一种可能的设计中,显示模块还用于显示第一应用的第二界面,第二界面中包括与第一应用对应的应用的标识,与第一应用对应的应用的标识包括第二应用的标识;处理模块还用于响应于检测到用户对第二应用的标识的第二输入,在第一系统中间件服务中注册第一系统中间件服务代理第一应用发送文件的权限,在第一系统中间件服务中生成第一应用的注册信息,第一应用的注册信息包括第二应用的信息。
在一种可能的设计中,第二应用与第一应用对应,包括:第二应用和第一应用是适配于不同终端版本的同一应用;和/或,第二应用和第一应用是具有预配置的对应关系的不同应用。
第三方面,本申请实施例提供一种电子设备,该电子设备可以是上述第一终端。该电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第一方面所述的方法。
上述第二方面至第四方面所具备的有益效果,可参考第一方面中所述,在此不再赘述。
第五方面,本申请实施例提供一种与第一方面相对应的数据传输方法,应用于第二终端,第二终端与第一终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用。所述方法包括:第二终端接收来自第一终端的第二应用的标识和第一文件;第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。
在一种可能的设计中,第二终端部署有第二系统中间件服务,第二系统中间件服务具有代理第二应用接收文件的权限;第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间,包括:第二终端通过第二系统中间件服务,在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。
在一种可能的设计中,所述方法还包括:第二终端显示第二应用的第三界面,第三界面中包括与第二应用对应的应用的标识,与第二应用对应的应用的标识包括第一应用的标识;响应于检测到用户对第一应用的标识的第三输入,第二终端在第二系统中间件服务中注册第二系统中间件服务代理第二应用接收文件的权限,生成第二应用的注册信息,第二应用的注册信息包括第一应用的信息。
在一种可能的设计中,所述方法还包括:第二终端接收来自第一终端的初始化连接信息,初始化连接信息包括第一应用的信息;第二终端通过第二系统中间件服务,校验 初始化连接信息包括的第一应用的信息与第二应用的注册信息包括的第一应用的信息是否一致,得到校验结果;第二终端根据校验结果,向第一终端返回初始化连接结果。
例如,初始化连接结果包括:初始化成功或初始化失败。
在一种可能的设计中,所述方法还包括:第二终端接收来自第一终端的初始化连接请求;第二终端向所述第一终端返回确认消息。
在一种可能的设计中,所述方法还包括:第二终端接收来自第一终端的第一文件在第二应用的存储空间中的目标存储路径和目标存储名称;第二终端通过第二系统中间件服务,在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间,包括:第二终端根据目标存储路径和目标存储名称,通过第二系统中间件服务,在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。
在一种可能的设计中,第二应用与第一应用对应,包括:第二应用和第一应用是适配于不同终端版本的同一应用;和/或,第二应用和第一应用是具有预配置的对应关系的不同应用。
上述第五方面所述的方法,对应于上述第一方面所述的方法,因此,第五方面所具备的有益效果,可参考第一方面中所述,在此不再赘述。
第六方面,本申请实施例提供一种装置,该装置可以应用于具有上述第五方面中所述的第二终端,用于实现上述第五方面所述的应用于第二终端的方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元,例如,显示模块、处理模块等,具体可以参考上述应用于第一终端的装置,在此不再一一赘述。
第七方面,本申请实施例提供一种电子设备,该电子设备可以是上述第二终端。该电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第五方面所述的方法。
第八方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第五方面所述的方法。
上述第六方面至第八方面所具备的有益效果,可参考第五方面中所述,在此不再赘述。
第九方面,本申请实施例还提供一种数据传输方法,应用于第一终端,第一终端与第二终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用;所述方法包括:第一终端显示第一应用的第一界面,第一界面中包括用于实现文件读取的功能的第一标识;响应于检测到用户对第一标识的第一输入,第一终端向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,其中,第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取第一文件,并发送给第一终端;第一终端接收来自第二终端的第一文件。
该方法中,第一终端的第一应用可以向第二终端发起读取第一文件的请求,第二终端可以在不运行第二应用的情况下,从第二应用的存储空间中读取第一文件,并发送给第一终端,同样能够减少用户对第二应用的操作,简化了第一应用和第二应用之间的数据传输过程,并可以减少数据传输的消耗时长,能够提高用户体验。
在一种可能的设计中,第一终端部署有第一系统中间件服务,第一系统中间件服务 具有代理第一应用读取文件的权限;第一终端向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,包括:第一终端通过第一系统中间件服务,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
在一种可能的设计中,所述方法还包括:第一终端显示第一应用的第二界面,第二界面中包括与第一应用对应的应用的标识,与第一应用对应的应用的标识包括第二应用的标识;响应于检测到用户对第二应用的标识的第二输入,第一终端在第一系统中间件服务中注册第一系统中间件服务代理第一应用读取文件的权限,生成第一应用的注册信息,第一应用的注册信息包括第二应用的信息。
在一种可能的设计中,第一终端通过第一系统中间件服务,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识之前,所述方法还包括:第一终端通过第一系统中间件服务,向第二终端发送初始化连接信息,初始化连接信息包括第一应用的信息;第一终端接收来自第二终端根据第一应用的信息返回的初始化连接结果。
例如,初始化连接结果包括:初始化成功或初始化失败。
本设计中,当初始化连接结果为初始化连接成功时,第一终端向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
在一种可能的设计中,第一终端通过第一系统中间件服务,向第二终端发送初始化连接信息之前,所述方法还包括:第一终端通过第一系统中间件服务,向第二终端发送初始化连接请求;第一终端接收来自第二终端的确认消息。
在一种可能的设计中,响应于检测到用户对第一标识的第一输入,第一终端向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,包括:响应于检测到用户对第一标识的第一输入,第一终端向第二终端发送文件查询信息,文件查询信息包括第二应用的标识,用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取索引文件,并发送给第一终端;索引文件用于指示第二应用的存储空间中的文件清单信息;第一终端接收来自第二终端的索引文件;第一终端根据索引文件,在第一界面中显示第二应用的存储空间中的文件的标识,第二应用的存储空间中的文件的标识包括第一文件的标识;响应于检测到用户对第一文件的标识的第三输入,第一终端向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
第十方面,本申请实施例提供一种装置,该装置可以应用于具有上述第九方面中所述的第一终端,用于实现上述第一方面所述的应用于第一终端的方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元,例如,显示模块、处理模块等。
其中,显示模块用于显示第一应用的第一界面,第一界面中包括用于实现文件读取的功能的第一标识;处理模块用于响应于检测到用户对第一标识的第一输入,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,其中,第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取第一文件,并发送给第一终端;处理模块还用于接收来自第二终端的第一文件。例如,处理模块可以包括一个单独的接收子模块,实现接收功能,以及包括一个单独的发送子模块,实现发 送功能。
在一种可能的设计中,处理模块部署有第一系统中间件服务,第一系统中间件服务具有代理第一应用读取文件的权限;处理模块向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,包括:处理模块通过第一系统中间件服务,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
在一种可能的设计中,显示模块还用于显示第一应用的第二界面,第二界面中包括与第一应用对应的应用的标识,与第一应用对应的应用的标识包括第二应用的标识;处理模块还用于响应于检测到用户对第二应用的标识的第二输入,在第一系统中间件服务中注册第一系统中间件服务代理第一应用读取文件的权限,生成第一应用的注册信息,第一应用的注册信息包括第二应用的信息。
在一种可能的设计中,处理模块还用于通过第一系统中间件服务,向第二终端发送初始化连接信息,初始化连接信息包括第一应用的信息;接收来自第二终端根据第一应用的信息返回的初始化连接结果。
在一种可能的设计中,处理模块还用于通过第一系统中间件服务,向第二终端发送初始化连接请求;接收来自第二终端的确认消息。
在一种可能的设计中,处理模块具体用于响应于检测到用户对第一标识的第一输入,向第二终端发送文件查询信息,文件查询信息包括第二应用的标识,用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取索引文件,并发送给处理模块;索引文件用于指示第二应用的存储空间中的文件清单信息;接收来自第二终端的索引文件;根据索引文件,控制显示模块在第一界面中显示第二应用的存储空间中的文件的标识,第二应用的存储空间中的文件的标识包括第一文件的标识;响应于检测到用户对第一文件的标识的第三输入,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
第十一方面,本申请实施例提供一种电子设备,该电子设备可以是上述第一终端。该电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第九方面所述的方法。
第十二方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第九方面所述的方法。
上述第十方面至第十二方面所具备的有益效果,可参考第九方面中所述,在此不再赘述。
第十三方面,本申请实施例提供一种与第九方面相对应的数据传输方法,应用于第二终端,第二终端与第一终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用。所述方法包括:第二终端接收来自第一终端的第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识;第二终端在不运行第二应用的情况下,根据第一文件在第二应用的存储空间中的存储路径和存储名称,从第二应用的存储空间中读取第一文件,并向第一终端发送第一文件。
在一种可能的设计中,第二终端部署有第二系统中间件服务,第二系统中间件服务具有代理第二应用读取文件的权限;第二终端在不运行第二应用的情况下,根据第一文件在第二应用的存储空间中的存储路径和存储名称,从第二应用的存储空间中读取第一 文件,并向第一终端发送第一文件,包括:第二终端通过第二系统中间件服务,在不运行第二应用的情况下,根据第一文件在第二应用的存储空间中的存储路径和存储名称,从第二应用的存储空间中读取第一文件,并向第一终端发送第一文件。
在一种可能的设计中,所述方法还包括:第二终端显示第二应用的第三界面,第三界面中包括与第二应用对应的应用的标识,与第二应用对应的应用的标识包括第一应用的标识;响应于检测到用户对第一应用的标识的第三输入,第二终端在第二系统中间件服务中注册第二系统中间件服务代理第二应用读取文件的权限,生成第二应用的注册信息,第二应用的注册信息包括第一应用的信息。
在一种可能的设计中,所述方法还包括:第二终端接收来自第一终端的初始化连接信息,初始化连接信息包括第一应用的信息;第二终端通过第二系统中间件服务,校验初始化连接信息包括的第一应用的信息与第二应用的注册信息包括的第一应用的信息是否一致,得到校验结果;第二终端根据所述校验结果,向第一终端返回初始化连接结果。
例如,初始化连接结果包括:初始化成功或初始化失败。
在一种可能的设计中,所述方法还包括:第二终端接收来自第一终端的初始化连接请求;第二终端向第一终端返回确认消息。
在一种可能的设计中,所述方法还包括:第二终端接收来自第一终端的文件查询信息,文件查询信息包括第二应用的标识;第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取索引文件,索引文件用于指示第二应用的存储空间中的文件清单信息;第二终端向第一终端发送索引文件。
上述第十三方面所述的方法,对应于上述第九方面所述的方法,因此,第十三方面所具备的有益效果,可参考第九方面中所述,在此不再赘述。
第十四方面,本申请实施例提供一种装置,该装置可以应用于具有上述第十三方面中所述的第二终端,用于实现上述第十三方面所述的应用于第二终端的方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元,例如,显示模块、处理模块等,具体可以参考上述应用于第一终端的装置,在此不再一一赘述。
第十五方面,本申请实施例提供一种电子设备,该电子设备可以是上述第二终端。该电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第十三方面所述的方法。
第十六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第十三方面所述的方法。
上述第十四方面至第十六方面所具备的有益效果,可参考第十三方面中所述,在此不再赘述。
第十七方面,本申请实施例提供一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,使得电子设备实现前述第一方面、第五方面、第九方面、以及第十三方面中的任一方面所述的方法。
第十八方面,本申请实施例提供一种数据传输系统,至少包括第一终端和第二终端;第一终端与第二终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用;第一终端和第二终端配合实现前述第一方面、第五方面、第九方面、以及第十三方面中的任一方面所述的方法。
可选地,该数据传输系统中还可以包括更多的终端,如:第三终端、第四终端等,任意两个终端的应用之间进行交互数据时,均可以参照前述第一终端和第二终端的应用之间交互数据的方式。
上述第十七方面至第十八方面所具备的有益效果,可参考前述第一方面、第五方面、第九方面、以及第十三方面中所述,在此不再赘述。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
图1示出了不同终端上的App之间交互数据的一种示意图;
图2示出了不同终端上的App之间交互数据的另一种示意图;
图3示出了本申请实施例提供的一种系统架构示意图;
图4示出了本申请实施例提供的一种终端设备的结构示意图;
图5示出了本申请实施例提供的一种终端的软件架构示意图;
图6示出了一种App的安装完成界面示意图;
图7示出了本申请实施例中第一App和第二App建立初始化连接的流程示意图;
图8示出了一种第一App的显示界面示意图;
图9示出了另一种第一App的显示界面示意图;
图10示出了又一种第一App的显示界面示意图;
图11示出了又一种第一App的显示界面示意图;
图12示出了又一种第一App的显示界面示意图;
图13示出了本申请实施例中第一App向第二App发送文件的流程示意图;
图14示出了又一种第一App的显示界面示意图;
图15示出了又一种第一App的显示界面示意图;
图16示出了又一种第一App的显示界面示意图;
图17示出了又一种第一App的显示界面示意图;
图18示出了本申请实施例中第一App从第二App读取文件的流程示意图;
图19示出了又一种第一App的显示界面示意图;
图20示出了又一种第一App的显示界面示意图;
图21示出了本申请实施例中第一App确定目标业务文件的流程示意图;
图22示出了一种装置的结构示意图。
具体实施方式
用户通常有多个终端,例如:手机,手表,平板(pad)等。每个终端都可以安装应用程序(application,App),如:运动App、音频App等。一些基本主流的App在不同终端上都可以进行安装。
不同终端上的App之间经常有通信或交互数据的需求。例如,用户在手机上安装了运动App,手表上也安装了运动App。当用户佩戴了手表,在打开手表上的运动App的情况下进行户外运动时,手表上的运动App会记录运动数据并存储。运动结束之后,用户可能需要把手表上运动App记录的运动数据同步到手机上的运动App中。
又例如,手机上安装了音频App,手表上也安装了音频App。当用户想使用手表的音频App进行独立音乐播放时,可能需要先打开手机的音频App,将需要播放的音频文件传输到手表上,以便通过手表的音频App进行音乐播放。
目前,针对上述不同终端上的App之间交互数据的场景,主要有以下两种数据传输方案。
图1示出了不同终端上的App之间交互数据的一种示意图。如图1所示,以终端A的App向终端B中的App传输文件P为例。第一种数据传输方案中,用户可以通过终端A将文件P先上传至服务器。如:可以基于文件传输协议(file transfer protocol,FTP)、邮件(email)等相关技术,通过终端A的App将文件P上传至服务器。然后,用户可以通过终端B将文件P从服务器中下载至终端B的App中,从而实现终端A的App向终端B中的App传输文件P。
图2示出了不同终端上的App之间交互数据的另一种示意图。如图2所示,同样以终端A的App向终端B中的App传输文件P为例。第二种数据传输方案中,终端A的App和终端B的App可以为基于点对点技术的即时通讯软件。终端A的App和终端B的App之间可以通过网络进行通信。用户可以先通过终端A的App将文件P上传至云服务器侧。然后,云服务器侧可以推送文件P至终端B的App。用户可以打开终端B的App,以查看和接收文件P。
可以看到,目前针对不同终端上的App之间交互数据的场景的数据传输方案中,当终端A的App向终端B中的App传输数据时,终端A的App和终端B中的App都需要运行。对于很多终端而言,其运行的操作系统对App后台运行的限制较为严格,App一般无法被终端的操作系统自动拉起运行。所以,终端A的App和终端B中的App都进行运行,是需要用户分别在终端A和终端B上都进行操作才能实现的。这导致不同终端上的App之间交互数据时,数据传输过程操作复杂、耗时长,影响了用户使用终端A的App向终端B的App发送数据过程中的使用体验。
另外,对于第一种数据传输方案而言,文件P经过服务器并被保存在服务器,可能还会存在隐私、数据安全等问题。对于第二种数据传输方案而言,即时通讯软件必须支持账号多点登录,如:可以同时登录电脑和手机,或者,用户必须注册两个账号分别登录到终端A的App和终端B的App。
另外,上述目前针对不同终端上的App之间交互数据的场景的数据传输方案,均只能够适用于不同终端上的同一种App之间交互数据。例如,前述提到的手机的运动App和手表的运动App之间交互数据,手机的音频App和手表的音频App之间交互数据等。而对于不同终端上的不同App之间需要交互数据的场景,目前的数据传输方案并不能够满足。例如,若手表上安装了2个视频App:M1和M2,手机上也安装了2个视频App:M1和M2,则目前的数据传输方案只能够满足手机上的M1和手表上的M1之间进行交互数据,以及手机上的M2和手表上的M2之间进行交互数据,并不能够满足手机上的M1和手表上的M2之间进行交互数据,以及手机上的M2和手表上的M1之间进行交互数据。
在此背景技术下,本申请实施例提供了一种数据传输方法,该方法可以应用于不同终端的App之间进行数据传输的场景中。例如,可以应用于多个协同使用的终端中,任意两个终端的App之间进行数据传输的场景。该方法中,每个终端具有代理该终端的App的文件操作的功能。App的文件操作是指:App发送文件、App接收文件、App存储文件等。也即,本申请实施例中,每个终端具有代理该终端的App进行发送文件、接收文件、存储文件等的功能。
当某个终端的App需要向对端终端的App发送文件时,该终端所具备的代理App的文件操作的功能,能够代理该终端的App向对端终端发送文件。对端终端所具备的代理App的文件操作的功能,能够代理对端终端的App接收该文件,并存储在对端终端的App的存储空间中,如:存储到对端终端的App的数据目录下。由于对端终端所具备的代理App的文件操作的功能,代理了对端终端的App接收该文件,所以,对端终端的App无需打开。
以终端1的App1与终端2的App2交互数据为例,终端1具有代理App1向终端2的App2发送文件的功能,终端2具有代理App2接收来自终端1的文件的功能,如:可以代理App2接收文件,并将接收到的文件存储至App2的数据目录下。另外,终端2也具有代理App2向终端1的App1发送文件的功能,终端1也具有代理App1接收来自终端2的文件的功能,如:可以代理App1接收文件,并将接收到的文件存储至App1的数据目录下。该示例中,当终端1的App1向终端2的App2发送文件时,APP2无需打开。当终端2的App2向终端1的App1发送文件时,APP1无需打开。
在一种可能的设计中,上述提到的终端所具有的代理该终端的App的文件操作的功能,可以通过在该终端上部署一个系统中间件服务来实现。例如,每个终端上可以部署有系统中间件服务,该系统中间件服务用于实现该终端代理App的文件操作的功能。也即,每个终端上的系统中间件服务可以代理该终端的App的文件操作。
以终端1部署有系统中间件服务1,终端2部署有系统中间件服务2为例,当终端1的App和终端2的App之间文件传输时,终端1可以在终端1的App未打开的情况下,通过系统中间件服务1,接收终端2通过系统中间件服务2发送的终端2的App的文件,并存储到终端1的App中。终端1也可以在终端1的App未打开的情况下,读取终端1的App的文件,并通过系统中间件服务1发送给终端2,终端2可以通过系统中间件服务2接收该文件,并存储到终端2的App中。
另外,本申请实施例提供的该数据传输方法并不限定跨终端的App进行文件传输中,两个终端之间进行数据传输的App是否是同一种App。也即,该数据传输方法既适用于不同终端上的同一种App之间交互数据,也适用于不同终端上的不同App之间交互数据。
以下结合附图对本申请实施例提供的数据传输方法进行示例性说明。
需要说明的是,在本申请的描述中,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样仅仅是为了区分描述,并不用于对某个特征的特别限定,即第一或者第二可以包括更多的内容,而不是限定是某一具体的概念。“和/或”用于描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请实施例中“至少一个”是指一个或者多个,多个是指两个或两个以上。除非另有定义,本文所使用的所有的技术和科学术语与属于本申请中的技术领域的技术人员通常理解的含义相同。本申请的说明书中所使用的术语只 是为了描述具体的实施例的目的,不是旨在于限制本发明申请。
另外,本申请在下述实施例中,虽然是以通过在终端上部署一个系统中间件服务,来实现该终端代理该终端的App的文件操作的功能进行描述的。但是应当理解,在其他实施例中,该终端代理该终端的App的文件操作的功能,也可以通过其他服务或某个应用实现,本申请对此并不作限制。
本申请实施例提供一种可以应用上述数据传输方法的系统架构,图3示出了本申请实施例提供的一种系统架构示意图。如图3所示,该系统架构至少可以包括:第一终端301和第二终端302。其中,第一终端301和第二终端302可通过有线或无线的方式建立连接。
可选地,第一终端301和第二终端302采用无线方式建立连接时采用的无线通信协议可以为无线保真(wireless fidelity,Wi-Fi)协议、蓝牙(bluetooth)协议、ZigBee协议、近距离无线通信(near field communication,NFC)协议,各种蜂窝网协议等,在此不作具体限制。
在具体实现时,上述第一终端301和/或第二终端302,可以为手机,平板电脑,手持计算机,PC,蜂窝电话,个人数字助理(personal digital assistant,PDA),可穿戴式设备(如:智能手表、智能手环),智能家居设备(如:电视机),车机(如:车载电脑),智慧屏,游戏机,耳机,人工智能(artificial intelligence,AI)音箱、以及增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备等,本实施例对第一终端301和第二终端302的具体设备形态不作特殊限制。
可选地,在一些实施例中,第一终端301和第二终端302的设备形态可以相同。例如,第一终端301和第二终端302均为手机。
或者,另外一些实施例中,第一终端301和第二终端302的设备形态也可以不同。例如,第一终端301可以手机,第二终端302可以为手表。
上述第一终端301和第二终端302可以是触屏设备,也可以是非触屏设备。在本申请本实施例中,第一终端301和第二终端302均是可以运行操作系统,安装App的终端。
可选地,上述第一终端301和第二终端302还可以具有显示器(或者说显示屏)。
可选地,第一终端301和/或第二终端302的操作系统,可以是安卓TM(android)系统、iosTM系统、windowsTM系统、macTM系统、linuxTM系统等。更具体的,还可以小米TM系统、EMUITM系统、Android WearTM系统、Lite OSTM、TizenTM系统、watch osTM系统等。
一些实施例中,第一终端301和第二终端302的操作系统可以相同。另外一些实施例中,第一终端301和第二终端302的操作系统也可以不同。对第一终端301和/或第二终端302的操作系统,本申请实施例在此不作具体限制。
作为一种示例,第一终端301,第二终端302分别可以包括存储器,处理器和显示器。其中,存储器可以用于存储操作系统,处理器可以用于运行存储器中存储的操作系统。显示器可以用于显示各种用户界面(user interface,UI),如对应终端上安装的App的应用界面、以及操作系统的用户交互界面。
以(如:上述第一终端301、第二终端302)为手机为例,图4示出了本申请实施例提供的一种终端设备的结构示意图。也即,示例性的,图4所示的终端设备可以是手机。
如图4所示,手机可以包括处理器410,外部存储器接口420,内部存储器421,通用串行总线(universal serial bus,USB)接口430,充电管理模块440,电源管理模块441, 电池442,天线1,天线2,无线通信模块460,音频模块470,扬声器470A,受话器470B,麦克风470C,耳机接口470D,传感器模块480,按键490,马达491,指示器492,摄像头493以及显示屏494等。
可选地,手机还可以包括移动通信模块450,用户标识模块(subscriber identification module,SIM)卡接口495等。
其中,传感器模块480可以包括压力传感器480A,陀螺仪传感器480B,气压传感器480C,磁传感器480D,加速度传感器480E,距离传感器480F,接近光传感器480G,指纹传感器480H,温度传感器480J,触摸传感器480K,环境光传感器480L,骨传导传感器480M等。
可以理解的是,图4所示的结构并不构成对手机的具体限定。在一些实施例中,手机也可以包括比图4所示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置等。又或者,图4所示的一些部件可以以硬件,软件或软件和硬件的组合实现。
处理器410可以包括一个或多个处理单元,例如:处理器410可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以是手机的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器410中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器410中的存储器为高速缓冲存储器。该存储器可以保存处理器410刚用过或循环使用的指令或数据。如果处理器410需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器410的等待时间,因而提高了系统的效率。
在一些实施例中,处理器410可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,SIM接口,和/或USB接口等。
充电管理模块440用于从充电器接收充电输入。充电管理模块440为电池442充电的同时,还可以通过电源管理模块441为手机供电。电源管理模块441用于连接电池442,充电管理模块440,以及处理器410。电源管理模块441也可接收电池442的输入为手机供电。
手机的无线通信功能可以通过天线1,天线2,移动通信模块450,无线通信模块460,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
当手机包括移动通信模块450时,移动通信模块450可以提供应用在手机上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块450可以包括至少一个滤波器,开 关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块450可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块450还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块450的至少部分功能模块可以被设置于处理器410中。在一些实施例中,移动通信模块450的至少部分功能模块可以与处理器410的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器470A,受话器470B等)输出声音信号,或通过显示屏494显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器410,与移动通信模块450或其他功能模块设置在同一个器件中。
无线通信模块460可以提供应用在手机上的包括无线局域网(wireless local area networks,WLAN)(如Wi-Fi网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块460可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块460经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器410。无线通信模块460还可以从处理器410接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,手机的天线1和移动通信模块450耦合,天线2和无线通信模块460耦合,使得手机可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
手机通过GPU,显示屏494,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏494和应用处理器。处理器410可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏494用于显示图像,视频等。显示屏494包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,手机可以包括1个或N个显示屏494,N为大于1的正整数。
手机可以通过ISP,摄像头493,视频编解码器,GPU,显示屏494以及应用处理器 等实现拍摄功能。在一些实施例中,手机可以包括1个或N个摄像头493,N为大于1的正整数。
外部存储器接口420可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机的存储能力。外部存储卡通过外部存储器接口420与处理器410通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器421可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器410通过运行存储在内部存储器421的指令,从而执行手机的各种功能应用以及数据处理。内部存储器421可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器421可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
手机可以通过音频模块470,扬声器470A,受话器470B,麦克风470C,耳机接口470D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
当然,可以理解的,上述图4所示仅仅为终端的设备形态为手机时的示例性说明。若终端是平板电脑,手持计算机,PC,PDA,可穿戴式设备(如:智能手表、智能手环),智能家居设备(如:电视机),车机(如:车载电脑),智慧屏,游戏机,耳机,AI音箱、以及AR/VR设备等其他设备形态时,终端的结构中可以包括比图4中所示更少的结构,也可以包括比图4中所示更多的结构,在此不作限制。
本申请实施例中,图3中所示的第一终端301和第二终端302中分别部署有系统中间件服务,如:第一终端301部署有第一系统中间件服务,第二终端302中部署有第二系统中间件服务。第一终端301安装有一个或多个App,第二终端302安装有一个或多个App。
系统中间件服务的部署可以参考图5所示,图5示出了本申请实施例提供的一种终端的软件架构示意图。如图5所示,终端(如:上述第一终端301和/或第二终端302)的软件架构可以包括:系统层和应用层。本申请实施例中,终端上的各个App部署于应用层,系统中间件服务部署于系统层。例如,第一系统中间件服务部署于第一终端的系统层,第二系统中间件服务部署于第二终端的系统层。
在一些实施例中,终端上的App可以包括计算器,相册,短信息,音乐播放器,文件管理器,图库,浏览器,备忘录,新闻,视频播放器,邮件等。这些应用可以是终端的系统应用,也可以是第三方应用,本申请实施例在此不做具体限制。
需要说明的是,本实施例示意的软件架构并不构成对第一终端301和第二终端302的具体限定。在另一些实施例中,第一终端301和/或第二终端302可以包括比图示更多或更少的层,本实施例在此并不做具体限制。
结合上述图3所示的系统架构,以及上述图5所示的终端的软件架构,在本申请实施例中,当第一终端301的App需要向第二终端302的App发送某个文件时,第一终端301的App可以通过第一系统中间件服务,将文件发送给第二终端302的第二系统中间件服务。第二终端302的第二系统中间件服务可以将接收到的该文件存储至第二终端302的App中。该过程中,是由第二系统中间件服务代理第二终端302的App的文件操作,所以,第二终端302的App无需打开。
或者,当第一终端301的App需要从第二终端302的App中读取某个文件时,第一终端301的App可以通过第一系统中间件服务,向第二终端302的第二系统中间件服务发送该文件的文件获取请求。第二终端302的第二系统中间件服务可以根据该文件获取请求,获取对应的文件并返回给第一终端301的第一系统中间件服务。第一终端301的第一系统中间件服务可以将接收到的该文件存储至第一终端301上的App中。该过程中,也是由第二系统中间件服务代理第二终端302的App的文件操作,所以,第二终端302的App也无需打开。
另外,由于第一终端301的App和第二终端302的App之间交互数据时,是由各自对应的系统中间件服务代理文件操作,所以,无需限定第一终端301的App和第二终端302的App为同一种App。
以下结合下述其他附图,以第一终端的App和第二终端的App之间,基于第一系统中间件服务和第二系统中间件服务交互数据为例,对该数据传输方法的具体实现进行详细介绍。
需要说明的是,本申请实施例中,虽然是以第一终端的App和第二终端的App之间交互数据为例进行说明的。但是,应当理解,对于更多个终端相连的场景,其中任意两个终端的App之间交互数据,均能够使用本申请实施例提供的数据传输方法。换言之,上述图3所示的系统架构中,还可以包括除第一终端和第二终端之外的更多数量的终端,如:1个、2个、8个等,且这些终端中任意两个终端的App之间交互数据时,均是以类似于第一终端的App和第二终端的App之间交互数据的方式进行的。本申请对系统架构中包括的终端的数量也不作限制。
例如,本申请实施例可以适用于一个主终端设备,如:手机,与其他周围设备,如:耳机、手表、PAD等进行连接的场景。这里,手机可以称为第一终端,耳机、手表、PAD等中的任何一个均可以称为第二终端。可选地,主终端设备可以和其他周围设备通过设备ID或其他字段进行绑定。
本申请实施例中,第一终端上的App在安装或第一次运行之前,会调用第一系统中间件服务的注册代理文件应用程序接口(application program interface,API),完成本地注册,保证第一系统中间件服务可以替代该注册App进行文件读取和/或文件存储等文件操作。同样的,第二终端上的App在安装或第一次运行之前,需要调用第二系统中间件服务的注册代理文件API,完成本地注册,保证第二系统中间件服务可以替代该注册App进行文件读取与文件存储的操作。
例如,当某个App初次安装时,终端可以在安装界面或安装完成界面显示设置选项,供用户选择终端的系统中间件服务可以代理该App与哪些对端App(对端App是指与该终端连接的其他终端的App,例如,对于第一终端而言,对端App是指第二终端的App)进行数据交互,以及可以代理该App进行文件操作的操作类型等,如:文件接收操作、文件发送操作。
以手机上安装App:手机版M1为例,假设手机分别与手表、电视、以及平板电脑连接,当手机上安装手机版M1时,手机会向手表、电视、以及平板电脑分别发送一个检测请求,以检测手表是否安装有手表版M1,电视是否安装有电视版M1,平板电脑是否安装有电脑版M1。当手表安装有手表版M1时,会向手机返回手表版M1的信息。类似地,电视会向手机返回电视版M1的信息,平板电脑会向手机返回电脑版M1的信息。当然,若没有安装对应版本的M1,则无响应,或返回没有安装的相关信息。此时,手机 可以获取到手表、电视、以及平板电脑上安装的对应版本的M1的信息。然后,手机可以在手机版M1的安装完成界面显示设置选项,如,安装完成界面中可以包括手表版M1、电视版M1、以及电脑版M1等的标识,供用户选择手机的系统中间件服务可以代理手机版M1与手表版M1、电视版M1、以及电脑版M1中的哪一个或哪几个进行数据交互。
本申请实施例中,当第一终端为手机时,手机版M1可称为第一应用,手机版M1的安装完成界面可称为第二界面,手表版M1、电视版M1、以及电脑版M1等可称为第二应用,用户对第二应用的标识的操作可称为第二输入。类似地,第二终端(如:手表)上的M1的安装完成界面可称为第三界面,用户对第三界面中的第一应用的标识的操作可称为第三输入。
下面结合图6对手机版M1的安装完成界面中显示的设置选项进行示例性说明。图6示出了一种App的安装完成界面示意图。如图6所示,当手机的App:M1完成安装时,会在安装完成界面中显示选择设备的选项,如:手表、电视、平板电脑。用户可以通过点击(或其他触控操作)选择手表、电视、以及平板电脑中的一个或多个,并点击下方的确定选项,进而选择手机的系统中间件服务可以代理手机版M1与手表版M1、电视版M1、以及电脑版M1中的哪一个或哪几个进行数据交互。例如,若用户选择了手表,并点击了确定,则表示选择手机的系统中间件服务可以代理手机版M1与手表版M1进行数据交互。
当用户选择了手机的系统中间件服务可以代理手机版M1进行数据交互的对端App后,如:手表版M1。手机版M1会调用手机的系统中间件服务的注册代理文件API,完成本地注册。注册时,会填充如下内容:手表版M1的信息(如:手表版M1的包名、签名证书等)、文件信息(如:文件名称、文件格式等)、文件路径(如:手机版M1的数据目录中文件的存储目录)、操作权限(如:读取权限和写入权限)。
也即,对于上述第一终端和第二终端而言,第一终端上的App在调用第一系统中间件服务的注册代理文件API,完成本地注册时,需要填充如下内容:对端App的信息(如:对端App的包名、签名证书等)、文件信息(如:文件名称、文件格式等)、文件路径(如:第一终端上的App的数据目录中文件的存储目录)、操作权限(如:读取权限和写入权限)。完成注册后,在第一系统中间件服务中会生成第一应用的注册信息,第一应用的注册信息包括前述填充的内容。其中,对第一终端而言,对端App即是指第二终端上的App。第一终端获取对端App的信息的过程,可以参考上述手机获取手表版M1的信息的示例。
第二终端上的App在调用第二系统中间件服务的注册代理文件API,完成本地注册时,也需要填充如下内容:对端App的信息(如:对端App的包名、签名证书等)、文件信息(如:文件名称、文件格式等)、文件路径(如:第二终端上的App的数据目录中文件的存储目录)、操作权限(如:读取权限和写入权限)。完成注册后,在第二系统中间件服务中会生成第二应用的注册信息,第二应用的注册信息包括前述填充的内容。其中,对第二终端而言,对端App即是指第一终端上的App。第二终端获取对端App的信息的过程,也可以参考上述手机获取手表版M1的信息的示例。
可选地,对任意一个终端而言,该终端上的App在进行上述注册过程时,可以填充一个或多个数量的对端App的信息,在此对对端App的数量不作限制。
可选地,对于第一终端和/或第二终端而言,在完成某个App的注册时,所填充的对端App的信息,可以是与该注册App关联的对端App的信息,如:对端App与该注册 App可以是不同设备中的不同版本,如:手机版和手表版。
也即,本申请实施例中,第二应用与第一应用具有对应关系,如:第二应用和第一应用可以是适配于不同终端版本的同一应用。
或者,也有一些实施例中,第二应用和第一应用也可以是具有预配置的对应关系的不同应用。例如,第一应用可以是手机中的M1,第二应用可以是手表中的M2。第二应用与第一应用之间预配置的对应关系可以是类似于如图6中所示,第一应用初次安装时,根据用户的选择操作所建立。或者,第二应用与第一应用之间预配置的对应关系也可以是由第一应用和第二应用的开发人员预先配置好的,在此不作限制。
进一步,对于完成上述注册过程的第一终端上的App,以及第二终端上的App而言,二者之间交互数据的过程可以包括两部分,分别是建立初始化连接的过程和实际交互数据的过程。其中,交互数据的过程具体又可以包括如下两种场景:1)第一终端上的App发送文件给第二终端上的App,或者,第二终端上的App发送文件给第一终端上的App;2)第一终端上的App从第二终端上的App的数据目录中读取文件,或者,第二终端上的App从第一终端上的App的数据目录中读取文件。
对于第一终端上的App和第二终端上的App实际交互数据的过程,下述实施例仅以第一终端上的App发送文件给第二终端上的App的场景,以及第一终端上的App从第二终端上的App的数据目录中读取文件的场景为例进行说明。但应当理解的是,本申请实施例中,第二终端上的App发送文件给第一终端上的App的场景,与第一终端上的App发送文件给第二终端上的App的场景类似。第二终端上的App从第一终端上的App的数据目录中读取文件的场景,与第一终端上的App从第二终端上的App的数据目录中读取文件的场景类似,本实施例未再赘述。
另外,下述说明中,第一终端上的App称为第一App(或称为第一应用),第二终端上的App称为第二App(或称为第二应用)。
首先,结合图7,对第一App和第二App建立初始化连接的过程进行说明。图7示出了本申请实施例中第一App和第二App建立初始化连接的流程示意图。如图7所示,第一App和第二App建立初始化连接的过程可以包括以下S701-S706。
S701、第一App调用第一系统中间件服务的初始化连接API,并填充第二App的包名。
S702、第一系统中间件服务向第二系统中间件服务发送初始化连接信息,初始化连接信息包括:第一App的包名和签名证书、第二App的包名。
例如,第一系统中间件服务可以读取第一App的包名和签名证书(或称为第一App的信息),并封装第一App的包名和签名证书、第二App的包名,生成初始化连接信息。然后,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送初始化连接信息。
一些实施例中,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送系统消息,系统消息中包括上述初始化连接信息。
相应地,第二系统中间件服务接收初始化连接信息。
在一种可能的设计中,第一终端和第二终端之间可以通过蓝牙或者Wi-Fi进行通信。其中,蓝牙连接整体功耗相对较低,可以保证第一终端和第二终端的蓝牙处于常连接状态。Wi-Fi连接整体功耗相对较高,第一终端和第二终端之间的连接可以通过按需业务触发。
以第一终端和第二终端之间可以通过蓝牙通信为例。第一系统中间件服务封装第一App的包名和签名证书、第二App的包名,生成初始化连接信息(该初始化连接信息为应用层数据)后,可以将初始化连接信息发送给第一终端的系统数据路由层。第一终端的系统数据路由层可以调用第一终端的蓝牙系统的业务层接口发送初始化连接信息给第一终端的蓝牙系统的物理层。第一终端的蓝牙系统的物理层通过射频能够发送初始化连接信息给已连接的第二终端。
第二终端的蓝牙系统的物理层可以通过射频接收初始化连接信息,并传输给第二终端的蓝牙系统的业务层。第二终端的蓝牙系统的业务层,可以将初始化连接信息传输给第二终端的系统数据路由层。第二终端的系统数据路由层负责根据业务标记做数据分发,最终将初始化连接信息分发到第二系统中间件服务。
可选地,一些实施例中,在S702之前,第一系统中间件服务也可以向第二系统中间件服务发送一个初始化连接请求。第二系统中间件服务接收到该初始化连接请求后,可以确定是否与第一系统中间件服务建立后续的初始化连接。若第二系统中间件服务确定与第一系统中间件服务建立后续的初始化连接,则向第一系统中间件服务返回一个确认消息。当第一系统中间件服务接收到该确认消息后,再执行S702及其之后的步骤,与第二系统中间件服务建立初始化连接。
S703、第二系统中间件服务读取第二App的注册信息中第一App的包名和签名证书。
可以理解的,第二App的注册信息中包括至少一个App的包名和签名证书。第一App是前述至少一个App中的一个。例如,第二App的注册信息中还可以包括第三App的包名和签名证书、第四App的包名和签名证书等,第三App和第四App均可以是第一终端的App。
这里,由于S702中第一系统中间件服务向第二系统中间件服务发送的初始化连接信息,包含的是第一App的包名和签名证书,所以,第二系统中间件服务会读取第一App的包名和签名证书进行下述校验过程。若初始化连接信息包含的是其他App,如:第三App的包名和签名证书,则第二系统中间件服务会读取第三App的包名和签名证书。
S704、第二系统中间件服务校验第二App的注册信息中第一App的包名和签名证书,与接收到的初始化连接信息中第一App的包名和签名证书是否一致,得到校验结果。
可以理解,S704所述的校验中,若第二App的注册信息中第一App的包名和签名证书,与接收到的初始化连接信息中第一App的包名和签名证书一致,则校验结果为校验成功。若第二App的注册信息中第一App的包名和签名证书,与接收到的初始化连接信息中第一App的包名和签名证书不一致,则校验结果为校验失败。
当校验成功时,可以确定第一App能够与第二App进行通信或交互数据。
S705、第二系统中间件服务根据校验结果,向第一系统中间件服务返回初始化连接结果。
初始化连接结果包括:初始化成功或初始化失败。若校验结果为校验成功,则第二系统中间件向第一系统中间件返回的初始化连接结果为初始化成功。若校验结果为校验失败,则第二系统中间件向第一系统中间件返回的初始化连接结果为初始化失败。
相应地,第一系统中间件服务接收初始化连接结果。
S706、第一系统中间件服务向第一App发送初始化连接结果。
第一系统中间件服务接收到初始化连接结果后,可以通知第一App,是否与第二App成功建立初始化连接。
当第一App与第二App成功建立初始化连接时,后续第一App才能向第二App发送文件,和/或,第一App才能从第二App读取文件。
可选地,当初始化连接结果为初始化成功时,第一终端可以在第一App的显示界面中向用户展示连接成功的结果。例如,图8示出了一种第一App的显示界面示意图。如图8所示,当初始化连接结果为初始化成功时,第一终端会在第一App的显示界面中向用户提示连接成功。
请继续参考图8所示,在一种可能的设计中,连接成功的显示界面会在预设时长后自动关闭,如:5秒(S),在此对预设时长的大小不作限制。或者,用户可以选择点击右上角的关闭控件“X”,直接关闭连接成功的显示界面。
可选地,当初始化连接结果为初始化失败时,第一终端可以在第一App的显示界面中向用户展示连接失败的结果。例如,图9示出了另一种第一App的显示界面示意图。如图9所示,当初始化连接结果为初始化失败时,第一终端会在第一App的显示界面中向用户提示连接失败。
请继续参考图9所示,当显示连接失败时,第一终端还可以在第一App的显示界面中,向用户提示重新选择和取消,若用户点击重新选择,则显示界面会切换至图6所示的界面,供用户重新选择第二App,重新建立初始化连接。若用户点击取消,则第一终端会取消建立初始化连接的过程。
当第一App和第二App成功建立上述初始化连接时,第一App和第二App之间可以交互数据。
以第一App向第二App发送目标业务文件为例,图10示出了又一种第一App的显示界面示意图。如图10所示,该显示界面中包括App的数据目录,其中,包括:文件1、文件2、文件3、文件4等文件,如:该显示界面中可以显示文件1、文件2、文件3、文件4等的标识。当用户需要将文件1发送给第二App时,可以选择长按文件1所在区域,或者,双击文件1所在区域等(对此不作限制),进入对文件1的操作界面。本申请实施例中,图10所示的界面可以称为第一界面,文件1可以称为第一文件,对文件1的标识(即文件1所在区域)进行的操作可称为第一输入。
例如,图11示出了又一种第一App的显示界面示意图。如图11所示,第一终端显示的对文件1的操作界面中可以包括:转发、删除、移动等(图中仅为示例性说明,不作限制,如:转发也可以替换为分享)。当用户点击转发时,会进入供用户选择需要将文件1发送给哪个目的App(如第二App)的界面。
例如,图12示出了又一种第一App的显示界面示意图。如图12所示,当用户点击转发时,第一终端显示的界面会由图11所示切换至图12所示,显示界面中会包括:第二App、第三App、第四App等选项,供用户选择需要将文件1发送给其中的哪个App。例如,当第一App是前述手机版M1时,第二App、第三App、第四App可以依次是前述手表版M1、电视版M1、电脑版M1等。
也即,本申请实施例中,第一终端可以显示第一应用的第一界面,第一界面中包括第一文件的标识;第一终端可以响应于检测到用户对第一文件的标识的第一输入,向第二终端发送第二应用的标识和第一文件。其中,第二应用的标识和第一文件用于指示第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。
可以理解的,图12中显示出的App均为与第一App已建立初始化连接的App。
下面以用户选择第二App为例,对本申请实施例中第一App向第二App发送文件的 具体过程进行说明。图13示出了本申请实施例中第一App向第二App发送文件的流程示意图。如图13所示,当第一App与第二App建立初始化连接后,第一App向第二App发送文件的过程包括以下S1301-S1307。
S1301、第一App调用第一系统中间件服务的发送API,并填充第二App的包名、目标业务文件、目标存储路径和目标存储名称、文件操作为写入操作。
S1302、第一系统中间件服务向第二系统中间件服务发送文件发送信息,文件发送信息包括:第一App的包名和签名证书、第二App的包名、目标业务文件、目标存储路径和目标存储名称、文件操作为写入操作。
例如,第一系统中间件服务可以读取第一App的包名和签名证书,并封装第一App的包名和签名证书、第二App的包名、目标业务文件、目标存储路径和目标存储名称、文件操作为写入操作,生成文件发送信息。然后,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送文件发送信息。
一些实施例中,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送系统消息,系统消息中包括上述文件发送信息。
相应地,第二系统中间件服务接收文件发送信息。
可选地,第一系统中间件服务调用系统接口,向第二系统中间件服务发送文件发送信息,以及第二系统中间件服务接收文件发送信息的具体实现过程,与第一系统中间件服务调用系统接口,向第二系统中间件服务发送初始化连接信息,以及第二系统中间件服务接收初始化连接信息的过程类似或相同,可以参考前述S702的相关解释中所述,在此不再赘述。
S1303、第二系统中间件服务读取第二App的注册信息中第一App的包名和签名证书。
S1304、第二系统中间件服务校验第二App的注册信息中第一App的包名和签名证书,与接收到的文件发送信息中第一App的包名和签名证书是否一致,得到校验结果。
类似地,S1303和S1304中关于校验第二App的注册信息中第一App的包名和签名证书,与接收到的文件发送信息中第一App的包名和签名证书是否一致的相关解释,也可以参考前述S703和S704中所述。
例如,若第二App的注册信息中第一App的包名和签名证书,与接收到的文件发送信息中第一App的包名和签名证书一致,则校验结果为校验成功。若第二App的注册信息中第一App的包名和签名证书,与接收到的文件发送信息中第一App的包名和签名证书不一致,则校验结果为校验失败。
当校验成功时,可以确定第二App能够接收来自第一App的目标业务文件。
S1305、当校验结果一致时,第二系统中间件服务根据接收到的文件发送信息中的目标存储路径和目标存储名称,将目标业务文件写入第二App的数据目录下。
如上所述,文件发送信息中包括:目标业务文件、目标存储路径和目标存储名称、文件操作为写入操作。当校验结果一致时,第二系统中间件服务可以根据目标存储路径和目标存储名称,将目标业务文件写入第二App的数据目录下,即,存储在第二App的数据目录下。例如,写入第二App的“app/data/music”目录下。
可选地,当第二App的数据目录中包含目标存储路径和目标存储名称时,第二系统中间件服务可以直接按照第二App的数据目录中包含的目标存储路径和目标存储名称,写入目标业务文件。当第二App的数据目录中不包含目标存储路径和目标存储名称时, 第二系统中间件服务可以先在第二App的数据目录新建目标存储路径,并按照目标存储名称,在新建的目标存储路径中写入目标业务文件。
S1306、第二系统中间件服务向第一系统中间件服务发送文件接收结果。
其中,文件接收结果的发送也可以包含在第二系统中间件服务向第一系统中间件服务发送的系统消息中,不再赘述。
可选地,第二系统中间件在第二App的数据目录中写入目标业务文件后,可以向第一系统中间件服务发送文件接收结果。文件接收结果能够表明目标业务文件是否成功写入第二App的数据目录。
例如,文件接收结果包括:文件接收成功或文件接收失败。若文件接收结果为文件接收成功,则表示目标业务文件成功写入第二App的数据目录。若文件接收结果为文件接收失败,则表示目标业务文件未成功写入第二App的数据目录。
相应地,第一系统中间件服务接收文件接收结果。
S1307、第一系统中间件服务根据接收到的文件接收结果,向第一App发送文件发送结果。
可选地,文件发送结果包括:文件发送成功或文件发送失败。当文件接收结果为文件接收成功,即目标业务文件成功写入第二App的数据目录时,第一系统中间件服务可以向第一App发送文件发送结果为文件发送成功。当文件接收结果为文件接收失败,即目标业务文件未成功写入第二App的数据目录时,第一系统中间件服务可以向第一App发送文件发送结果为文件发送失败。以通知第一App,本次目标业务文件是否成功发送给第二App。
可选地,当文件发送结果为文件发送成功时,第一终端可以在第一App的显示界面中向用户展示发送成功的结果。例如,图14示出了又一种第一App的显示界面示意图。如图14所示,当文件发送结果为文件发送成功时,第一终端会在第一App的显示界面中向用户提示发送成功。与前述图8类似,图14所示的界面也可以在预设时长后自动关闭,或者,由用户点击关闭,不再赘述。
或者,当文件发送结果为文件发送失败时,第一终端可以在第一App的显示界面中向用户展示发送失败的结果。例如,图15示出了又一种第一App的显示界面示意图。如图15所示,当文件发送结果为文件发送失败时,第一终端会在第一App的显示界面中向用户提示发送失败。
请继续参考图15所示,当显示发送失败时,第一终端还可以在第一App的显示界面中,向用户提示重新发送和取消发送,若用户点击重新发送,则显示界面会切换至图12所示的界面,供用户重新选择第二App,重新进行上述发送过程。若用户点击取消发送,则第一终端会取消发送文件的过程。
由上述图13所示的实施例可知,第一终端的App传输文件到第二终端的App时,第二系统中间件服务可以代理第二终端的App的文件操作,并不需要第二终端的App打开,即可完成跨终端的数据通信,完成文件接收、重传等,能够减少用户对App的操作,提高用户体验。
图16示出了又一种第一App的显示界面示意图。如图16所示,一种可能的实现方式中,第一App的显示界面中会显示一个读取的控件,当用户点击读取时,会进入供用户需要从哪个目的App读取文件的界面。本申请实施例中,读取的控件也可以称为第一标识。用于对读取控件的点击操作,也可以称为第一输入。
例如,图17示出了又一种第一App的显示界面示意图。如图17所示,当用户点击读取时,第一App的显示界面会由图16所示切换至图17所示的界面,显示界面中会包括:第二App、第三App、第四App等选项,供用户选择需要从其中的哪个App中读取文件。例如,当第一App是前述手机版M1时,第二App、第三App、第四App可以依次是前述手表版M1、电视版M1、电脑版M1等。
同样可以理解的,图17中显示出的App均为与第一App已建立初始化连接的App。
下面以用户选择第二App为例,对本申请实施例中第一App从第二App读取文件的具体过程进行说明。
以第一App从第二App读取目标业务文件为例,图18示出了本申请实施例中第一App从第二App读取文件的流程示意图。如图18所示,当第一App与第二App建立初始化连接后,第一App从第二App读取文件的过程包括以下S1801-S1807。
S1801、第一App调用第一系统中间件服务的发送API,并填充第二App的包名、目标业务文件在第二App中的存储路径和存储名称、文件操作为读取操作。
本申请实施例中,目标业务文件也称为第一文件。
例如,目标业务文件在第二App中的存储路径可以是二App的“app/data/music”目录,存储名称可以是“文件P”等。
S1802、第一系统中间件服务向第二系统中间件服务发送文件读取信息,文件读取信息包括:第一App的包名和签名证书、第二App的包名、目标业务文件在第二App中的存储路径和存储名称、文件操作为读取操作。
例如,第一系统中间件服务可以读取第一App的包名和签名证书,并封装第一App的包名和签名证书、第二App的包名、目标业务文件在第二App中的存储路径和存储名称、文件操作为读取操作,生成文件读取信息。然后,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送文件读取信息。
一些实施例中,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送系统消息,系统消息中包括上述文件读取信息。
相应地,第二系统中间件服务接收文件读取信息。
可选地,第一系统中间件服务调用系统接口,向第二系统中间件服务发送文件读取信息,以及第二系统中间件服务接收文件读取信息的具体实现过程,也与第一系统中间件服务调用系统接口,向第二系统中间件服务发送初始化连接信息,以及第二系统中间件服务接收初始化连接信息的过程类似或相同,同样可以参考前述S702的相关解释中所述,在此不再赘述。
S1803、第二系统中间件服务读取第二App的注册信息中第一App的包名和签名证书。
S1804、第二系统中间件服务校验第二App的注册信息中第一App的包名和签名证书,与接收到的文件读取信息中第一App的包名和签名证书是否一致,得到校验结果。
类似地,S1803和S1804中关于校验第二App的注册信息中第一App的包名和签名证书,与接收到的文件读取信息中第一App的包名和签名证书是否一致的相关解释,也可以参考前述S703和S704中所述。
例如,若第二App的注册信息中第一App的包名和签名证书,与接收到的文件读取信息中第一App的包名和签名证书一致,则校验结果为校验成功。若第二App的注册信息中第一App的包名和签名证书,与接收到的文件读取信息中第一App的包名和签名证 书不一致,则校验结果为校验失败。
当校验成功时,可以确定第一App能够读取第二App中的目标业务文件。如:执行S1805。
S1805、当校验结果一致时,第二系统中间件服务根据接收到的文件读取信息中目标业务文件在第二App中的存储路径和存储名称,从第二App的数据目录下读取目标业务文件。
如上所述,文件读取信息中包括:目标业务文件在第二App中的存储路径和存储名称、文件操作为读取操作。当校验结果一致时,第二系统中间件服务可以根据目标业务文件在第二App中的存储路径和存储名称,从第二App的数据目录下读取对应的目标业务文件。如:从第二App的“app/data/music”目录下,读取文件P。
S1806、第二系统中间件服务向第一系统中间件服务发送目标业务文件。
其中,第二系统中间件服务向第一系统中间件服务发送目标业务文件时,也可以将目标业务文件放在系统消息中。如:第二系统中间件服务向第一系统中间件服务发送系统消息,系统消息包括目标业务文件。
一些实施例中,第二系统中间件服务向第一系统中间件服务发送目标业务文件的过程,也可以参考前述图13所示的实施例中,第一系统中间件服务向第二系统中间件服务发送目标业务文件的过程,在此不再赘述。
相应地,第一系统中间件服务接收目标业务文件。
S1807、第一系统中间件服务向第一App发送目标业务文件。
第一系统中间件服务接收到目标业务文件后,可以向第一App发送目标业务文件,完成第一App从第二App读取目标业务文件的交互过程。
由上述图18所示的实施例可知,第一终端的App从第二终端的App中读取文件时,第二系统中间件服务也可以代理第二终端的App的文件操作,同样不需要第二终端的App打开,即可完成文件读取,能够减少用户对App的操作,提高用户体验。
图19示出了又一种第一App的显示界面示意图。如图19所示,一种可能的实现方式中,当第一终端的App接收到目标业务文件后,目标业务文件会与第一App中的其他文件(如前述文件1、文件2等),一起展示在第一App的数据目录中。
或者,图20示出了又一种第一App的显示界面示意图。如图20所示,另一种可能的实现方式中,当第一终端的App接收到目标业务文件后,第一终端还可以在第一App的显示界面中询问用户是否保存目标业务文件至数据目录。当用户点击是时,即第一终端会将目标业务文件保存在第一App的数据目录中,并将显示界面由图20所示切换至图19所示。当用点击否时,第一终端会删除该目标业务文件,或者,提示用户保存至其他文件夹等,在此不再一一赘述。
上述图18所示的实施例中,第一终端的App从第二终端的App中读取文件时,第一App已知目标业务文件在第二App中的存储路径和存储名称。但实际有些实施方式中,第一App预先是不知道目标业务文件在第二App中的存储路径和存储名称的。对此,本申请实施例中,第一App可以先从第二App中获取索引文件MetaData。然后,可以根据索引文件MetaData,确定第二App中的文件清单信息,从而,可以根据第二App中的文件清单信息,确定具体需要读取的目标业务文件。
例如,图21示出了本申请实施例中第一App确定目标业务文件的流程示意图。如图21所示,当第一App与第二App建立初始化连接后,第一App确定目标业务文件的过 程可以包括以下S2101-S2108。可以理解的,S2101-S2108是在图18所示的S1801之前的步骤,即,一些实施方式中,第一App可以先通过S2101-S2108确定出目标业务文件,然后通过S1801-S1807从第二App读取目标业务文件。
S2101、第一App调用第一系统中间件服务的发送API,并填充第二App的包名、文件操作为读取操作。
S2102、第一系统中间件服务向第二系统中间件服务发送默认文件读取信息,默认文件读取信息包括:第一App的包名和签名证书、第二App的包名、文件操作为读取操作。
例如,第一系统中间件服务可以读取第一App的包名和签名证书,并封装第一App的包名和签名证书、第二App的包名、文件操作为读取操作,生成默认文件读取信息。然后,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送默认文件读取信息。
区别于前述图18所示的实施例中所述的文件读取信息,本实施例中,由于第一App不知道目标业务文件在第二App中的存储路径和存储名称,所以,第一系统中间件服务生成的是未携带目标业务文件的存储路径和存储名称的默认文件读取信息。
一些实施例中,第一系统中间件服务可以调用系统接口,向第二系统中间件服务发送系统消息,系统消息中包括上述默认文件读取信息。
相应地,第二系统中间件服务接收默认文件读取信息。
可选地,第一系统中间件服务调用系统接口,向第二系统中间件服务发送默认文件读取信息,以及第二系统中间件服务接收默认文件读取信息的具体实现过程,也与第一系统中间件服务调用系统接口,向第二系统中间件服务发送初始化连接信息,以及第二系统中间件服务接收初始化连接信息的过程类似或相同,同样可以参考前述S702的相关解释中所述,在此不再赘述。
S2103、第二系统中间件服务读取第二App的注册信息中第一App的包名和签名证书。
S2104、第二系统中间件服务校验第二App的注册信息中第一App的包名和签名证书,与接收到的默认文件读取信息中第一App的包名和签名证书是否一致,得到校验结果。
类似地,S2103和S2104中关于校验第二App的注册信息中第一App的包名和签名证书,与接收到的默认文件读取信息中第一App的包名和签名证书是否一致的相关解释,也可以参考前述S703和S704中所述。
例如,若第二App的注册信息中第一App的包名和签名证书,与接收到的默认文件读取信息中第一App的包名和签名证书一致,则校验结果为校验成功。若第二App的注册信息中第一App的包名和签名证书,与接收到的默认文件读取信息中第一App的包名和签名证书不一致,则校验结果为校验失败。
当校验成功时,可以确定第一App能够默认读取第二App的索引文件MetaData。如:执行S2105。
S2105、当校验结果一致时,第二系统中间件服务根据接收到的默认文件读取信息,读取第二App的索引文件MetaData。
也即,当默认文件读取信息未携带目标业务文件的存储路径和存储名称时,第二系统中间件服务会默认读取第二App的索引文件MetaData。
S2106、第二系统中间件服务向第一系统中间件服务发送索引文件MetaData。
其中,第二系统中间件服务向第一系统中间件服务发送索引文件MetaData时,也可以将索引文件MetaData放在系统消息中。如:第二系统中间件服务向第一系统中间件服务发送系统消息,系统消息包括索引文件MetaData。
一些实施例中,第二系统中间件服务向第一系统中间件服务发送索引文件MetaData的过程,也可以参考前述图13所示的实施例中,第一系统中间件服务向第二系统中间件服务发送索引文件MetaData的过程,在此不再赘述。
相应地,第一系统中间件服务接收索引文件MetaData。
S2107、第一系统中间件服务向第一App发送索引文件MetaData。
第一系统中间件服务接收到索引文件MetaData后,可以向第一App发送索引文件MetaData。
S2108、第一App根据索引文件MetaData,确定目标业务文件在第二App中的存储路径和存储名称。
第一App通过解析索引文件MetaData的内容,可以确定出确定第二App中的文件清单信息,从而,可以根据第二App中的文件清单信息,确定具体需要读取的目标业务文件,即,确定出目标业务文件在第二App中的存储路径和存储名称。例如,也可以将文件清单信息通过显示界面呈现给用户,由用户选择读取哪个目标业务文件,在此不再结合附图进行详细描述。
例如,第一终端可以响应于检测到用户对第一标识(即,读取)的第一输入(即,点击操作),向第二终端发送文件查询信息(或称为默认文件读取信息),文件查询信息包括第二应用的标识,用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取索引文件,并发送给第一终端。索引文件用于指示第二应用的存储空间中的文件清单信息。第一终端可以接收来自第二终端的索引文件,并根据索引文件,在第一界面中显示第二应用的存储空间中的文件的标识,第二应用的存储空间中的文件的标识包括第一文件(如:目标业务文件)的标识。第一终端可以响应于检测到用户对第一文件的标识的第三输入,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。用户对第一文件的标识的第三输入即是用于确定具体需要读取的目标业务文件为该第一文件。
或者,一些实施例中,也可以是由第一终端默认确定目标业务文件为第二App中全部的文件,或者,预设好的一些文件,在此不作限制。
第一App在确定出目标业务文件在第二App中的存储路径和存储名称后,即可按照前述图18所示的实施例,从第二App中读取对应的目标业务文件。
由上述图21所示的实施例可知,第一终端的App从第二终端的App中读取文件时,第二系统中间件服务可以缺省支持读取第二App的索引文件MetaData。从而,第一终端的App可以根据第二App的索引文件MetaData,确定出需要读取的目标业务文件。
综上所述,本申请实施例中,通过在每个终端中部署系统中间件服务,可以使得系统中间件服务能够代理其所在终端的App上的文件操作。当某个终端上的App(如第一终端的第一App)向对端终端上的App(如第二终端的第二App)发送文件,或者,从对端终端上的App中读取文件时,并不需要对端终端上的App感知相关细节,由对端终端上的系统中间件服务即可完成发送操作或读取操作。所以,并不需要对端终端的App打开,即可完成跨终端的数据通信,完成文件接收、重传、读取等,能够减少用户对App的操作,提高用户体验。对每个终端而言,系统中间件服务能够提供开放API接口给终 端上的App,终端上的App不需要关注文件发送或接收的具体技术实现的,也能够有效降低App的开发成本。
另外,本申请实施例中,当不同终端之间通过蓝牙或者Wi-Fi,又或者NFC进行通信时,文件可以在不同终端之间直接传输,无需其他服务器或云服务器侧进行中转,不仅可以减少可能存在的隐私、数据安全等问题,还减少了中间传输的时延,提升了传输效率。而且,还可以实现在对端终端未联网的状态下,向对端终端发送文件。例如,手机联网,手表不联网时,手机可以向手表同步数据或发送文件。
进一步,结合图6至图21,可以看到,本申请实施例中,不同终端的App之间进行数据传输时(包括初始化连接信息、文件发送信息、文件读取信息、默认文件读取信息等的传输),对端终端的系统中间件服务都会根据App的注册信息,进行合法性校验,还能够保证不同终端的App之间进行数据传输的安全性。
可选地,本申请实施例中,某个终端的App与对端终端的App建立初始化连接的时机、或者说,某个终端的App向对端终端的App发送数据或文件的时机,可以是基于用户操作进行选择。例如,用户可以在终端1的App1上进行触控操作,指示将终端1的App1上的某个文件,同步至终端2的App2上。当终端1接收到用户的该触控操作后,会按照前述实施例所述执行文件同步过程。
或者,其他实施例中,某个终端的App与对端终端的App建立初始化连接的时机、或者说,某个终端的App向对端终端的App发送数据或文件的时机,也可以是系统自动选择。例如,终端1可以按照预设周期(如:1天、一周等),或者,在与终端2连接时,将App1上的某些数据,自动同步至终端2的App2上。
需要说明的是,本申请对建立初始化连接、发送文件、读取文件等的触发条件或时机,并不作限制。示例性地,可以参考下述场景。
场景1:
当用户在手机上打开第一APP时,响应于用户的操作,例如点击手机上第一APP应用界面中的图标或者按钮,使得第一APP向手表上安装的与第一APP对应的第二APP建立连接、发送文件或者读取文件等,其中所述建立连接、发送文件或者读取文件等过程可以参照前述实施例中的步骤和方法,此处不再赘述。
场景2:
当用户在手机上安装好第一APP后,并选择与手表上安装的与第一APP对应的第二APP建立连接、发送文件或者读取文件,此时第一APP和第二APP之间可以按照预设时间间隔建立连接、发送文件或者读取文件,其中所述建立连接、发送文件或者读取文件等过程可以参照前述实施例中的步骤和方法,此处不再赘述。
场景3:
当用户在手机上打开第一APP,并且用户在手表上打开与第一APP对应的第二APP,此时,第二APP可以和第一APP之间建立连接、发送文件或者读取文件,其中所述建立连接、发送文件或者读取文件等过程可以参照前述实施例中的步骤和方法,此处不再赘述。
对应于前述实施例中所述的方法中第一终端执行的步骤,本申请实施例还提供一种可以应用于第一终端的装置。例如,图22示出了一种装置的结构示意图,如图22所示,该装置包括:显示模块2201、处理模块2202。
其中,显示模块2201用于显示第一应用的第一界面,第一界面中包括第一文件的标 识;处理模块2202用于响应于检测到用户对第一文件的标识的第一输入,向第二终端发送第二应用的标识和第一文件,其中,第二应用的标识和第一文件用于指示第二终端在不运行第二应用的情况下,将第一文件存储到第二应用的存储空间。例如,处理模块2202中可以包括一个单独的发送子模块,实现发送功能。
在一种可能的设计中,处理模块2202部署有第一系统中间件服务,第一系统中间件服务具有代理第一应用发送文件的权限;处理模块2202具体用于通过第一系统中间件服务,向第二终端发送第二应用的标识和第一文件。
在一种可能的设计中,处理模块2202还用于通过第一系统中间件服务,向第二终端发送初始化连接信息,初始化连接信息包括第一应用的信息;接收来自第二终端根据第一应用的信息返回的初始化连接结果,例如,处理模块2202中可以包括一个单独的接收子模块,实现接收功能。
在一种可能的设计中,处理模块2202还用于通过第一系统中间件服务,向第二终端发送初始化连接请求;接收来自第二终端的确认消息。
在一种可能的设计中,处理模块2202还用于向第二终端发送第二应用的标识和第一文件时,向第二终端发送第一文件在第二应用的存储空间中的目标存储路径和目标存储名称。
在一种可能的设计中,显示模块2201还用于显示第一应用的第二界面,第二界面中包括与第一应用对应的应用的标识,与第一应用对应的应用的标识包括第二应用的标识;处理模块2202还用于响应于检测到用户对第二应用的标识的第二输入,在第一系统中间件服务中注册第一系统中间件服务代理第一应用发送文件的权限,在第一系统中间件服务中生成第一应用的注册信息,第一应用的注册信息包括第二应用的信息。
在一种可能的设计中,第二应用与第一应用对应,包括:第二应用和第一应用是适配于不同终端版本的同一应用;和/或,第二应用和第一应用是具有预配置的对应关系的不同应用。
在一种可能的设计中,第一界面中包括用于实现文件读取的功能的第一标识;处理模块2202用于响应于检测到用户对第一标识的第一输入,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,其中,第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取第一文件,并发送给第一终端;处理模块2202还用于接收来自第二终端的第一文件。例如,处理模块2202可以包括一个单独的接收子模块,实现接收功能,以及包括一个单独的发送子模块,实现发送功能。
在一种可能的设计中,处理模块2202部署有第一系统中间件服务,第一系统中间件服务具有代理第一应用读取文件的权限;处理模块2202向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识,包括:处理模块2202通过第一系统中间件服务,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
在一种可能的设计中,处理模块2202具体用于响应于检测到用户对第一标识的第一输入,向第二终端发送文件查询信息,文件查询信息包括第二应用的标识,用于第二终端在不运行第二应用的情况下,从第二应用的存储空间中读取索引文件,并发送给处理模块2202;索引文件用于指示第二应用的存储空间中的文件清单信息;接收来自第二终端的索引文件;根据索引文件,控制显示模块2201在第一界面中显示第二应用的存储空 间中的文件的标识,第二应用的存储空间中的文件的标识包括第一文件的标识;响应于检测到用户对第一文件的标识的第三输入,向第二终端发送第一文件在第二应用的存储空间中的存储路径和存储名称、以及第二应用的标识。
类似地,对应于前述实施例中所述的方法中第二终端执行的步骤,本申请实施例还提供一种可以应用于第二终端的装置。例如,该装置也可以包括显示模块、处理模块等,具体可以参考上述图22所示的应用于第一终端的装置,在此不再进行赘述。
应理解以上装置中单元或模块(以下均称为单元)的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。
例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以称为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。
在一个例子中,以上装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或这些集成电路形式中至少两种的组合。
再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如CPU或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在一种实现中,以上装置实现以上方法中各个对应步骤的单元可以通过处理元件调度程序的形式实现。例如,该装置可以包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例所述的方法。存储元件可以为与处理元件处于同一芯片上的存储元件,即片内存储元件。
在另一种实现中,用于执行以上方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例所述的方法。
例如,本申请实施例还可以提供一种装置,如:电子设备,可以包括:处理器,用于存储该处理器可执行指令的存储器。该处理器被配置为执行上述指令时,使得该电子设备实现如前述实施例所述的第一终端或第二终端执行的方法。例如,该电子设备可以是前述实施例中所述第一终端或第二终端。该存储器可以位于该电子设备之内,也可以位于该电子设备之外。且该处理器包括一个或多个。
在又一种实现中,该装置实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这些处理元件可以设置于对应上述具有语音控制功能的终端上,这里的处理元件可以为集成电路,例如:一个或多个ASIC,或,一个或多个DSP,或,一个或者多个FPGA,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。
例如,本申请实施例还提供一种芯片,该芯片可以应用于上述第一终端或第二终端。芯片包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;处理器通过接口电路从电子设备的存储器接收并执行计算机指令,以实现以上方法实施 例中所述的第一终端或第二终端执行的方法。
本申请实施例还提供一种计算机程序产品,包括电子设备,如上述第一终端(如手机)或第二终端(如手表)运行的计算机指令。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,如:程序。该软件产品存储在一个程序产品,如计算机可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
例如,本申请实施例还可以提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如前述方法实施例中所述的第一终端或第二终端执行的方法。
可选地,本申请实施例还提供一种数据传输系统,示例性地,该数据传输系统的系统架构可以如前述图3所示,至少包括第一终端和第二终端;第一终端与第二终端连接,第一终端包括第一应用,第二终端包括与第一应用对应的第二应用;第一终端和第二终端配合实现前述实施例所述的方法。
一些实施例中,该数据传输系统中还可以包括更多的终端,如:第三终端、第四终端等,任意两个终端的应用之间进行交互数据时,均可以参照前述第一终端和第二终端的应用之间交互数据的方式。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

  1. 一种数据传输方法,其特征在于,应用于第一终端,所述第一终端与第二终端连接,所述第一终端包括第一应用,所述第二终端包括与所述第一应用对应的第二应用;所述方法包括:
    所述第一终端显示所述第一应用的第一界面,所述第一界面中包括第一文件的标识;
    响应于检测到用户对所述第一文件的标识的第一输入,所述第一终端向所述第二终端发送所述第二应用的标识和所述第一文件,其中,所述第二应用的标识和所述第一文件用于指示所述第二终端在不运行所述第二应用的情况下,将所述第一文件存储到所述第二应用的存储空间。
  2. 根据权利要求1所述的方法,其特征在于,所述第一终端部署有第一系统中间件服务,所述第一系统中间件服务具有代理所述第一应用发送文件的权限;
    所述第一终端向所述第二终端发送所述第二应用的标识和所述第一文件,包括:
    所述第一终端通过所述第一系统中间件服务,向所述第二终端发送所述第二应用的标识和所述第一文件。
  3. 根据权利要求2所述的方法,其特征在于,所述第一终端通过所述第一系统中间件服务,向所述第二终端发送所述第二应用的标识和所述第一文件之前,所述方法还包括:
    所述第一终端通过所述第一系统中间件服务,向所述第二终端发送初始化连接信息,所述初始化连接信息包括所述第一应用的信息;
    所述第一终端接收来自所述第二终端根据所述第一应用的信息返回的初始化连接结果。
  4. 根据权利要求3所述的方法,其特征在于,所述第一终端通过所述第一系统中间件服务,向所述第二终端发送初始化连接信息之前,所述方法还包括:
    所述第一终端通过所述第一系统中间件服务,向所述第二终端发送初始化连接请求;
    所述第一终端接收来自所述第二终端的确认消息。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
    所述第一终端向所述第二终端发送所述第二应用的标识和所述第一文件时,向所述第二终端发送所述第一文件在所述第二应用的存储空间中的目标存储路径和目标存储名称。
  6. 根据权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:
    所述第一终端显示所述第一应用的第二界面,所述第二界面中包括与所述第一应用对应的应用的标识,与所述第一应用对应的应用的标识包括所述第二应用的标识;
    响应于检测到用户对所述第二应用的标识的第二输入,所述第一终端在所述第一系统中间件服务中注册所述第一系统中间件服务代理所述第一应用发送文件的权限,在所述第一系统中间件服务中生成所述第一应用的注册信息,所述第一应用的注册信息包括所述第二应用的信息。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述第二应用与所述第一应用对应,包括:
    所述第二应用和所述第一应用是适配于不同终端版本的同一应用;
    和/或,所述第二应用和所述第一应用是具有预配置的对应关系的不同应用。
  8. 一种数据传输系统,其特征在于,至少包括第一终端和第二终端;所述第一终端与所述第二终端连接,所述第一终端包括第一应用,所述第二终端包括与所述第一应用对应的第二应用;
    所述第一终端和所述第二终端配合实现如权利要求1-7任一项所述的方法。
  9. 一种电子设备,其特征在于,包括:处理器,用于存储所述处理器可执行指令的存储器;
    所述处理器被配置为执行所述指令时,使得所述电子设备实现如权利要求1-7任一项所述的方法。
  10. 一种计算机可读存储介质,其上存储有计算机程序指令;其特征在于,
    当所述计算机程序指令被电子设备执行时,使得电子设备实现如权利要求1-7任一项所述的方法。
PCT/CN2021/116323 2020-09-22 2021-09-02 数据传输方法、系统、电子设备及存储介质 WO2022062875A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011004922.1 2020-09-22
CN202011004922.1A CN114301899B (zh) 2020-09-22 2020-09-22 数据传输方法、系统、电子设备及存储介质

Publications (1)

Publication Number Publication Date
WO2022062875A1 true WO2022062875A1 (zh) 2022-03-31

Family

ID=80844898

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/116323 WO2022062875A1 (zh) 2020-09-22 2021-09-02 数据传输方法、系统、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN114301899B (zh)
WO (1) WO2022062875A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086468B (zh) * 2022-06-17 2024-06-07 Oppo广东移动通信有限公司 穿戴式设备、终端设备及其交互方法、系统及存储介质
CN117667434A (zh) * 2022-08-23 2024-03-08 华为技术有限公司 访问数据的方法及电子设备
CN117785498A (zh) * 2022-09-20 2024-03-29 华为技术有限公司 数据访问方法、电子设备和计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102427432A (zh) * 2011-12-18 2012-04-25 上海量明科技发展有限公司 即时通信工具中虚拟接收文件的方法、终端及系统
CN102664831A (zh) * 2012-05-12 2012-09-12 上海量明科技发展有限公司 通过即时通信工具传输文件数据的方法、客户端及系统
CN104243535A (zh) * 2013-05-10 2014-12-24 英特尔移动通信有限责任公司 用于在第一设备和第二设备之间传送数据的方法
US20180052723A1 (en) * 2016-08-17 2018-02-22 Google Inc. Middleware Interface and Middleware Interface Generator
CN108509788A (zh) * 2018-03-29 2018-09-07 广东欧珀移动通信有限公司 信息共享方法和装置、计算机可读存储介质、终端
CN108809800A (zh) * 2017-05-04 2018-11-13 腾讯科技(深圳)有限公司 一种多媒体数据处理方法及其设备、系统
CN109684112A (zh) * 2018-12-29 2019-04-26 北京小米移动软件有限公司 程序文件运行方法、装置、终端及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103368991A (zh) * 2012-03-28 2013-10-23 北京智慧风云科技有限公司 云存储的即时同步系统
CN104520836B (zh) * 2012-07-17 2017-08-08 良好科技控股有限公司 用于促进应用之间的服务提供的系统和方法
WO2019061040A1 (zh) * 2017-09-26 2019-04-04 华为技术有限公司 一种文件管理方法及装置
CN110213313B (zh) * 2018-04-28 2021-09-28 腾讯科技(深圳)有限公司 一种文件上传的方法、相关装置及系统
CN110333914B (zh) * 2019-04-12 2023-09-15 上海连尚网络科技有限公司 一种用于执行目标操作的方法与设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102427432A (zh) * 2011-12-18 2012-04-25 上海量明科技发展有限公司 即时通信工具中虚拟接收文件的方法、终端及系统
CN102664831A (zh) * 2012-05-12 2012-09-12 上海量明科技发展有限公司 通过即时通信工具传输文件数据的方法、客户端及系统
CN104243535A (zh) * 2013-05-10 2014-12-24 英特尔移动通信有限责任公司 用于在第一设备和第二设备之间传送数据的方法
US20180052723A1 (en) * 2016-08-17 2018-02-22 Google Inc. Middleware Interface and Middleware Interface Generator
CN108809800A (zh) * 2017-05-04 2018-11-13 腾讯科技(深圳)有限公司 一种多媒体数据处理方法及其设备、系统
CN108509788A (zh) * 2018-03-29 2018-09-07 广东欧珀移动通信有限公司 信息共享方法和装置、计算机可读存储介质、终端
CN109684112A (zh) * 2018-12-29 2019-04-26 北京小米移动软件有限公司 程序文件运行方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN114301899A (zh) 2022-04-08
CN114301899B (zh) 2022-10-25

Similar Documents

Publication Publication Date Title
WO2020192537A1 (zh) 一种切换上网卡的方法和电子设备
WO2022062875A1 (zh) 数据传输方法、系统、电子设备及存储介质
WO2021052437A1 (zh) 一种应用启动方法及电子设备
WO2020233538A1 (zh) 一种接入无线局域网的方法和终端
WO2021147406A1 (zh) 一种音频输出方法及终端设备
CN113630910B (zh) 蜂窝通信功能的使用方法、相关装置及系统
WO2020238728A1 (zh) 智能终端的登录方法及电子设备
WO2022057742A1 (zh) 一种跨设备调用应用的方法及电子设备
WO2020224447A1 (zh) 一种在联系人中添加智能家居设备的方法及系统
WO2021073428A1 (zh) 一种账号绑定方法、设备及系统
CN114741008B (zh) 分布式跨设备协同方法、电子设备及通信系统
WO2021109872A1 (zh) 一种http请求传输方法及设备
CN112130788A (zh) 一种内容分享方法及其装置
WO2023088459A1 (zh) 设备协同方法及相关装置
WO2024037032A1 (zh) 账号登录的方法及电子设备
WO2022199673A1 (zh) 一种登录认证的方法和电子设备
WO2022206770A1 (zh) 一种设备间应用协同工作的方法及设备
WO2022179443A1 (zh) Nfc通信方法、电子设备及系统
WO2022206848A1 (zh) 一种应用小部件的显示方法及设备
WO2022111529A1 (zh) 一种应用程序的调试方法及电子设备
WO2022143310A1 (zh) 一种双路投屏的方法及电子设备
WO2023035885A1 (zh) 通信方法及电子设备
WO2023025059A1 (zh) 一种通信系统及通信方法
WO2024002137A1 (zh) 通信方法、通信系统及电子设备
WO2022228065A1 (zh) 功能跳转方法及电子设备

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21871247

Country of ref document: EP

Kind code of ref document: A1