WO2023280040A1 - 一种跨设备数据操作方法及系统 - Google Patents

一种跨设备数据操作方法及系统 Download PDF

Info

Publication number
WO2023280040A1
WO2023280040A1 PCT/CN2022/102687 CN2022102687W WO2023280040A1 WO 2023280040 A1 WO2023280040 A1 WO 2023280040A1 CN 2022102687 W CN2022102687 W CN 2022102687W WO 2023280040 A1 WO2023280040 A1 WO 2023280040A1
Authority
WO
WIPO (PCT)
Prior art keywords
account
data
information
server
client
Prior art date
Application number
PCT/CN2022/102687
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 WO2023280040A1 publication Critical patent/WO2023280040A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • the present application relates to the field of computer technology, in particular to a cross-device data operation method and system.
  • Cloud storage services refer to services that provide users with cloud file storage services, that is, services that provide users with cloud storage services.
  • the user can upload the files on the device to the server for storage through the cloud storage client (such as a cloud disk or network disk client), and can also perform management operations such as browsing, updating, and downloading the files in the server.
  • the cloud storage client such as a cloud disk or network disk client
  • the present application provides a cross-device data operation method, system, electronic device, computer storage medium, and computer program product, which can avoid the problem of cloud storage file transfer when operating cloud storage files across devices, and improve the operating experience.
  • the present application provides a cross-device data operation method, which is applied to a first device, and the first device can remotely access the shared data on the second device.
  • the method may include: the first device responds to the obtained second An instruction to determine the path information of the data to be uploaded, the data to be uploaded is located in the second device; the first device sends a first message to the second device, the first message includes path information, and the first message is used to instruct the second device to The data to be uploaded is uploaded to the server.
  • the first device can send a message indicating to upload data to the second device, so that the second device can upload the data on it to the server, so that the second device is under the control of the first device It can directly communicate with the server, thereby shortening the data upload path and reducing the delay, and the operation experience is also consistent with the local file upload experience, which improves the user experience.
  • the first message further includes identification information of the data to be uploaded.
  • the second device can determine the data to be uploaded from the data thereon based on the identification information.
  • the first message further includes session credential information, where the session credential information is an authenticated credential between the first device and the second device. Therefore, it is convenient for the second device to determine whether the two have been pre-authenticated, so as to avoid data operation without authentication, thereby improving the security of data operation.
  • the method before the first device sends the first message to the second device, the method further includes: the first device determines the relationship between the first account on the first device and the second account on the second device association relationship; the first device generates session credential information; or, the first device acquires session credential information sent by the second device, wherein the session credential information is used by the second device to determine the association relationship between the first account and the second account generated after.
  • the association relationship between the accounts on the two devices and then generating the session credential information, the authentication of the two devices is completed.
  • determining the association relationship between two accounts may be determining whether the two accounts are the same account.
  • the first account may be a device-level account.
  • the first account is an account for logging in to the first device, or it may be an application-level account.
  • the first account is for logging in to one or more applications on the first device. account number.
  • the second account may be a device-level account.
  • the second account is an account for logging in to the second device, or it may be an application-level account.
  • the second account is for logging in to one or more applications on the second device. account number.
  • the method before the first device generates the session credential information, the method further includes: the first device determines an association relationship between the first version corresponding to the first account and the second version corresponding to the second account.
  • the first version corresponding to the first account may be the version of the operating system of the first device;
  • the second version corresponding to the second account may be The version may be the version of the operating system of the second device.
  • the first version corresponding to the first account may be the version of the application logged into the first account; when the second account is an application-level account, the first version corresponding to the second account may be The second version may be a version of the application logged into the second account.
  • the method before the first device sends the first message to the second device, the method further includes: the first device sends a first request to the server, and the first request is used to request uploading data to be uploaded; the first The device obtains the upload authentication information sent by the server, and the upload authentication information is generated by the server after obtaining the first request, and the upload authentication information is used for the server to verify the data to be uploaded after obtaining the data to be uploaded sent by the second device.
  • the first device and the second device can exchange data without authentication, and after the server receives the data uploaded by the second device, it can verify the data, and then determine whether the second device is allowed to upload data, improving the security and convenience of operations.
  • the first message further includes upload authentication information.
  • the second device can send the upload authentication information to the server at the same time when sending data to the server, so that the server can verify the data uploaded by the second device.
  • the method before the first device sends the first message to the second device, the method further includes: the first device determines the first version corresponding to the first account on the first device and the second version corresponding to the second account on the second device.
  • the association relationship between the second versions corresponding to the accounts In this way, a pre-negotiation session operation can be completed between the first device and the second device to facilitate subsequent data operations.
  • the first account is a device-level account
  • the first version corresponding to the first account may be the version of the operating system of the first device
  • the second version corresponding to the second account may be The version may be the version of the operating system of the second device.
  • the first version corresponding to the first account may be the version of the application logged into the first account; when the second account is an application-level account, the first version corresponding to the second account may be The second version may be a version of the application logged into the second account.
  • the data to be uploaded includes one or more files.
  • a first client is configured on the first device
  • a first account is logged on the first client
  • a second client is configured on the second device
  • the second account is logged on the second client.
  • Two accounts wherein the signaling interaction between the first device and the second device is performed by the first client and the second client.
  • Two client perform uploading and other operations, and enable the client on the remote device to communicate directly with the server, thereby shortening the path for uploading files on the remote device, reducing the delay, and the operating experience is also consistent with the local file upload experience .
  • the remote device performs uploading and other operations by itself, it can also make full use of the bandwidth and online advantages of the remote device; in addition, when the remote device performs uploading and other operations, it does not occupy the local mobile network bandwidth and central processing unit (central processing unit). processing unit, CPU) system resources, reducing the consumption of local resources.
  • the present application provides a cross-device data operation method, which is applied to a second device.
  • the second device has shared data that can be remotely accessed by the first device.
  • the method includes: the second device obtains the data sent by the first device.
  • the first message includes the path information of the data to be uploaded, the data to be uploaded is located in the second device, the first message is used to instruct the second device to upload the data to be uploaded to the server; the second device according to the path information, Determine the data to be uploaded; the second device sends the data to be uploaded to the server.
  • the first device can send a message indicating to upload data to the second device, so that the second device can upload the data on it to the server, so that the second device is under the control of the first device It can directly communicate with the server, thereby shortening the data upload path and reducing the delay, and the operation experience is also consistent with the local file upload experience, which improves the user experience.
  • the first message further includes identification information of the data to be uploaded; the second device determines the data to be uploaded according to the path information, which specifically includes: the second device determines the data to be uploaded according to the identification information and the path information data.
  • the second device can determine the data to be uploaded from the data on it based on the identification information and path information.
  • the first message further includes session credential information, where the session credential information is an authenticated credential between the first device and the second device. Therefore, it is convenient for the second device to determine whether the two have been pre-authenticated, so as to avoid data operation without authentication, thereby improving the security of data operation.
  • the method before the second device acquires the first message sent by the first device, the method further includes: the second device determines the difference between the first account on the first device and the second account on the second device The association relationship among them; the second device generates session credential information, and sends the session credential information to the first device.
  • the association relationship between the accounts on the two devices and then generating the session credential information the authentication of the two devices is completed.
  • determining the association relationship between two accounts may be determining whether the two accounts are the same account.
  • the first account may be a device-level account.
  • the first account is an account for logging in to the first device, or it may be an application-level account.
  • the first account is for logging in to one or more applications on the first device. account number.
  • the second account may be a device-level account.
  • the second account is an account for logging in to the second device, or it may be an application-level account.
  • the second account is for logging in to one or more applications on the second device. account number.
  • the method before the second device generates the session credential information, the method further includes: the second device determines an association relationship between the first version corresponding to the first account and the second version corresponding to the second account.
  • the first version corresponding to the first account may be the version of the operating system of the first device;
  • the second version corresponding to the second account may be The version may be the version of the operating system of the second device.
  • the first version corresponding to the first account may be the version of the application logged into the first account; when the second account is an application-level account, the first version corresponding to the second account may be The second version may be a version of the application logged into the second account.
  • the first message also includes upload authentication information, and the upload authentication information is generated by the server after obtaining the first request sent by the first device, and the first request is used to request uploading data to be uploaded; method It also includes: the second device sends upload authentication information to the server, and the upload authentication information is used by the server to verify the data to be uploaded.
  • the second device can send the upload authentication information to the server at the same time when sending data to the server, so that the server can verify the data uploaded by the second device.
  • the method before the second device obtains the first message sent by the first device, the method further includes: the second device determines the first version corresponding to the first account on the first device and the first version corresponding to the first account on the second device. The association relationship between the second versions corresponding to the two accounts. In this way, a pre-negotiation session operation can be completed between the first device and the second device to facilitate subsequent data operations.
  • the first account is a device-level account
  • the first version corresponding to the first account may be the version of the operating system of the first device
  • the second version corresponding to the second account may be The version may be the version of the operating system of the second device.
  • the first version corresponding to the first account may be the version of the application logged into the first account; when the second account is an application-level account, the first version corresponding to the second account may be The second version may be a version of the application logged into the second account.
  • the data to be uploaded includes one or more files.
  • a first client is configured on the first device
  • a first account is logged on the first client
  • a second client is configured on the second device
  • the second account is logged on the second client.
  • Two accounts wherein the signaling interaction between the first device and the second device is performed by the first client and the second client.
  • Two client perform uploading and other operations, and enable the client on the remote device to communicate directly with the server, thereby shortening the path for uploading files on the remote device, reducing the delay, and the operating experience is also consistent with the local file upload experience .
  • the remote device performs uploading and other operations by itself, it can also make full use of the bandwidth and online advantages of the remote device; in addition, when the remote device performs uploading and other operations, it does not occupy the local mobile network bandwidth and central processing unit (central processing unit). processing unit, CPU) system resources, reducing the consumption of local resources.
  • the present application provides a cross-device data operation method, which is applied to a first device, and the first device can remotely access shared data on a second device.
  • the method includes: the first device responds to the obtained second instruction , determine the target information of the data to be downloaded, the target information includes identification information and/or download path information, and the storage path represented by the download path information is located in the second device; the first device sends a second message to the second device, and the second message The target information is included in the second message, and the second message is used to instruct the second device to download the data to be downloaded from the server.
  • the first device can send a message indicating to download data to the second device, so that the second device can request the server to obtain the data, and then receive the data sent by the server, and store the data, thereby
  • the second device can directly communicate with the server under the control of the first device, thereby shortening the data download path and reducing the delay, and the operation experience is also consistent with the local file download experience, which improves the user experience.
  • the second message further includes session credential information, where the session credential information is an authenticated credential between the first device and the second device. Therefore, it is convenient for the second device to determine whether the two have been pre-authenticated, so as to avoid data operation without authentication, thereby improving the security of data operation.
  • the method before the first device sends the second message to the second device, the method further includes: the first device determines the relationship between the first account on the first device and the second account on the second device association relationship; the first device generates session credential information; or, the first device acquires session credential information sent by the second device, wherein the session credential information is used by the second device to determine the association relationship between the first account and the second account generated after.
  • the association relationship between the accounts on the two devices and then generating the session credential information, the authentication of the two devices is completed.
  • determining the association relationship between two accounts may be determining whether the two accounts are the same account.
  • the first account may be a device-level account.
  • the first account is an account for logging in to the first device, or it may be an application-level account.
  • the first account is for logging in to one or more applications on the first device. account number.
  • the second account may be a device-level account.
  • the second account is an account for logging in to the second device, or it may be an application-level account.
  • the second account is for logging in to one or more applications on the second device. account number.
  • the method before the first device generates the session credential information, the method further includes: the first device determines an association relationship between the first version corresponding to the first account and the second version corresponding to the second account.
  • the first version corresponding to the first account may be the version of the operating system of the first device;
  • the second version corresponding to the second account may be The version may be the version of the operating system of the second device.
  • the first version corresponding to the first account may be the version of the application logged into the first account; when the second account is an application-level account, the first version corresponding to the second account may be The second version may be a version of the application logged into the second account.
  • the method before the first device sends the second message to the second device, the method further includes: the first device sends a second request to the server, and the second request is used to request to download the data to be downloaded; the first The device obtains the download authentication information sent by the server.
  • the download authentication information is generated by the server after obtaining the second request.
  • the download authentication information is used by the server to verify the third request sent by the second device.
  • the third request is used to request to obtain For the data to be downloaded, the third request includes download authentication information.
  • the first device and the second device can exchange data without authentication, and after the server receives the data download request of the second device, it can verify the request, and then determine whether the second device is allowed to download data, improving the security and convenience of operations.
  • the second message further includes download authentication information.
  • the second device can send the download authentication information to the server at the same time when sending the data download request to the server, so that the server can verify the data download request sent by the second device.
  • the method before the first device sends the second message to the second device, the method further includes: the first device determines the first version corresponding to the first account on the first device and the second version corresponding to the second account on the second device.
  • the association relationship between the second versions corresponding to the accounts In this way, a pre-negotiation session operation can be completed between the first device and the second device to facilitate subsequent data operations.
  • the first account is a device-level account
  • the first version corresponding to the first account may be the version of the operating system of the first device
  • the second version corresponding to the second account may be The version may be the version of the operating system of the second device.
  • the first version corresponding to the first account may be the version of the application logged into the first account; when the second account is an application-level account, the first version corresponding to the second account may be The second version may be a version of the application logged into the second account.
  • the data to be downloaded includes one or more files.
  • a first client is configured on the first device
  • a first account is logged on the first client
  • a second client is configured on the second device
  • the second account is logged on the second client.
  • Two accounts wherein the signaling interaction between the first device and the second device is performed by the first client and the second client.
  • Two client perform downloading and other operations, and enable the client on the remote device to communicate directly with the server, thereby shortening the path for downloading files on the remote device, reducing the delay, and the operating experience is also consistent with the local file download experience .
  • the remote device performs downloading and other operations by itself, it can also make full use of the bandwidth and online advantages of the remote device; in addition, when the remote device performs downloading and other operations, it does not occupy the local mobile network bandwidth and central processing unit (central processing unit). processing unit, CPU) system resources, reducing the consumption of local resources.
  • the present application provides a cross-device data operation method, which is applied to a second device.
  • the second device has shared data that can be remotely accessed by the first device.
  • the method includes: the second device obtains the data sent by the first device.
  • the second message, the second message includes target information, the target information includes identification information and/or download path information, the storage path represented by the download path information is located in the second device, and the second message is used to instruct the second device to download from the server Download the data to be downloaded;
  • the second device sends a third request to the server in response to the obtained second message, and the third request is used to request to obtain the data to be downloaded;
  • the second device obtains the data to be downloaded sent by the server, and sends the data to be downloaded
  • the data is stored in the storage path represented by the download path information.
  • the first device can send a message indicating to download data to the second device, so that the second device can request the server to obtain the data, and then receive the data sent by the server, and store the data, thereby
  • the second device can directly communicate with the server under the control of the first device, thereby shortening the data download path and reducing the delay, and the operation experience is also consistent with the local file download experience, which improves the user experience.
  • the second message further includes session credential information, where the session credential information is an authenticated credential between the first device and the second device.
  • the second device can determine whether the two have been pre-authenticated, so as to avoid performing data operations without authentication, thereby improving the security of data operations.
  • the method before the second device obtains the second message sent by the first device, the method further includes: the second device determines the difference between the first account on the first device and the second account on the second device The association relationship among them; the second device generates session credential information, and sends the session credential information to the first device.
  • the association relationship between the accounts on the two devices and then generating the session credential information the authentication of the two devices is completed.
  • determining the association relationship between two accounts may be determining whether the two accounts are the same account.
  • the first account may be a device-level account.
  • the first account is an account for logging in to the first device, or it may be an application-level account.
  • the first account is for logging in to one or more applications on the first device. account number.
  • the second account may be a device-level account.
  • the second account is an account for logging in to the second device, or it may be an application-level account.
  • the second account is for logging in to one or more applications on the second device. account number.
  • the method before the second device generates the session credential information, the method further includes: the second device determines an association relationship between the first version corresponding to the first account and the second version corresponding to the second account.
  • the first version corresponding to the first account may be the version of the operating system of the first device;
  • the second version corresponding to the second account may be The version may be the version of the operating system of the second device.
  • the first version corresponding to the first account may be the version of the application logged into the first account; when the second account is an application-level account, the first version corresponding to the second account may be The second version may be a version of the application logged into the second account.
  • the second message further includes download authentication information, which is generated by the server after obtaining the second request, and is used by the server to perform the process after obtaining the third request sent by the second device. verification, wherein the third request includes download authentication information.
  • the second device can send the download authentication information to the server at the same time when sending the data download request to the server, so that the server can verify the data download request sent by the second device.
  • the method before the second device obtains the second message sent by the first device, the method further includes: the second device determines the first version corresponding to the first account on the first device and the first version corresponding to the first account on the second device. The association relationship between the second versions corresponding to the two accounts. In this way, a pre-negotiation session operation can be completed between the first device and the second device to facilitate subsequent data operations.
  • the first account is a device-level account
  • the first version corresponding to the first account may be the version of the operating system of the first device
  • the second version corresponding to the second account may be The version may be the version of the operating system of the second device.
  • the first version corresponding to the first account may be the version of the application logged into the first account; when the second account is an application-level account, the first version corresponding to the second account may be The second version may be a version of the application logged into the second account.
  • the data to be uploaded includes one or more files.
  • a first client is configured on the first device
  • a first account is logged on the first client
  • a second client is configured on the second device
  • the second account is logged on the second client.
  • Two accounts wherein the signaling interaction between the first device and the second device is performed by the first client and the second client.
  • Two client perform downloading and other operations, and enable the client on the remote device to communicate directly with the server, thereby shortening the path for downloading files on the remote device, reducing the delay, and the operating experience is also consistent with the local file download experience .
  • the remote device performs downloading and other operations by itself, it can also make full use of the bandwidth and online advantages of the remote device; in addition, when the remote device performs downloading and other operations, it does not occupy the local mobile network bandwidth and central processing unit (central processing unit). processing unit, CPU) system resources, reducing the consumption of local resources.
  • the present application provides a cross-device data operating system, including: a first device, a second device, and a server.
  • the first device can remotely access shared data on the second device;
  • the first device is used to determine the path information of the data to be uploaded in response to the obtained first instruction, wherein the data to be uploaded is located in the second device; and send a first message to the second device, the first message includes path information, the first message is used to instruct the second device to upload the data to be uploaded to the server;
  • the second device is used to obtain the first message sent by the first device, determine the data to be uploaded according to the path information, and send the data to be uploaded to the server;
  • the server is at least used for storing the data to be uploaded sent by the second device.
  • the first message further includes identification information of the data to be uploaded.
  • the first message further includes session credential information, where the session credential information is an authenticated credential between the first device and the second device.
  • the first device is further configured to determine an association relationship between the first account on the first device and the second account on the second device before sending the first message to the second device; and generate session credential information.
  • the first device is further configured to: determine an association relationship between the first version corresponding to the first account and the second version corresponding to the second account.
  • the second device is further configured to determine the association relationship between the first account on the first device and the second account on the second device before obtaining the first message, and generate session credential information , and send session credential information to the first device;
  • the first device is further configured to obtain session credential information sent by the second device before sending the first message to the second device.
  • the second device is further configured to: determine an association relationship between the first version corresponding to the first account and the second version corresponding to the second account.
  • the first device before sending the first message to the second device, is further configured to: send a first request to the server, where the first request is used to request uploading data to be uploaded;
  • the server is further configured to generate upload authentication information in response to the obtained first request, and send the upload authentication information to the first device;
  • the first device is further configured to acquire upload authentication information sent by the server, and the upload authentication information is used for the server to verify the data to be uploaded after acquiring the data to be uploaded sent by the second device.
  • the first message also includes upload authentication information.
  • the first device before sending the first message to the second device, is further configured to: determine the first version corresponding to the first account on the first device and the version corresponding to the second account on the second device. The association relationship between the second versions.
  • the data to be uploaded includes one or more files.
  • a first client is configured on the first device
  • a first account is logged on the first client
  • a second client is configured on the second device
  • the second account is logged on the second client.
  • Two accounts wherein the signaling interaction between the first device and the second device is performed by the first client and the second client, and the signaling interaction between the second device and the server is performed by the second client and the server.
  • the fifth aspect and any implementation manner of the fifth aspect correspond to the first aspect and any implementation manner of the first aspect, and the second aspect and any implementation manner of the second aspect, respectively.
  • the technical effect corresponding to the fifth aspect and any one of the implementations in the fifth aspect can be referred to in the above-mentioned first aspect and any one of the implementations of the first aspect, as well as the second aspect and any one of the implementations of the second aspect. Corresponding technical effects will not be repeated here.
  • the present application provides a cross-device data operating system, including: a first device, a second device, and a server, and the first device can remotely access shared data on the second device;
  • the first device is configured to determine target information of the data to be downloaded in response to the acquired second instruction, where the target information includes identification information and/or download path information, and the storage path represented by the download path information is located in the second device; and sending a second message to the second device, where the second message includes target information, and the second message is used to instruct the second device to download the data to be downloaded from the server;
  • the second device is configured to obtain the second message sent by the first device, and send a third request to the server in response to the obtained second message, and the third request is used to request to obtain the data to be downloaded;
  • the server is used to obtain the third request sent by the second device, and in response to the third request, determine the data to be downloaded, and send the data to be downloaded to the second device;
  • the second device is further configured to obtain the data to be downloaded sent by the server, and store the data to be downloaded in the storage path represented by the download path information.
  • the second message further includes session credential information, where the session credential information is an authenticated credential between the first device and the second device.
  • the first device is further configured to determine an association relationship between the first account on the first device and the second account on the second device before sending the second message to the second device; and generate session credential information.
  • the first device is further configured to: determine an association relationship between the first version corresponding to the first account and the second version corresponding to the second account.
  • the second device is further configured to determine the association relationship between the first account on the first device and the second account on the second device before obtaining the second message, and generate session credential information , and send session credential information to the first device;
  • the first device is further configured to obtain session credential information sent by the second device before sending the second message to the second device.
  • the second device is further configured to: determine an association relationship between the first version corresponding to the first account and the second version corresponding to the second account.
  • the first device before sending the second message to the second device, is further configured to: send a second request to the server, where the second request is used to request downloading of the data to be downloaded;
  • the server is further configured to generate download authentication information in response to the obtained second request, and send the download authentication information to the first device;
  • the first device is also used to obtain the download authentication information sent by the server.
  • the download authentication information is used by the server to verify the obtained third request sent by the second device.
  • the third request is used to request to obtain the data to be downloaded. In the third request Include download authentication information.
  • the second message also includes download authentication information.
  • the server sends the data to be downloaded to the second device, it is also used to check the download authentication information and determine that the check is passed.
  • the first device before sending the second message to the second device, is further configured to: determine the first version corresponding to the first account on the first device and the version corresponding to the second account on the second device. The association relationship between the second versions.
  • the data to be downloaded includes one or more files.
  • a first client is configured on the first device
  • a first account is logged on the first client
  • a second client is configured on the second device
  • the second account is logged on the second client.
  • Two accounts wherein the signaling interaction between the first device and the second device is performed by the first client and the second client, and the signaling interaction between the second device and the server is performed by the second client and the server.
  • the sixth aspect and any implementation manner of the sixth aspect correspond to the third aspect and any implementation manner of the third aspect, and the fourth aspect and any implementation manner of the fourth aspect respectively.
  • the technical effects corresponding to the sixth aspect and any one of the implementations in the sixth aspect can be referred to in the above-mentioned third aspect and any one of the implementations of the third aspect, and the fourth aspect and any one of the implementations of the fourth aspect. Corresponding technical effects will not be repeated here.
  • the present application provides an electronic device, including: at least one memory for storing programs; at least one processor for executing the programs stored in the memory, and when the programs stored in the memory are executed, the processor is used for executing The method provided in the first aspect, the second aspect, the third aspect or the fourth aspect.
  • the seventh aspect and any one of the realization ways of the seventh aspect are respectively related to the first aspect and any one of the realization ways of the first aspect, and the second aspect and any one of the realization ways of the second aspect, and the third aspect and any one of the realization ways of the second aspect
  • Any implementation manner of the three aspects corresponds to the fourth aspect and any implementation manner of the fourth aspect.
  • the technical effect corresponding to the seventh aspect and any one of the implementations in the seventh aspect please refer to the above-mentioned first aspect and any one of the implementations of the first aspect, as well as the second aspect and any one of the implementations of the second aspect, As well as the third aspect and any implementation manner of the third aspect, and the technical effects corresponding to the fourth aspect and any implementation manner of the fourth aspect, details will not be described here.
  • the present application provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when the computer program runs on an electronic device, the electronic device executes the first aspect, the second aspect, and the third aspect. Aspect or the method provided by the fourth aspect.
  • the eighth aspect and any one of the implementations of the eighth aspect are respectively related to the first aspect and any one of the first implementations, the second aspect and any one of the second implementations, and the third aspect and the first Any implementation manner of the three aspects corresponds to the fourth aspect and any implementation manner of the fourth aspect.
  • the technical effects corresponding to the eighth aspect and any one of the implementations in the eighth aspect please refer to the above-mentioned first aspect and any one of the implementations of the first aspect, as well as the second aspect and any one of the implementations of the second aspect, As well as the third aspect and any implementation manner of the third aspect, and the technical effects corresponding to the fourth aspect and any implementation manner of the fourth aspect, details will not be described here.
  • the present application provides a computer program product, which is characterized in that, when the computer program product is run on the electronic device, the electronic device is made to execute the computer program provided in the first aspect, the second aspect, the third aspect or the fourth aspect.
  • the ninth aspect and any one of the implementation methods of the ninth aspect are respectively related to the first aspect and any one of the implementation methods of the first aspect, and the second aspect and any one of the implementation methods of the second aspect, and the third aspect and any one of the implementation methods of the second aspect.
  • Any implementation manner of the three aspects corresponds to the fourth aspect and any implementation manner of the fourth aspect.
  • the technical effect corresponding to the ninth aspect and any one of the implementations in the ninth aspect please refer to the above-mentioned first aspect and any one of the first implementations, as well as the second aspect and any one of the second implementations, As well as the third aspect and any implementation manner of the third aspect, and the technical effects corresponding to the fourth aspect and any implementation manner of the fourth aspect, details will not be described here.
  • FIG. 1 is a schematic diagram of an application scenario provided by an embodiment of the present application
  • Fig. 2a is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • Fig. 2b is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of the system architecture of a cloud storage file cross-device cooperative operating system provided by the embodiment of the present application;
  • FIG. 4 is a schematic structural diagram of a user equipment provided in an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a shared device provided by an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a cloud storage server provided by an embodiment of the present application.
  • FIG. 7 is a schematic flowchart of a method for uploading a cloud storage file operation provided by an embodiment of the present application.
  • FIG. 8 is a schematic flowchart of a method for downloading a cloud storage file operation provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of communication for collaborative device discovery and authentication provided by an embodiment of the present application.
  • FIG. 10 is a schematic communication diagram of a cloud storage file collaborative upload process provided by an embodiment of the present application.
  • Fig. 11a is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 11b is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 11c is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 11d is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 11e is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 12 is a schematic communication diagram of a cloud storage file collaborative download process provided by the embodiment of the present application.
  • Fig. 13a is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 13b is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 13c is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 13d is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 13e is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 13f is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 14 is a communication schematic diagram of other operations in the collaborative upload process of a cloud storage file provided by the embodiment of the present application.
  • Fig. 15a is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 15b is a schematic diagram of a display interface of a user equipment provided in an embodiment of the present application.
  • Fig. 16 is a schematic communication diagram of another cloud storage file collaborative upload process provided by the embodiment of the present application.
  • FIG. 17 is a schematic communication diagram of another cloud storage file collaborative download process provided by the embodiment of the present application.
  • Fig. 18 is a schematic flowchart of a cross-device data operation method provided by an embodiment of the present application.
  • FIG. 19 is a schematic flowchart of another cross-device data operation method provided by the embodiment of the present application.
  • references to "one embodiment” or “some embodiments” or the like in this specification means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application.
  • appearances of the phrases “in one embodiment,” “in some embodiments,” “in other embodiments,” “in other embodiments,” etc. in various places in this specification are not necessarily All refer to the same embodiment, but mean “one or more but not all embodiments” unless specifically stated otherwise.
  • the terms “including”, “comprising”, “having” and variations thereof mean “including but not limited to”, unless specifically stated otherwise.
  • the term “connected” includes both direct and indirect connections, unless otherwise stated.
  • first and second are used for descriptive purposes only, and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of indicated technical features. Thus, a feature defined as “first” and “second” may explicitly or implicitly include one or more of these features.
  • the user when a user manages files on other devices 12 accessible to the local machine (ie, the user equipment 11), the user often needs to operate the cloud storage client on the local machine (ie, the user equipment 11) 111, access the shared file system 121 on other devices through the file system 112 in the cloud storage client 111, and then select shared files on other devices 12 to upload to the cloud storage server 13, or download the cloud storage in the cloud storage client 111
  • the files stored in the server 13 are sent to the designated shared directory of other devices 12 .
  • the cloud storage client on the local machine that is, the user equipment 11
  • the terminal 111 often needs to first read the files in other devices 12 to this machine through the shared network, and then upload them to the cloud storage server 13.
  • the cloud storage client 111 needs to first download the files stored in the cloud storage server 13 to this machine, and then Then write to other devices 12 through the shared network.
  • users can access cloud storage clients on other devices through browsers or remote desktops on this machine, and select Upload files on other devices to the cloud storage server, or download cloud storage files to the specified file system directory of other devices in the cloud storage client on other devices.
  • the user can log in to the cloud storage client 221 on other devices 22 of the web version through a browser on the user device 21 (that is, this machine), and then use the cloud storage client 221 on other devices 22 to Terminal 221 selects files on other devices 22 from file system 222 to upload to cloud storage server 23, or downloads cloud storage files from cloud storage client 221 on other devices 22 to specified file system directories of other devices 22.
  • the user can log in to the cloud storage client 221 on other devices 22 through remote desktop on the user device 21 (ie, this machine), and then through the cloud storage client 221 on other devices 22 from Select files on other devices 22 in the file system 222 to upload to the cloud storage server 23, or download cloud storage files to the designated file system directories of other devices 22 in the cloud storage client 221 on other devices 22.
  • this method solves the problem of cloud storage file transfer when operating cloud storage files across devices, due to the large delay in cross-network remote operations such as the web version of the cloud storage client and remote desktop, this causes the user to The operating experience is poor.
  • the user's operations on the cloud storage client for files on the local computer and the cloud storage client for remote files are separated, requiring switching between different clients, resulting in poor operating experience.
  • the embodiment of the present application also provides a solution.
  • a cross-device trust channel is established between the cloud storage client on the local machine and the cloud storage client on other devices, and the cloud storage client on the local machine can communicate with other devices through the cross-device trust channel.
  • the cloud storage client on the other device negotiates the files that need to be uploaded or downloaded on other devices, and then the cloud storage client on other devices uploads or downloads the files.
  • the path for uploading or downloading files across devices is shortened, and the delay is reduced, and the user can operate the upload or download of files on other devices through the cloud storage client on the local machine and the user's experience of uploading or downloading files on the local machine unanimous.
  • FIG. 3 shows a schematic diagram of a system architecture of a cross-device collaborative operating system for cloud storage files.
  • the system includes: the system includes: a user device 31 , a sharing device 32 , and a server 33 .
  • the user equipment 31 and the sharing equipment 32 may or may not be in the same local area network.
  • a connection may be established between the user equipment 31 and the server 33 through a network such as a wired network or a wireless network for data exchange.
  • a connection may also be established between the sharing device 32 and the server 33 via a network such as a wired network or a wireless network for data exchange.
  • a connection may also be established between the user equipment 31 and the sharing equipment 32 through a network such as a wired network or a wireless network for data exchange.
  • a network such as a wired network or a wireless network for data exchange.
  • the interaction between the user equipment 31 and the sharing equipment 32 may also be performed through a short-distance wireless communication technology, for example, through Bluetooth interaction.
  • the network involved in this solution may be a local area network (local area networks, LAN), or a wide area network (wide area networks, WAN) (such as the Internet), which is not limited here.
  • the user device 31 can be understood as a device around the user, that is, a device that the user can operate at close range.
  • the shared device 32 can be understood as a device that the user device 31 can remotely access.
  • both the user equipment 31 and the shared equipment 32 can be, but not limited to, mobile phones, tablet computers, wearable devices, smart TVs, Huawei smart screens, smart speakers, car machines, and the like.
  • the shared device 32 may also be a storage device, such as a network attached storage (network attached storage, NAS) device.
  • Exemplary embodiments of the user equipment 31 and the shared equipment 32 include but are not limited to electronic equipment equipped with iOS, android, Windows, Harmony OS or other operating systems. The embodiment of the present application does not specifically limit the type of the electronic device.
  • the server 33 may be a server that can establish a communication connection with electronic equipment such as the user equipment 31 and the sharing equipment 32, and can provide data processing functions, computing functions and/or storage functions for the electronic equipment such as the user equipment 31 and the sharing equipment 32, or It is HyperTerminal.
  • the server 33 may be a hardware server, and may also be embedded in a virtualization environment.
  • the server 33 may be a virtual machine executed on a hardware server including one or more other virtual machines.
  • the server 33 may be a cloud server.
  • a cloud storage client 311 and a file system 312 may be configured in the user device 31
  • a cloud storage client 321 and a shared file system 322 may be configured in the shared device 32 .
  • both the cloud storage client 311 and the cloud storage client 321 may be clients for managing cloud storage files.
  • the file system 312 refers to a system that organizes and allocates the space of the file storage device on the user device 31 , is responsible for file storage, and protects and retrieves stored files. Specifically, it is responsible for creating files for users, storing, reading, modifying, and dumping files, controlling file access, and revoking files when users no longer use them.
  • the shared file system 322 refers to a system that organizes and allocates the space of the file storage device on the shared device 32 , is responsible for file storage, and protects and retrieves stored files. Specifically, it is responsible for creating files for users, storing, reading, modifying, and dumping files, controlling file access, and revoking files when users no longer use them.
  • the user device 31 can access the shared file system 322 in the shared device 32 through its file system 312 .
  • the cloud storage client 311 may be configured with a management module 3111 , a cooperative session module 3112 and an upload and download module 3113 .
  • the cloud storage client 321 may be configured with a cooperative session module 3211 and an upload and download module 3212 .
  • the cloud storage client 311 may call a socket in the user device 31 to respectively establish a network connection with a socket in the sharing device 32 and a socket in the cloud storage server 33 .
  • the cloud storage client 321 can call the socket in the shared device 32 to respectively establish a network connection with the socket in the user device 31 and the socket in the cloud storage server 33 .
  • the management module 3111 in the cloud storage client 311 may be responsible for user operations on the user interface (user interface, UI) of the cloud storage client 311 and related logic processing.
  • the management module 3111 may also have related functions of cross-device cooperative operation. For example, the management module 3111 can confirm whether the source of the uploaded file and the destination of the download are the shared device 32, thereby determining whether to initiate system session negotiation, or initiate the system session negotiation after confirming that the source of the uploaded file and the destination of the download are the shared device 32, Or, receive the transmission progress from the collaborative session module 3112 and display it, or operate the collaborative upload and download tasks to suspend, cancel, and so on.
  • the collaboration session module 3112 in the cloud storage client 311 may be responsible for device discovery, device connection, device authentication, collaboration session negotiation, collaboration session request and control, etc. in cross-device collaboration.
  • the collaborative session module 3112 is mainly used for collaborative request and control. For example, send a collaboration request to the collaboration session module 3211 in the cloud storage client 321, send a control instruction, and so on.
  • the upload and download module 3113 in the cloud storage client 311 can be responsible for related logical processing of cloud storage file upload and download, so that the cloud storage client 311 can have the function of uploading and downloading cloud storage files.
  • the collaboration session module 3211 in the cloud storage client 321 may be responsible for device discovery, device connection, device authentication, collaboration session negotiation and control, etc. in cross-device collaboration.
  • the cooperative session module 3211 is mainly used for cooperative response and receiving instructions, and operates the uploading and downloading module 3212 to realize collaborative uploading and downloading of cloud storage files, etc.
  • the control instruction sent by the collaboration session module 3112 is received, and the upload and download module 3212 is operated based on the control instruction.
  • the upload and download module 3212 in the cloud storage client 321 may be responsible for related logical processing of cloud storage file upload and download.
  • the uploading and downloading module 3212 is mainly used for receiving instructions from the cooperative session module 3211 to realize collaborative uploading and downloading of files.
  • each module in the cloud storage client 311 or the cloud storage client 321 may be implemented by software, hardware, firmware or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • a computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the user equipment 31, the processes or functions corresponding to the cloud storage client 311 described according to the embodiment of the present application are generated in whole or in part. When the computer program instructions are loaded and executed on the shared device 32, the processes or functions corresponding to the cloud storage client 321 described in the embodiment of the present application are generated in whole or in part.
  • the processes executed by each module in the cloud storage client 311 can be understood as being executed by the cloud storage client 311, or as the user equipment where the cloud storage client 311 is located. 31 execution.
  • the processes executed by each module in the cloud storage client 321 can be understood as being executed by the cloud storage client 321 , and can also be understood as being executed by the shared device 32 where the cloud storage client 321 is located.
  • both the cloud storage client 311 and the cloud storage client 321 can be applications, application plug-ins, applets, and the like.
  • FIG. 4 shows a schematic structural diagram of a user equipment; wherein, the user equipment may be the user equipment 31 shown in FIG. 3 .
  • the user equipment may include: a processor 401 , a network interface 402 , a memory 403 , and a display screen 404 .
  • the processor 401, the network interface 402, and the memory 403 may be connected through a bus or in other ways.
  • the processor 401 (or called central processing unit (central processing unit, CPU)) is the calculation core and control core of the user equipment.
  • the processor 401 can assist the cloud storage client 311 to upload and download storage files and so on.
  • the network interface 402 may optionally include a standard wired interface or a wireless interface (such as WI-FI, a mobile communication interface, etc.), and is controlled by the processor 401 for sending and receiving data.
  • the network interface 402 may assist the cloud storage client 311 to send control instructions to the sharing device 32, or assist the cloud storage client 311 to receive feedback information from the sharing device 32, and so on.
  • the memory 403 (memory) is a storage device of the user equipment, and is used for storing programs and data, such as storing cloud storage files downloaded from the server 33 by the user equipment.
  • the display screen 404 may present the user interface of the cloud storage client 311 in the user device to the user. In one example, the display screen 404 may be a touch screen (Touch panel).
  • FIG. 5 shows a schematic structural diagram of a sharing device; wherein, the sharing device may be the sharing device 32 shown in FIG. 3 .
  • the shared device may include: a processor 501 , a network interface 502 , and a memory 503 .
  • the processor 501, the network interface 502, and the memory 503 may be connected through a bus or in other ways.
  • the processor 501 (or called a central processing unit (CPU)) is a computing core and a control core of a shared device.
  • the processor 501 can assist the cloud storage client 321 to upload and download storage files and so on.
  • the network interface 502 may optionally include a standard wired interface or a wireless interface (such as WI-FI, a mobile communication interface, etc.), and is controlled by the processor 501 for sending and receiving data.
  • the network interface 502 may assist the cloud storage client 321 to receive the control instruction sent by the user equipment 31, or assist the cloud storage client 321 to feed back information to the user equipment 31, and the like.
  • the memory 503 (memory) is a memory device of the shared device, and is used to store programs and data, such as storing cloud storage files downloaded from the server 33 by the shared device.
  • FIG. 6 shows a schematic structural diagram of a server; wherein, the server may be the server 33 shown in FIG. 3 .
  • the server includes: a processor 601 , a network interface 602 , and a memory 603 .
  • the processor 601, the network interface 602, and the memory 603 may be connected through a bus or in other ways.
  • the processor 601 (or central processing unit (CPU)) is the computing core and control core of the server. For example, the processor 601 may delete, update, etc. the files stored in the server based on the instruction sent by the user equipment 31 .
  • the network interface 602 may optionally include a standard wired interface, a wireless interface (such as WI-FI, a mobile communication interface, etc.), and is used to send and receive data under the control of the processor 601, for example, to receive data uploaded by the user equipment 31 or the shared equipment 32. files, or send their requested files to the user equipment 31 or the sharing equipment 32, and the like.
  • the memory 603 (memory) is a memory device of the server, and is used for storing programs and data, such as storing files uploaded by the user device 31 or the shared device 32 .
  • FIG. 7 shows a schematic flowchart of a method for uploading a cloud storage file operation.
  • the method for uploading the cloud storage file may include the following steps:
  • Step 1 The cloud storage client 311 sends a file upload instruction to the cloud storage client 321 .
  • the user can select the file to be uploaded from the sharing system 322 of the sharing device 32 in the file system 312 of the user device 31 through the cloud storage client 311 .
  • the cloud storage client 311 sends a file upload instruction to the cloud storage client 321.
  • the file upload instruction may include the path information of the file to be uploaded selected by the user and metadata of the file to be uploaded (such as file name, file type, or characteristic value representing the content of the file, etc.).
  • Step 2 The cloud storage client 321 determines the file to be uploaded based on the file upload instruction.
  • the cloud storage client 321 After the cloud storage client 321 receives the file upload instruction, it can find the file to be uploaded from the shared file system 322 of the shared device 32 through the path information of the file to be uploaded and the metadata of the file to be uploaded included in the file upload instruction.
  • Step 3 the cloud storage client 321 sends the file to be uploaded to the server 33 .
  • the cloud storage client 321 After the cloud storage client 321 determines the file to be uploaded, it can send the file to be uploaded to the server 33 .
  • Step 4 the server 33 stores the file to be uploaded.
  • the server 33 may store the file to be uploaded.
  • FIG. 8 shows a schematic flowchart of a method for downloading a cloud storage file operation.
  • the method for downloading the cloud storage file may include the following steps:
  • Step 1 The cloud storage client 311 sends a file download instruction to the cloud storage client 321 .
  • the user can select the file to be downloaded from the server 33 through the cloud storage client 311 .
  • the cloud storage client 311 sends a file download instruction to the cloud storage client 321 .
  • the file download instruction may include identification information and download path information of the file to be downloaded selected by the user.
  • Step 2 the cloud storage client 321 sends a file download request to the server 33 .
  • the cloud storage client 321 may send a file download request to the server 33 .
  • the file download request may include identification information of the file to be downloaded.
  • Step 3 the server 33 sends the file to be downloaded to the cloud storage client 321.
  • the server 33 After receiving the file download request, the server 33 can find the file to be downloaded through the identification information of the file to be downloaded included in the file download request. Afterwards, the server 33 may send the file to be downloaded to the cloud storage client 321 .
  • Step 4 the cloud storage client 321 stores the file to be downloaded.
  • the cloud storage client 321 may store the file to be downloaded in the download path determined by the download path information in the file download instruction.
  • the cloud storage client 311 can also send a pause instruction or a cancel instruction to the cloud storage client 321; after that, the cloud storage client 321 can suspend uploading or downloading files, or cancel Upload or download files.
  • a collaborative session may be established in advance between the cloud storage client 311 and the cloud storage client 321, so that the two can communicate subsequently.
  • authentication may also be performed between the cloud storage client 311 and the cloud storage client 321 before or during file upload or download, so as to improve the security of file upload or download.
  • the cloud storage client 311 when a file is uploaded or downloaded, can first obtain the upload authentication information from the server 33, and then carry the upload authentication information in the corresponding instruction, so that the cloud storage client 321 can The upload authentication information is carried in the file upload/download request sent to the server 33, so that the server 33 determines to verify the file upload/download request sent by the cloud storage client 321 based on the upload authentication information, thereby improving the upgrade. Security for file uploads or downloads.
  • the cloud storage client 311 in the user device 31 has logged in successfully and is in the user-operable state, so that the user can issue a cloud storage client 321 in the sharing device 32 through the cloud storage client 311 in the user device 31 Operating instructions.
  • the cloud storage client 321 in the sharing device 32 runs online and has logged in, so that the cloud storage client 321 in the sharing device 32 can receive the operation instruction sent by the cloud storage client 311 in the user device 31, and perform the operation instruction.
  • system preset condition may be the condition that the user device 31 and the sharing device 32 need to meet in the cloud storage file cross-device collaborative operation solution provided in this solution.
  • the preset condition is met, the user equipment 31 and the sharing equipment 32 can perform cooperative operations.
  • the collaborative device discovery and authentication process may include:
  • Step 1 The collaborative session module 3211 in the cloud storage client 321 in the sharing device 32 monitors collaborative session requests from other devices in the network.
  • the collaborative session module 3211 in the cloud storage client 321 can establish a listening socket on a specific port (such as a listening port, etc.) of the shared device 32, and monitor the collaborative session from other devices in the network in real time or periodically through the listening socket. session request.
  • the cloud storage client 321 can be started simultaneously with the shared device 32, and is resident to monitor the collaborative session request from the network, so as to know the request of the device that needs to establish a collaborative session in time.
  • Step 2 The collaborative session module 3112 in the cloud storage client 311 on the user equipment 31 initiates a collaborative session.
  • the collaborative session module 3112 in the cloud storage client 311 may be triggered to initiate a collaborative session.
  • the collaborative session module 3112 may periodically initiate a collaborative session while the cloud storage client 311 is in the running state.
  • the collaborative session module 3112 initiates the collaborative session may be understood as the collaborative session module 3112 starts to start the collaborative session.
  • Step 3 The collaborative session module 3112 acquires information about shared devices providing file sharing in the network from the file system 312 on the user device 31 .
  • the collaborative session module 3112 after the collaborative session module 3112 initiates the collaborative session, it can obtain the information of the devices accessible to the user device 31 from the shared device information stored in the file system 312 .
  • the shared device information stored in the file system 312 may include the identity of the shared device.
  • the identity of the shared device may include a host name or an Internet protocol address (internet protocol address, IP address) of the shared device, and the like.
  • the shared device information stored in the file system 312 may include three devices, that is, device 1 , device 2 and device 3 .
  • serial number CPU name IP address equipment 1 xxx x.x.x.x device 2 xxx x.x.x.x device 3 xxx x.x.x.x
  • Step 4 The coordination session module 3112 determines a set of coordination devices to be detected based on the shared device information.
  • the collaborative session module 3112 can determine the identity of the device included in the shared device information from the shared device information.
  • the set of devices included in the shared device information may constitute a set of coordinated devices to be detected. For example, continue to refer to the above "Table 1", at this time, the devices included in the coordinated device set to be detected are device 1, device 2 and device 3.
  • the coordination session module 3112 determines the coordination device to be detected from the collection of coordination devices to be detected.
  • the devices in the set of coordinated devices to be detected may be used as coordinated devices to be detected.
  • the coordinated device to be detected when there is one coordinated device to be detected, the coordinated device to be detected may be the shared device 32 .
  • the shared device 32 may be included in the multiple coordinated devices to be detected.
  • Step 6 the cooperative session module 3112 sends a socket connection request to the sharing device 32 .
  • the cooperative session module 3112 can initiate a socket connection request to the IP address and listening port of the sharing device 32 .
  • the coordinated session module 3112 may send socket connection requests to the multiple coordinated devices to be detected, so that the shared Device 32 may receive a socket connection request.
  • Step 7 The collaborative session module 3211 in the shared device 32 responds to the socket connection request and establishes a socket connection.
  • the collaborative session module 3211 in the shared device 32 can establish a socket connection based on transmission control protocol (transmission control protocol, TCP)/Internet protocol (internet protocol, IP).
  • transmission control protocol transmission control protocol
  • IP Internet protocol
  • Step 8 The collaborative session module 3211 in the sharing device 32 feeds back a socket connection message to the collaborative session module 3112 in the user device 31 .
  • the collaborative session module 3211 in the sharing device 32 after the collaborative session module 3211 in the sharing device 32 establishes a socket connection, it can feed back a socket connection message to the collaborative session module 3112 in the user device 31 on the established socket connection, so that the collaborative session in the user device 31 Module 3112 determines whether a socket connection has been successfully established with the cooperative session module 3211.
  • the socket connection message is mainly used to indicate whether the collaborative session module 3211 in the sharing device 32 has established a socket connection with the collaborative session module 3112 in the user device 31 .
  • Step 9 the collaborative session module 3112 sends a collaborative session request to the collaborative session module 3211 through the established socket connection.
  • the collaborative session module 3112 can determine whether the collaborative session module 3211 in the shared device 32 has established with the collaborative session module 3112 in the user device 31 socket connection. After determining that the collaborative session module 3211 in the sharing device 32 has established a socket connection with the collaborative session module 3112 in the user equipment 31, the collaborative session module 3112 may send a collaborative session request to the collaborative session module 3211 through the established socket connection.
  • the collaborative session request may carry login account information and version information of the cloud storage client 311 in the user device 31 ; wherein, the collaborative session request is mainly used to request to establish a collaborative session with the sharing device 32 .
  • Step 10 the collaborative session module 3211 receives the collaborative session request sent by the collaborative session module 3112, and determines whether to establish a collaborative session.
  • the collaborative session module 3211 after the collaborative session module 3211 receives the collaborative session request, it can combine the login account information and version information of the cloud storage client 321 in the sharing device 32 with the login account information and version information of the cloud storage client 311 in the user device 31 information for comparison.
  • the collaborative session module 3211 may agree to establish a collaborative session with the collaborative session module 3112 when determining that there is a capability intersection between the two versions, or the login account information of the two
  • the collaborative session module 3211 can agree to cooperate with the The session module 3112 establishes a collaborative session; otherwise, it does not agree to establish a collaborative session with the collaborative session module 3112 .
  • similar version information may be understood as a difference between version numbers of cloud storage clients represented by two version information and a preset version interval.
  • the version number of the cloud storage client represented by one of the version information is 1.0
  • the version number of the cloud storage client represented by the other version information is 1.5
  • the preset version interval is 6 versions, it can be determined that The two version information are similar; if the preset version interval is 3 versions, it can be determined that the two version information are not the same and not close.
  • comparing whether the version information of the two is the same or similar can be understood as determining the negotiation capability set between the two cooperative session modules.
  • the negotiation capability set can be understood as a set of the same capabilities of the two, that is, there is a capability intersection. For example, when the versions of the two clients are the same, the two capabilities are the same. When the versions of the clients are inconsistent, at least part of the capabilities of the two clients are the same; the set of the same capabilities between the two clients can be called a negotiation capability set.
  • the collaborative session module 3211 when the collaborative session module 3211 agrees to establish a collaborative session with the collaborative session module 3112, if the version number contained in the version information of the cloud storage client 311 on the user device 31 is higher than that of the cloud storage client on the shared device 32 321 version information contained in the version number, then the collaborative session module 3112 in the user equipment 31 can be compatible with the cloud storage client in the shared device 32 in the capability of the cloud storage client represented by the version information of the cloud storage client 311 in the user equipment 31 When the capabilities of the cloud storage client represented by the version information of the terminal 321 are used, the collaborative session module 3112 can subsequently initiate an upload and download task.
  • the collaborative session module 3211 in the sharing device 32 has the desired collaborative capability of the collaborative session module 3112, so it can be agreed Establish a collaborative session; when the version information of the two is not the same and not close, it can be determined that the two collaborative session modules do not have the same capability, and the collaborative session module 3211 in the shared device 32 does not have the same ability as the collaborative session module 3112. Desired interoperability capabilities, therefore may not agree to establish an interoperability session.
  • comparing the version information of the two can be understood as a negotiation between the two to determine whether there is an intersection between the capabilities of the cloud storage clients of the two.
  • Comparing the login account information of the two can be understood as authentication between the two to determine whether the login accounts of the cloud storage clients of the two are consistent.
  • Step 11 the collaborative session module 3211 feeds back a collaborative session establishment message to the collaborative session module 3112 .
  • the collaborative session module 3211 may feed back a collaborative session establishment message to the collaborative session module 3112 .
  • the collaborative session establishment message is mainly used to indicate that the collaborative session module 3211 has agreed to establish a collaborative session
  • the collaborative session establishment message may carry session credential information.
  • the session credential information is mainly used to indicate that the collaborative session has been successfully established between the two.
  • the session credential information can be used by the collaborative session module 3112 when sending request instructions later.
  • the session credential information may be carried in the request command, and then, after the collaborative session module 3211 receives the request command, it determines that the two have established a collaborative session through the session credential information, In order to avoid the process of establishing a collaborative session again, the processing efficiency is improved.
  • the collaborative session module 3211 may feed back a message that the collaborative session establishment fails to the collaborative session module 3112 .
  • Step 12 the collaborative session module 3112 receives the collaborative session establishment message, and records the device information and session credential information of the sharing device 32 .
  • the collaborative session module 3112 determines that the collaborative session module 3211 in the shared device 32 agrees to establish a collaborative session, it can record the device information and session credential information of the shared device 32 for direct use in subsequent cross-device collaboration.
  • the device information of the shared device 32 may include the host name and/or IP address of the shared device 32.
  • the session credential information may indicate that the two have been authenticated, and it may be time-sensitive, such as being valid within a period of time.
  • process of collaborative device discovery and authentication can be completed in advance, or it can be performed when coordination is required.
  • it can be completed in advance, which is not limited here.
  • step 2 may be performed directly, and after step 5, the collaborative session module 3112 may directly send a collaborative session request to the collaborative session module 3211, and perform subsequent steps.
  • the user can When uploading and uploading the shared files in the sharing device 32, the function of collaborative uploading and downloading of cloud storage files can be enabled.
  • the following describes in detail the collaborative uploading and downloading processes of cloud storage files respectively.
  • FIG. 10 is a communication schematic diagram of a cloud storage file collaborative upload process provided by an embodiment of the present application.
  • the collaborative upload process of cloud storage files may include:
  • Step 1 The user operates and uploads files on the management module 3111 of the cloud storage client 311 on the user device 31 .
  • the user can operate and upload files on the cloud storage client 311 on the user device 31 .
  • the management module 3111 in the cloud storage client 311 may be configured with an entry for operating and uploading files.
  • FIG. 11 a after the user logs into his cloud disk (ie cloud storage client) on the user device 31 , he can select a button in the area a1 , which can be an entry for uploading files.
  • Step 2 The user selects the file upload server 33 in the remote shared folder of the shared device 32 through the file system 322 on the user device 31 .
  • the user can select the file to be uploaded in the sharing device 32 through the user device 31 .
  • the file to be uploaded refers to a file on the shared device 32 that needs to be uploaded to the cloud storage client 311 .
  • the user device 31 can display the The interface shown in 11b is used to select whether to upload the file from the local machine or from the network device.
  • the user can select "network device" in the area a2 on the user device 31 to upload files from the network device.
  • the user device 31 will display the interface shown in Figure 11c. At this time, the user can choose which network device to upload the file from. Among them, the user can select area a3 "Shared device 32".
  • the user device 31 displays the interface shown in Figure 11d, at this time, the user can see the files shared in the shared device 32, and the user can select The file to be uploaded, such as "xx1.doc” in the selected area a4.
  • "xx1.doc" at area a4 is the file to be uploaded.
  • Step 3 The management module 3111 in the cloud storage client 311 determines whether the shared device 32 supports collaboration based on the result of the collaborative device discovery and authentication process.
  • the user equipment 31 may determine whether the sharing device 32 supports collaboration based on the device information of the device that has agreed to establish a collaboration session recorded in the collaboration device discovery and authentication phase. For example, when the shared device 32 agrees to establish a collaborative session, the user device 31 can record the device information of the shared device 32, and then, when the remote device of the file to be uploaded is the shared device 32, the user device 31 can determine the file to be uploaded. The file's remote device supports collaboration.
  • Step 4 When the sharing device 32 supports collaboration, the management module 3111 in the cloud storage client 311 sends a collaborative upload instruction to the collaboration session module 3112 in the cloud storage client 311 .
  • the collaborative upload instruction may include one or more of the following information: instruction command word indicating upload; remote path information of the file to be uploaded; metadata of the file to be uploaded, such as file name and file type , or feature values, etc.; or, session credential information recorded by the collaborative session module 3112 when the collaborative session module in the remote device agrees to establish a collaborative session.
  • the feature value of the file may represent the content of the file, for example, the feature value may be a hash value.
  • Step 5 The collaborative session module 3112 in the cloud storage client 311 sends the collaborative upload instruction to the collaborative session module 3211 in the sharing device 32 .
  • Step 6 The collaborative session module 3211 in the sharing device 32 receives the coordinated upload instruction and verifies the coordinated upload instruction.
  • the collaborative session module 3211 in the sharing device 32 can determine whether the collaborative upload instruction contains one or more of the following information: instruction command word indicating upload, The remote path information of the file, the metadata of the file to be uploaded, or the session credential information, etc.
  • instruction command word indicating upload
  • the remote path information of the file the metadata of the file to be uploaded
  • the session credential information etc.
  • Step 7 After the verification is successful, the cooperative session module 3211 in the sharing device 32 sends the cooperative upload instruction to the uploading and downloading module 3212 in the sharing device 32 .
  • Step 8 The upload and download module 3212 in the shared device 32 receives the cooperative upload instruction, and reads the file to be uploaded from the shared file system 322 of the shared device 32 according to the coordinated upload instruction.
  • the uploading and downloading module 3212 in the shared device 32 can read from the shared file system 322 of the shared device 32 based on the remote path information of the file to be uploaded and the metadata of the file to be uploaded carried in the collaborative upload command. to the content of the file to be uploaded.
  • the remote path information of the file to be uploaded is: D: ⁇ works
  • the file name of the file to be uploaded is: abc
  • the upload and download module 3212 can read the file from the works folder of the D disk of the shared file system 322
  • the file named abc is the file to be uploaded.
  • Step 9 the upload and download module 3212 in the sharing device 32 sends the file to be uploaded to the server 33 .
  • Step 10 the server 33 receives the file to be uploaded and stores the file to be uploaded.
  • Step 11 the uploading and downloading module 3212 in the sharing device 32 sends the upload progress information and uploading result information during the uploading process to the collaborative session module 3211 in the sharing device 32 .
  • the uploading and downloading module 3212 in the sharing device 32 may periodically send the uploading progress information, or may send the uploading progress information according to a preset progress ratio. For example, the upload and download module 3212 may send the upload progress information every 2 seconds, or send the upload progress information every 2% of the upload.
  • Step 12 the collaborative session module 3211 in the sharing device 32 sends upload progress information and upload result information to the collaborative session module 3112 in the user device 31 .
  • Step 13 the cooperative session module 3112 in the user equipment 31 sends upload progress information and upload result information to the management module 3111 in the user equipment 31 .
  • Step 14 the management module 3111 in the user equipment 31 presents upload progress information and upload result information to the user.
  • the management module 3111 receives the upload progress information and the upload result information, it can present these information to the user on the user device 31 through the cloud storage client 311 .
  • the cloud storage client 311 Exemplarily, as shown in Figure 11e, after the user logs in to his cloud disk (that is, the cloud storage client) on the user device 31, he can view the upload progress on the transmission management interface, such as "xx1 .doc" is 30% uploaded.
  • the server 33 can update the cloud storage file stored therein. Afterwards, the latest uploaded file can be viewed through the cloud storage client 311 on the user device 31 .
  • each step in the cloud storage file collaborative upload process may be executed in whole or in part, which is not limited here.
  • the management module 3111 in the cloud storage client 311 may directly send a collaborative upload instruction to the collaborative session module 3112 in the cloud storage client 311 (that is, execute step 4), and execute next steps.
  • steps 11 to 14 may or may not be performed, which may be determined according to actual conditions, and are not limited herein.
  • Fig. 12 is a communication schematic diagram of a cloud storage file collaborative download process provided by the embodiment of the present application.
  • the collaborative downloading process of cloud storage files may include:
  • Step 1 The user operates and downloads cloud storage files on the management module 3111 of the cloud storage client 311 on the user device 31 .
  • the user can operate and download the cloud storage file in the cloud storage client 311 on the user device 31 .
  • Step 2 The user selects the remote shared folder of the shared device 32 as the target address for downloading the cloud storage file through the file system 322 on the user device 31 .
  • the user may select a folder in the shared device 32 as the download target address of the selected cloud storage file.
  • the user selects "xxa.doc” in the area b1 in FIG. 13a, and the interface shown in FIG. 13b may be displayed on the user equipment 31.
  • the user may select the "more” button in the area b2, and the user equipment 31 displays an interface as shown in FIG. 13c.
  • the user can choose to cache "xxa.doc” locally or save it to other places.
  • the user may select the "Save to" button in the area b3, and then the user device 31 may display an interface as shown in FIG. 13d.
  • the user can select the "shared device 32" in the area b4, and at this time the user chooses to save "xxa.doc” to the shared device 32.
  • the interface shown in Figure 13e can be displayed on the user device 31. At this time, the user can select the "xx1. .doc” will be downloaded to the "xx1.folder".
  • Step 3 The management module 3111 in the cloud storage client 311 determines whether the shared device 32 supports collaboration based on the result of the collaborative device discovery and authentication process.
  • the user equipment 31 may determine whether the sharing device 32 supports collaboration based on the device information of the device that has agreed to establish a collaboration session recorded in the collaboration device discovery and authentication phase. For example, when the shared device 32 agrees to establish a collaboration session, the user device 31 can record the device information of the shared device 32, and then, when the remote device of the file to be downloaded is the shared device 32, the user device 31 can determine the file to be downloaded. The file's remote device supports collaboration.
  • Step 4 In the case that the sharing device 32 supports collaboration, the management module 3111 in the cloud storage client 311 sends a coordinated download instruction to the collaboration session module 3112 in the cloud storage client 311 .
  • the coordinated download instruction may include one or more of the following information: instruction command word indicating download; identification information of the file to be downloaded; download path information of the file to be downloaded; or, in the remote device
  • instruction command word indicating download
  • identification information of the file to be downloaded indicating download
  • download path information of the file to be downloaded or, in the remote device
  • the collaborative session module 3112 records session credential information.
  • Step 5 the collaborative session module 3112 in the cloud storage client 311 sends a coordinated download instruction to the collaborative session module 3211 in the sharing device 32 .
  • Step 6 The collaborative session module 3211 in the sharing device 32 receives the coordinated download instruction, and verifies the coordinated download instruction.
  • the coordinated session module 3211 in the shared device 32 can determine whether the coordinated download command contains one or more of the following information: the instruction command word indicating download, the Identification information of the file, download path information of the file to be downloaded, or session credential information, etc.
  • the coordinated download instruction contains one or more items of the above information, the verification is successful; otherwise, the verification fails.
  • Step 7 After the verification is successful, the coordinated session module 3211 in the sharing device 32 sends a coordinated download instruction to the uploading and downloading module 3212 in the sharing device 32 .
  • Step 8 The uploading and downloading module 3212 in the sharing device 32 receives the coordinated downloading instruction, and sends a file downloading request to the server 33 .
  • the file download request can carry the identification information of the file to be downloaded, so that the server 33 can know the download file required by the upload and download module 3212 .
  • Step 9 the server 33 sends the download file to the upload and download module 3212 in the sharing device 32 .
  • the upload and download module 3212 in the sharing device 32 receives the download file, and writes the download file into the target folder in the coordinated download instruction.
  • the target folder may be determined by download path information of the file to be downloaded. For example, if the download path information of the file to be downloaded is D: ⁇ works, then the target folder is works.
  • Step 11 the uploading and downloading module 3212 in the sharing device 32 sends the download progress information and downloading result information during the downloading process to the collaborative session module 3211 in the sharing device 32 .
  • the uploading and downloading module 3212 in the sharing device 32 can periodically send the downloading progress information, or can send the downloading progress information according to a preset progress ratio.
  • the upload and download module 3212 may send the download progress information every 2 seconds, or send the download progress information every 2% of the upload.
  • Step 12 the collaborative session module 3211 in the sharing device 32 sends download progress information and download result information to the collaborative session module 3112 in the user device 31 .
  • Step 13 the cooperative session module 3112 in the user equipment 31 sends download progress information and download result information to the management module 3111 in the user equipment 31 .
  • Step 14 the management module 3111 in the user equipment 31 presents download progress information and download result information to the user.
  • the management module 3111 after the management module 3111 receives the download progress information and the download result information, it can present these information to the user on the user device 31 through the cloud storage client 311 .
  • the cloud storage client 311 Exemplarily, as shown in Figure 13f, after the user logs in to his cloud disk (that is, the cloud storage client) on the user device 31, he can view the download progress on the transmission management interface, as shown in the area b6 " xxa.doc" is 30% downloaded.
  • each step in the collaborative downloading process of the cloud storage file may be executed in whole or in part, which is not limited here.
  • the management module 3111 in the cloud storage client 311 may directly send a collaborative upload instruction to the collaborative session module 3112 in the cloud storage client 311 (that is, execute step 4), and execute next steps.
  • steps 11 to 14 may or may not be performed, which may be determined according to actual conditions, and are not limited herein.
  • the remote device Since the remote device performs operations such as uploading and downloading by itself, it can also make full use of the bandwidth and online advantages of the remote device; in addition, when the remote device performs operations such as uploading and downloading, it does not occupy the local mobile network bandwidth and central processing unit (central processing unit, CPU) system resources, reducing the consumption of local resources.
  • central processing unit central processing unit, CPU
  • the user can also initiate operations such as suspending and canceling through the management module 3111 on the cloud storage client 311 on the user device 31 .
  • the user's operations such as pausing and canceling during the collaborative upload and download of cloud storage files may include the following steps:
  • Step 1 The user performs a pause or cancel operation on the management module 3111 of the cloud storage client 311 on the user device 31 .
  • the user can select the transfer progress button at area a6 on the transfer management interface of the cloud disk (that is, the cloud storage client) logged in on the user device 31, and the user has performed a pause operation at this time .
  • the user can select the transfer progress button in the area b7 on the transfer management interface of the cloud disk (that is, the cloud storage client) logged in on the user device 31, and the user performs a pause operation at this time.
  • Step 2 The management module 3111 in the cloud storage client 311 sends a collaborative operation instruction to the collaborative session module 3112 in the cloud storage client 311 .
  • the cooperative operation instruction is mainly used to instruct to suspend the operation or cancel the operation.
  • the cooperative operation instruction may include one or more of the following information: instruction command word indicating suspension or cancellation; task information to be operated; or, when the cooperative session module in the remote device agrees to establish a cooperative session, The session credential information recorded by the collaborative session module 3112.
  • Step 3 The collaborative session module 3112 in the cloud storage client 311 sends a collaborative operation instruction to the collaborative session module 3211 in the cloud storage client 321 on the sharing device 32 .
  • Step 4 The cooperative session module 3211 in the cloud storage client 321 on the sharing device 32 receives the coordinated operation instruction and verifies the coordinated operation instruction.
  • the cooperative session module 3211 in the sharing device 32 can determine whether the cooperative operation instruction contains one or more of the following information: the instruction command word indicating suspension or cancellation; Task information for the operation; or, session credential information, etc.
  • the cooperative operation instruction contains one or more items of the above information, the verification is successful; otherwise, the verification fails.
  • Step 5 After the verification is successful, the cooperative session module 3211 in the sharing device 32 sends a cooperative operation instruction to the uploading and downloading module 3212 in the sharing device 32 .
  • Step 6 The uploading and downloading module 3212 in the shared device 32 executes the coordinated operation instruction to suspend or cancel the uploading and downloading process.
  • Step 7 The uploading and downloading module 3212 in the sharing device 32 sends execution result information to the collaborative session module 3211 in the sharing device 32 .
  • Step 8 The collaborative session module 3211 in the sharing device 32 sends execution result information to the collaborative session module 3112 in the user device 31 .
  • Step 9 The cooperative session module 3112 in the user equipment 31 sends execution result information to the management module 3111 in the user equipment 31 .
  • Step 10 the management module 3111 in the user equipment 31 presents the execution result information to the user.
  • the area a6 on the user equipment 31 may display that the upload has been suspended.
  • the area b7 on the user equipment 31 can display the paused download.
  • the above is the introduction of a cloud storage file cross-device collaborative operation solution involved in this solution.
  • another cloud storage file cross-device collaborative operation solution involved in this solution is introduced.
  • the login account of the cloud storage client on the user device and the login account of the cloud storage client on the shared device may be the same or different.
  • the cloud storage client on the shared device may not have a login account, that is, in this solution.
  • account verification links can be reduced.
  • the cloud storage file cross-device cooperative operation solution is only an exemplary description, and does not constitute a specific limitation to the embodiment of the present application.
  • the collaborative device discovery process of the cloud storage file cross-device collaborative operation scheme is similar to the "cooperative device discovery and authentication process” described above, the difference between the two is that there is no An “authentication process” is required.
  • the process of the coordinated device discovery is different from the “coordinated device discovery and authentication process” described above.
  • the main differences are: the information carried in the collaborative session request is different, the process of determining whether to establish a collaborative The information is different.
  • the collaborative session request may carry the version information of the cloud storage client 311 in the user device 31; wherein, the collaborative session request is mainly used for requesting and sharing Device 32 establishes a collaborative session.
  • the version information of the cloud storage client 321 in the sharing device 32 may be compared with the version information of the cloud storage client 311 in the user device 31 .
  • the version information of the two may be agreed to establish a collaborative session with the collaborative session module 3112; otherwise, it is not agreed to establish a collaborative session with the collaborative session module 3112.
  • comparing the version information of the two can be understood as a negotiation between the two to determine whether there is an intersection between the capabilities of the cloud storage clients of the two.
  • the device information of the shared device 32 can be recorded.
  • session credential information may not be recorded.
  • the user can When uploading the shared file in the shared device 32, the function of collaborative uploading and downloading of cloud storage files can be enabled.
  • the following describes in detail the collaborative uploading and downloading processes of cloud storage files respectively.
  • FIG. 16 shows a communication schematic diagram of a cloud storage file collaborative upload process.
  • the collaborative upload process of cloud storage files may include:
  • Step 1 The user operates on the management module 3111 in the cloud storage client 311 on the user device 31 to upload files to the server 33 .
  • Step 2 The user selects the file upload server 33 in the remote shared folder of the shared device 32 through the file system 322 on the user device 31 .
  • Step 3 The management module 3111 in the cloud storage client 311 determines whether the shared device 32 supports collaboration based on the result of the collaborative device discovery and authentication process.
  • Step 4 when the sharing device 32 supports collaboration, the management module 3111 in the cloud storage client 311 sends an upload request message to the server 33 .
  • the upload request message may be used to request to upload a file to the server 33 .
  • the upload request message may carry metadata of the file to be uploaded, such as file name, file type, or characteristic value, where the characteristic value may be a hash value.
  • Step 5 The server 33 sends upload authentication information to the management module 3111 in the cloud storage client 311 in response to the upload request message.
  • the server 33 may generate upload credential information, which may be a random number, and may be valid within a preset time period.
  • the server 33 may also sign the metadata and/or characteristic value of the file to be uploaded to generate upload signature information.
  • the upload certificate information can be used for server 33 to verify whether it agrees to upload in the follow-up;
  • the upload signature information can be used for server 33 to verify in the follow-up whether the upload file received by it is the file uploaded by the cloud storage client 311, so as to Prevent the file uploaded by the cloud storage client 311 from being tampered with.
  • the file name of the file can be used to prevent the file name of the file from being tampered with later, and the characteristic value of the file can be used to prevent the content of the file from being tampered with later.
  • the server 33 can send upload authentication information to the management module 3111 in the cloud storage client 311, wherein the upload authentication information can include upload credential information and/or upload signature information .
  • Step 6 The management module 3111 in the cloud storage client 311 sends a collaborative upload instruction to the collaborative session module 3112 in the cloud storage client 311 .
  • one or more of the following information may be included in the collaborative upload instruction: the instruction command word indicating upload; the remote path information of the file to be uploaded; the metadata of the file to be uploaded, such as the file name (the user may modification), collection attributes and other necessary file attribute information; or, upload authentication information.
  • Step 7 The collaborative session module 3112 in the cloud storage client 311 sends the collaborative upload instruction to the collaborative session module 3211 in the sharing device 32 .
  • Step 8 The collaborative session module 3211 in the sharing device 32 receives the coordinated upload instruction, and verifies the coordinated upload instruction.
  • the collaborative session module 3211 in the sharing device 32 can determine whether the collaborative upload instruction contains one or more of the following information: instruction command word indicating upload, The remote path information of the file, the metadata of the file to be uploaded, or upload authentication information, etc.
  • instruction command word indicating upload
  • the remote path information of the file the metadata of the file to be uploaded
  • upload authentication information etc.
  • Step 9 After the verification is successful, the cooperative session module 3211 in the sharing device 32 sends the cooperative upload instruction to the uploading and downloading module 3212 in the sharing device 32 .
  • Step 10 the uploading and downloading module 3212 in the shared device 32 receives the coordinated upload instruction, and reads the file to be uploaded from the shared file system 322 of the shared device 32 according to the coordinated upload instruction.
  • Step 11 the upload and download module 3212 in the sharing device 32 sends a file upload request message and the file to be uploaded to the server 33 .
  • the file upload request message may be used to request to upload a file to be uploaded.
  • the file upload request message may carry upload authentication information.
  • Step 12 the server 33 receives the file upload request message, and verifies the upload authentication information.
  • the server 33 may verify the upload authentication information in the file upload request message.
  • the server 33 can verify whether the upload credential information is issued by it, and when the verification is issued by it, the verification is passed; The test failed.
  • the server 33 can authenticate the upload signature information to determine whether the file received by the user equipment 31 is applied for upload, and when it is determined that the user equipment 31 applies for upload, then Validation passed; otherwise, validation failed.
  • Step 13 when the verification is passed, the server 33 receives the file to be uploaded and stores the file to be uploaded.
  • the cloud storage client 321 in the sharing device 32 can also send the upload progress information and upload result information in the upload process to the cloud storage client 311 in the user device 31, so that the cloud storage client 311 Present upload progress information and upload result information to the user, see the relevant description in Figure 11 above for details, and will not repeat them here.
  • each step in the cloud storage file collaborative upload process may be executed in whole or in part, which is not limited here.
  • the management module 3111 in the cloud storage client 311 may directly send an upload request message to the server 33 (that is, perform step 4), and perform subsequent steps.
  • the request initiator that is, the cloud storage client on the user device
  • the cloud storage server checks the uploaded information during the upload process. Therefore, when the login account of the cloud storage client on the shared device is different from the login account of the cloud storage client on the user device, the cloud storage client on the shared device can also be the same as the cloud storage client on the user device. Collaboration enables the cloud storage client on the shared device to provide services for multiple different users, which expands the applicability.
  • FIG. 17 is a schematic communication diagram of a cloud storage file collaborative download process provided by an embodiment of the present application.
  • the collaborative downloading process of cloud storage files may include:
  • Step 1 The user operates and downloads cloud storage files on the management module 3111 of the cloud storage client 311 on the user device 31 .
  • Step 2 The user selects the remote shared folder of the shared device 32 as the target address for downloading the cloud storage file through the file system 322 on the user device 31 .
  • Step 3 The management module 3111 in the cloud storage client 311 determines whether the shared device 32 supports collaboration based on the result of the collaborative device discovery and authentication process.
  • Step 4 when the sharing device 32 supports collaboration, the management module 3111 in the cloud storage client 311 sends a download request message to the server 33 .
  • the download request message may be used to request to download files from the server 33 .
  • the upload request message may carry identification information of the file to be downloaded.
  • Step 5 The server 33 sends download authentication information to the management module 3111 in the cloud storage client 311 in response to the download request message.
  • the server 33 may generate download credential information.
  • the download credential information may be a random number, which may be valid within a preset time period.
  • the server 33 may also sign the identification information of the file to be downloaded to generate download signature information.
  • the download credential information can be used for the server 33 to verify whether it agrees to download later;
  • the server 33 can send the download authentication information to the management module 3111 in the cloud storage client 311, wherein the download authentication information can include the download credential information and/or the download signature information .
  • Step 6 The management module 3111 in the cloud storage client 311 sends a coordinated download instruction to the collaborative session module 3112 in the cloud storage client 311.
  • the coordinated download instruction may include one or more of the following information: instruction command word indicating download; identification information of the file to be downloaded; download path information of the file to be downloaded; or download authentication information.
  • Step 7 The collaborative session module 3112 in the cloud storage client 311 sends a coordinated download instruction to the collaborative session module 3211 in the sharing device 32 .
  • Step 8 The collaborative session module 3211 in the sharing device 32 receives the coordinated download instruction, and verifies the coordinated download instruction.
  • the coordinated session module 3211 in the shared device 32 can determine whether the coordinated download command contains one or more of the following information: the instruction command word indicating download, the Identification information of the file, download path information of the file to be downloaded, or download authentication information, etc.
  • the coordinated download instruction contains one or more items of the above information, the verification is successful; otherwise, the verification fails.
  • Step 9 after the collaborative session module 3211 in the shared device 32 has verified successfully, it sends a coordinated download instruction to the upload and download module 3212 in the shared device 32.
  • Step 10 the uploading and downloading module 3212 in the sharing device 32 receives the coordinated downloading instruction, and sends a file downloading request to the server 33 .
  • the file download request can carry the identification information of the file to be downloaded and the download authentication information, so that the server 33 can know the download file required by the upload and download module 3212 and verify the download authentication information.
  • Step 11 the server 33 receives the file download request, and verifies the download authentication information.
  • the server 33 may verify the download authentication information carried in the file download request.
  • the server 33 can verify whether the download credential information is issued by it, and when the verification is issued by it, the verification is passed; The test failed.
  • the download authentication information includes the download signature information
  • the server 33 can authenticate the download signature information to determine whether the file currently applied for download is applied for download by the user equipment 31, and when it is determined that the user equipment 31 applies for download, then Validation passed; otherwise, validation failed.
  • Step 12 When the verification is passed, the server 33 sends the download file to the upload and download module 3212 in the shared device 32 .
  • Step 13 the upload and download module 3212 in the sharing device 32 receives the download file, and writes the download file into the target folder in the cooperative download command.
  • step 13 the cloud storage client 321 in the sharing device 32 can also send the download progress information and download result information in the download process to the cloud storage client 311 in the user device 31, so that the cloud storage client 311 For presenting download progress information and download result information to the user, refer to the relevant description in FIG. 12 above for details, and details will not be repeated here.
  • each step in the collaborative downloading process of the cloud storage file may be executed in whole or in part, which is not limited here.
  • the management module 3111 in the cloud storage client 311 may directly send a download request message to the server 33 (that is, execute step 4), and execute subsequent steps.
  • the request initiator that is, the cloud storage client on the user device
  • the cloud storage server verifies the download information during the download process. Therefore, when the login account of the cloud storage client on the shared device is different from the login account of the cloud storage client on the user device, the cloud storage client on the shared device can also be the same as the cloud storage client on the user device. Collaboration enables the cloud storage client on the shared device to provide services for multiple different users, which expands the applicability.
  • the user can also initiate operations such as suspending and canceling through the management module 3111 on the cloud storage client 311 on the user device 31 .
  • suspension, cancellation, and other operations of the cloud storage file cross-device collaborative operation scheme are similar to the "pause, cancel, etc. operations" described above. The difference between the two lies in: The information is different, and the verification co-operation instructions are different.
  • the cooperative operation instruction may include one or more of the following information: the instruction command word indicating suspension or cancellation; the task to be operated information; alternatively, authentication information.
  • the authentication information is the upload authentication information.
  • the authentication information is the download authentication information.
  • the coordinated operation instruction When checking the coordinated operation instruction, it can be determined whether the coordinated operation instruction contains one or more of the following information: instruction command word indicating suspension or cancellation; task information to be operated; or authentication information, etc. When the coordinated operation instruction contains one or more of the above information, the verification is successful; otherwise, the verification fails.
  • the discovery of collaborative devices can also be realized through the Bonjour service discovery protocol during the collaborative device discovery process.
  • the channel used for communication negotiation between the user equipment and the shared equipment may be implemented by using other mature communication channels or communication buses in addition to self-built communication channels.
  • remote device file access is not limited to shared file systems, and distributed file systems or storage services of other protocols can also be used.
  • the cross-device data operation method can be applied to a system including a first device, a second device and a server, and the first device can remotely access shared data on the second device.
  • the first device may be the user device 31 shown in FIG. 3
  • the second device may be the shared device 32 shown in FIG. 3
  • the server may be the cloud storage server 33 shown in FIG. 3 .
  • FIG. 18 shows a cross-device data operation method. As shown in Figure 18, the method may include the following steps:
  • the first device determines path information of the data to be uploaded in response to the acquired first instruction, where the data to be uploaded is located in the second device.
  • the user may perform operations on the first device to send the first instruction to the first device.
  • the operation performed by the user on the first device may be the file upload operation described in FIG. 10 or FIG. 16 .
  • the first instruction can be understood as an instruction generated after the user performs an operation on the first device.
  • the first device can remotely access the data shared by the second device, and then can determine the path information of the data to be uploaded.
  • the process of determining the path information of the data to be uploaded may refer to the description of steps 1 and 2 in FIG. 10 or FIG. 16 , and details are not repeated here.
  • the data to be uploaded may be the file to be uploaded as described in FIG. 10 or FIG. 16 .
  • the data to be uploaded may include one or more files.
  • the first device sends a first message to the second device, where the first message includes path information, and the first message is used to instruct the second device to upload the data to be uploaded to the server.
  • the first device may send a first message including the path information to the second device, where the first message may be used to instruct the second device to upload the data to be uploaded to server.
  • the first message may be the file upload instruction described in FIG. 7 , or the coordinated upload instruction described in FIG. 10 or FIG. 16 .
  • the first message further includes identification information of the data to be uploaded.
  • the first message further includes session credential information, where the session credential information is an authenticated credential between the first device and the second device.
  • the session credential information may be the session credential information described in FIG. 9 .
  • the first device may also determine the association relationship between the first account on the first device and the second account on the second device; and generate session credential information.
  • determining the association relationship between the first account on the first device and the second account on the second device may be understood as determining whether the two accounts are the same account as described in FIG. 9 .
  • the first device may also determine an association relationship between the first version corresponding to the first account and the second version corresponding to the second account.
  • determining the association relationship between the first version corresponding to the first account and the second version corresponding to the second account can be understood as whether there is capability intersection between the two versions described in FIG. 9 .
  • the first account may be a device-level account.
  • the first account is an account for logging in to the first device, or it may be an application-level account.
  • the first account is for logging in to one or more applications on the first device. account number.
  • the second account may be a device-level account.
  • the second account is an account for logging in to the second device, or it may be an application-level account.
  • the second account is for logging in to one or more applications on the second device. account number.
  • the session credential information may also be generated by the second device.
  • the second device may determine the association relationship between the first account on the first device and the second account on the second device before obtaining the first message, and generating session credential information, and sending the session credential information to the first device.
  • the first device can obtain the session credential information sent by the second device.
  • the second device may determine an association relationship between the first version corresponding to the first account and the second version corresponding to the second account.
  • the first version corresponding to the first account may be the version of the application logged into the first account; when the second account is an application-level account, the first version corresponding to the second account may be The second version may be a version of the application logged into the second account.
  • the first device may also send a first request to the server, and the first request is used to request to upload data to be uploaded; wherein, the server may respond to the obtained first request, generate upload authentication information, and send the upload authentication information to the first device.
  • the first device may acquire the upload authentication information sent by the server, and the upload authentication information is used by the server to verify the data to be uploaded after acquiring the data to be uploaded sent by the second device.
  • the first request may be the upload request message described in FIG. 16
  • the upload authentication information may be the upload authentication information described in FIG. 16 .
  • the first device may carry the upload authentication information in the first message, so that the second device may obtain the upload authentication information.
  • the first device may determine an association relationship between the first version corresponding to the first account on the first device and the second version corresponding to the second account on the second device.
  • determining the association relationship between the first version corresponding to the first account and the second version corresponding to the second account can be understood as whether there is capability intersection between the two versions described in FIG. 9 .
  • the second device determines the data to be uploaded according to the path information contained in the first message.
  • the second device may determine the data to be uploaded from the path information contained in the first message.
  • the process of determining the data to be uploaded may refer to the relevant description in step 8 in FIG. 10 or step 10 in FIG. 16 , which will not be repeated here.
  • the second device may determine the data to be uploaded according to the identification information and path information.
  • the second device sends the data to be uploaded to the server.
  • the second device may send the data to the server.
  • the server stores the data to be uploaded.
  • the server may store the data to be uploaded.
  • a first client may be configured on the first device, a first account may be logged on the first client, a second client may be configured on the second device, and a second account may be logged on the second client.
  • Two accounts where the signaling interaction between the first device and the second device can be performed by the first client and the second client, and the signaling interaction between the second device and the server can be performed by the second client and the server implement.
  • the first device may be the user device 31 shown in FIG. 3
  • the second device may be the shared device 32 shown in FIG. 3
  • the server may be the cloud storage server 33 shown in FIG. 3
  • the first client may It is the cloud storage client 311 shown in FIG. 3
  • the second client may be the cloud storage client 321 shown in FIG. 3 .
  • the first device can send a message indicating to upload data to the second device, so that the second device can upload the data on it to the server, so that the second device can be controlled by the first device It can directly communicate with the server, which shortens the data upload path and reduces the delay, and the operation experience is also consistent with the local file upload experience, which improves the user experience.
  • FIG. 19 shows another cross-device data operation method.
  • the method may include the following steps:
  • the first device determines target information of the data to be downloaded in response to the acquired second instruction, where the target information includes identification information and/or download path information, and the storage path represented by the download path information is located in the second device.
  • the user may perform operations on the first device to send the second instruction to the first device.
  • the operation performed by the user on the first device may be the file download operation described in FIG. 12 or FIG. 17 .
  • the second instruction can be understood as an instruction generated after the user performs an operation on the first device.
  • the first device may determine the target information of the data to be downloaded based on the user's operation.
  • the target information may include identification information and/or download path information, and the storage path represented by the download path information is located at in the second device.
  • the process of determining the target information of the data to be downloaded may refer to the description of steps 1 and 2 in FIG. 12 or FIG. 17 , and details are not repeated here.
  • the data to be downloaded may include one or more files.
  • the first device sends a second message to the second device, where the second message includes target information, and the second message is used to instruct the second device to download data to be downloaded from the server.
  • the first device may send a second message including the target information to the second device, where the second message is used to instruct the second device to download the data to be downloaded from the server.
  • the first message may be the file download instruction described in FIG. 8 , or the coordinated download instruction described in FIG. 12 or FIG. 17 .
  • the second message further includes session credential information, where the session credential information is an authenticated credential between the first device and the second device.
  • the session credential information may be the session credential information described in FIG. 9 .
  • the first device may also determine the association relationship between the first account on the first device and the second account on the second device; and generate session credential information.
  • determining the association relationship between the first account on the first device and the second account on the second device may be understood as determining whether the two accounts are the same account as described in FIG. 9 .
  • the first device may also determine an association relationship between the first version corresponding to the first account and the second version corresponding to the second account.
  • determining the association relationship between the first version corresponding to the first account and the second version corresponding to the second account can be understood as whether there is capability intersection between the two versions described in FIG. 9 .
  • the first account may be a device-level account.
  • the first account is an account for logging in to the first device, or it may be an application-level account.
  • the first account is for logging in to one or more applications on the first device. account number.
  • the second account may be a device-level account.
  • the second account is an account for logging in to the second device, or it may be an application-level account.
  • the second account is for logging in to one or more applications on the second device. account number.
  • the session credential information may also be generated by the second device.
  • the second device may determine the association relationship between the first account on the first device and the second account on the second device before obtaining the second message, and generating session credential information, and sending the session credential information to the first device.
  • the first device can obtain the session credential information sent by the second device.
  • the second device may determine an association relationship between the first version corresponding to the first account and the second version corresponding to the second account.
  • the first version corresponding to the first account may be the version of the application logged into the first account; when the second account is an application-level account, the first version corresponding to the second account may be The second version may be a version of the application logged into the second account.
  • the first device may also send a second request to the server, and the second request is used to request to download the data to be downloaded; wherein, the server may respond to the obtained second request, generate download authentication information, and send the download authentication information to the first device.
  • the first device may obtain the download authentication information sent by the server, and the download authentication information is used for the server to verify the third request for obtaining the data to be downloaded sent by the second device, and the third request may include downloading Certification Information.
  • the second request may be the download request message described in FIG. 17
  • the download authentication information may be the download authentication information described in FIG. 17 .
  • the first device may carry the download authentication information in the second message, so that the second device can obtain the download authentication information.
  • the first device may determine an association relationship between the first version corresponding to the first account on the first device and the second version corresponding to the second account on the second device.
  • determining the association relationship between the first version corresponding to the first account and the second version corresponding to the second account can be understood as whether there is capability intersection between the two versions described in FIG. 9 .
  • the second device obtains the second message sent by the first device, and in response to the obtained second message, sends a third request to the server, where the third request is used to request to obtain the data to be downloaded.
  • the second device may send a third request to the server for requesting to obtain the data to be downloaded, so as to request to download the data to be downloaded.
  • the third request may be the file download request described in FIG. 12 or FIG. 17
  • the data to be downloaded may be the target download file described in FIG. 12 or FIG. 17 .
  • the server determines the data to be downloaded in response to the acquired third request.
  • the server may find the data to be downloaded from the files stored therein.
  • the server may verify the third request and determine that the verification is passed.
  • the verification process may refer to the description in step 11 in FIG. 17 , which will not be repeated here.
  • the server sends the data to be downloaded to the second device.
  • the server may send the data to be downloaded to the second device.
  • the second device stores the data to be downloaded in the storage path represented by the download path information.
  • the second device may store the data to be downloaded in the storage path represented by the download path information.
  • a first client may be configured on the first device, a first account may be logged on the first client, a second client may be configured on the second device, and a second account may be logged on the second client.
  • Two accounts where the signaling interaction between the first device and the second device can be performed by the first client and the second client, and the signaling interaction between the second device and the server can be performed by the second client and the server implement.
  • the first device may be the user device 31 shown in FIG. 3
  • the second device may be the shared device 32 shown in FIG. 3
  • the server may be the cloud storage server 33 shown in FIG. 3
  • the first client may It is the cloud storage client 311 shown in FIG. 3
  • the second client may be the cloud storage client 321 shown in FIG. 3 .
  • the first device can send a message indicating to download data to the second device, so that the second device can request the server to obtain the data, and then receive the data sent by the server, and store the data, by
  • This enables the second device to directly communicate with the server under the control of the first device, thereby shortening the data download path and reducing the delay, and the operation experience is also consistent with the local file download experience, which improves the user experience.
  • processor in the embodiments of the present application may be a central processing unit (central processing unit, CPU), and may also be other general processors, digital signal processors (digital signal processor, DSP), application specific integrated circuits (application specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
  • CPU central processing unit
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general-purpose processor can be a microprocessor, or any conventional processor.
  • the method steps in the embodiments of the present application may be implemented by means of hardware, or may be implemented by means of a processor executing software instructions.
  • the software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (random access memory, RAM), flash memory, read-only memory (read-only memory, ROM), programmable read-only memory (programmable rom) , PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable programmable read-only memory (electrically EPROM, EEPROM), register, hard disk, mobile hard disk, CD-ROM or known in the art any other form of storage medium.
  • An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium.
  • the storage medium may also be a component of the processor.
  • the processor and storage medium can be located in the ASIC.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application will be generated in whole or in part.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in or transmitted via a computer-readable storage medium.
  • the computer instructions may be transmitted from one website site, computer, server, or data center to another website site by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) , computer, server or data center for transmission.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media.
  • the available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (solid state disk, SSD)), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种跨设备数据操作方法包括:第一设备响应于获取到的第一指令,确定待上传数据的路径信息,待上传数据位于第二设备中;第一设备向第二设备发送第一消息,第一消息中包括路径信息,第一消息用于指示第二设备将待上传数据上传至服务器。这样,第一设备在获取到第一指令后可以向第二设备发送指示上传数据的消息,从而第二设备可以将其上的数据上传至服务器,从而使得第二设备在第一设备的控制下可以直接与服务器进行通信,进而到缩短了数据上传路径,减少了延时,提升了用户体验。

Description

一种跨设备数据操作方法及系统
本申请要求于2021年7月7日提交中国国家知识产权局、申请号为202110769480.8、申请名称为“一种跨设备数据操作方法及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种跨设备数据操作方法及系统。
背景技术
随着计算机技术的快速发展,人们生活或工作中涉及的数据呈现爆发式增长,使得存储需求也大幅增加,进而使得云存储业务得到了快速发展。云存储业务是指为用户提供云端文件存储的服务,即为用户提供云存储服务的业务。其中,用户可以通过云存储客户端(如云盘或网盘等客户端)将设备上的文件上传到服务器保存,也可以对服务器中的文件进行浏览,更新和下载等管理操作。
目前,在用户使用云存储业务中,用户除了对本机上的文件做操作(如上传本机的文件到服务器或下载服务器中存储的文件到本机)外,有时还会对本机可访问的其他设备上的文件进行管理。比如,用户可以利用本机管理局域网内共享的其他设备的文件,以及选择将其他设备上的文件上传到服务器保存,或者将服务器存储的文件下载到本机可访问的其他设备保存。但目前在跨设备操作云存储文件时常常会出现中转云存储文件的问题,体验较差。
发明内容
本申请提供了一种跨设备数据操作方法、系统、电子设备、计算机存储介质及计算机程序产品,能够避免在跨设备操作云存储文件出现云存储文件中转的问题,并提升操作体验。
第一方面,本申请提供了一种跨设备数据操作方法,应用于第一设备,第一设备可远程访问第二设备上的共享数据,该方法可以包括:第一设备响应于获取到的第一指令,确定待上传数据的路径信息,待上传数据位于第二设备中;第一设备向第二设备发送第一消息,第一消息中包括路径信息,第一消息用于指示第二设备将待上传数据上传至服务器。这样,第一设备在获取到第一指令后可以向第二设备发送指示上传数据的消息,从而第二设备可以将其上的数据上传至服务器,从而使得第二设备在第一设备的控制下可以直接与服务器进行通信,进而到缩短了数据上传路径,减少了延时,且操作体验也与本地文件上传体验一致,提升了用户体验。
在一种可能的实现方式中,第一消息中还包括待上传数据的标识信息。由此以便于第二设备可以基于标识信息从其上的数据中确定出待上传数据。
在一种可能的实现方式中,第一消息中还包括会话凭证信息,会话凭证信息为第一设备和第二设备之间已认证的凭证。由此以便于第二设备确定两者是否已预先进行认证,避免在未认证的情况下进行数据操作,进而提升数据操作的安全性。
在一种可能的实现方式中,在第一设备向第二设备发送第一消息之前,方法还包括:第一设备确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系;第一设备生成 会话凭证信息;或者,第一设备获取第二设备发送的会话凭证信息,其中,会话凭证信息由第二设备在确定第一账号和第二账号之间的关联关系后生成。由此,通过确定两个设备上的账号之间的关联关系后再生成会话凭证信息,从而完成两者的认证。示例性的,确定两个账号之间的关联关系可以为确定两个账号是否是同一账号。示例性的,第一账号可以为设备级账号,例如,第一账号是登录第一设备的账号,也可以为应用级账号,例如,第一账号是登录第一设备上某一个或多个应用的账号。示例性的,第二账号可以为设备级账号,例如,第二账号是登录第二设备的账号,也可以为应用级账号,例如,第二账号是登录第二设备上某一个或多个应用的账号。
在一种可能的实现方式中,在第一设备生成会话凭证信息之前,方法还包括:第一设备确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系。示例性的,当第一账号为设备级账号时,第一账号对应的第一版本可以为第一设备的操作系统的版本,当第二账号为设备级账号时,第二账号对应的第二版本可以为第二设备的操作系统的版本。示例性的,当第一账号为应用级账号时,第一账号对应的第一版本可以为第一账号所登录的应用的版本,当第二账号为应用级账号时,第二账号对应的第二版本可以为第二账号所登录的应用的版本。
在一种可能的实现方式中,在第一设备向第二设备发送第一消息之前,方法还包括:第一设备向服务器发送第一请求,第一请求用于请求上传待上传数据;第一设备获取服务器发送的上传认证信息,上传认证信息由服务器获取到第一请求后生成,上传认证信息用于服务器在获取到第二设备发送的待上传数据后对待上传数据进行校验。这样,第一设备和第二设备可以在未认证的情况下进行数据交互,之后,服务器在接收到第二设备上传的数据后,可以对该数据进行校验,进而确定是否允许第二设备上传数据,提升操作的安全性和便利性。
在一种可能的实现方式中,第一消息中还包括上传认证信息。由此,以使得第二设备可以在向服务器发送数据时将该上传认证信息同时发送至服务器,从而使得服务器可以对第二设备上传的数据进行校验。
在一种可能的实现方式中,在第一设备向第二设备发送第一消息之前,方法还包括:第一设备确定第一设备上第一账号对应的第一版本和第二设备上第二账号对应的第二版本之间的关联关系。由此第一设备和第二设备之间可以完成预先的协商会话操作,便于后续数据操作。示例性的,当第一账号为设备级账号时,第一账号对应的第一版本可以为第一设备的操作系统的版本,当第二账号为设备级账号时,第二账号对应的第二版本可以为第二设备的操作系统的版本。示例性的,当第一账号为应用级账号时,第一账号对应的第一版本可以为第一账号所登录的应用的版本,当第二账号为应用级账号时,第二账号对应的第二版本可以为第二账号所登录的应用的版本。
在一种可能的实现方式中,待上传数据包括一个或多个文件。
在一种可能的实现方式中,第一设备上配置有第一客户端,第一客户端上登录有第一账号,第二设备上配置有第二客户端,第二客户端上登录有第二账号,其中,第一设备和第二设备之间的信令交互由第一客户端和第二客户端执行。由此,通过在共享文件的远程设备上新增部署用于代理上传文件的客户端,使得可以通过本机上的客户端(即第一客户端)远程指示远程设备上的客户端(即第二客户端)执行上传等操作,并使得远程设备上的客户端可以直接与服务器进行通信,进而到缩短了远程设备文件上传的路径,减少了延时,且操作体验也与本地文件上传体验一致。由于远程设备是其自身执行上传等操作,因此也可以充分利 用远程设备的带宽和在线优势;此外,在远程设备执行上传等操作时,也不占用本机的移动网络带宽和中央处理器(central processing unit,CPU)系统资源,减少了本机资源的消耗。
第二方面,本申请提供了一种跨设备数据操作方法,应用于第二设备,第二设备具有共享数据,共享数据可供第一设备远程访问,方法包括:第二设备获取第一设备发送的第一消息,第一消息中包括待上传数据的路径信息,待上传数据位于第二设备中,第一消息用于指示第二设备将待上传数据上传至服务器;第二设备根据路径信息,确定待上传数据;第二设备向服务器发送待上传数据。这样,第一设备在获取到第一指令后可以向第二设备发送指示上传数据的消息,从而第二设备可以将其上的数据上传至服务器,从而使得第二设备在第一设备的控制下可以直接与服务器进行通信,进而到缩短了数据上传路径,减少了延时,且操作体验也与本地文件上传体验一致,提升了用户体验。
在一种可能的实现方式中,第一消息中还包括待上传数据的标识信息;第二设备根据路径信息,确定待上传数据,具体包括:第二设备根据标识信息和路径信息,确定待上传数据。由此,第二设备可以基于标识信息和路径信息,从其上的数据中确定出待上传数据。
在一种可能的实现方式中,第一消息中还包括会话凭证信息,会话凭证信息为第一设备和第二设备之间已认证的凭证。由此以便于第二设备确定两者是否已预先进行认证,避免在未认证的情况下进行数据操作,进而提升数据操作的安全性。
在一种可能的实现方式中,在第二设备获取第一设备发送的第一消息之前,方法还包括:第二设备确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系;第二设备生成会话凭证信息,以及向第一设备发送会话凭证信息。由此,通过确定两个设备上的账号之间的关联关系后再生成会话凭证信息,从而完成两者的认证。示例性的,确定两个账号之间的关联关系可以为确定两个账号是否是同一账号。示例性的,第一账号可以为设备级账号,例如,第一账号是登录第一设备的账号,也可以为应用级账号,例如,第一账号是登录第一设备上某一个或多个应用的账号。示例性的,第二账号可以为设备级账号,例如,第二账号是登录第二设备的账号,也可以为应用级账号,例如,第二账号是登录第二设备上某一个或多个应用的账号。
在一种可能的实现方式中,在第二设备生成会话凭证信息之前,方法还包括:第二设备确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系。示例性的,当第一账号为设备级账号时,第一账号对应的第一版本可以为第一设备的操作系统的版本,当第二账号为设备级账号时,第二账号对应的第二版本可以为第二设备的操作系统的版本。示例性的,当第一账号为应用级账号时,第一账号对应的第一版本可以为第一账号所登录的应用的版本,当第二账号为应用级账号时,第二账号对应的第二版本可以为第二账号所登录的应用的版本。
在一种可能的实现方式中,第一消息中还包括上传认证信息,上传认证信息由服务器在获取到第一设备发送的第一请求后生成,第一请求用于请求上传待上传数据;方法还包括:第二设备向服务器发送上传认证信息,上传认证信息用于服务器对待上传数据进行校验。由此,以使得第二设备可以在向服务器发送数据时将该上传认证信息同时发送至服务器,从而使得服务器可以对第二设备上传的数据进行校验。
在一种可能的实现方式中,在第二设备获取第一设备发送的第一消息之前,方法还包括:第二设备确定第一设备上第一账号对应的第一版本和第二设备上第二账号对应的第二版本之 间的关联关系。由此第一设备和第二设备之间可以完成预先的协商会话操作,便于后续数据操作。示例性的,当第一账号为设备级账号时,第一账号对应的第一版本可以为第一设备的操作系统的版本,当第二账号为设备级账号时,第二账号对应的第二版本可以为第二设备的操作系统的版本。示例性的,当第一账号为应用级账号时,第一账号对应的第一版本可以为第一账号所登录的应用的版本,当第二账号为应用级账号时,第二账号对应的第二版本可以为第二账号所登录的应用的版本。
在一种可能的实现方式中,待上传数据包括一个或多个文件。
在一种可能的实现方式中,第一设备上配置有第一客户端,第一客户端上登录有第一账号,第二设备上配置有第二客户端,第二客户端上登录有第二账号,其中,第一设备和第二设备之间的信令交互由第一客户端和第二客户端执行。由此,通过在共享文件的远程设备上新增部署用于代理上传文件的客户端,使得可以通过本机上的客户端(即第一客户端)远程指示远程设备上的客户端(即第二客户端)执行上传等操作,并使得远程设备上的客户端可以直接与服务器进行通信,进而到缩短了远程设备文件上传的路径,减少了延时,且操作体验也与本地文件上传体验一致。由于远程设备是其自身执行上传等操作,因此也可以充分利用远程设备的带宽和在线优势;此外,在远程设备执行上传等操作时,也不占用本机的移动网络带宽和中央处理器(central processing unit,CPU)系统资源,减少了本机资源的消耗。
第三方面,本申请提供了一种跨设备数据操作方法,应用于第一设备,第一设备可远程访问第二设备上的共享数据,方法包括:第一设备响应于获取到的第二指令,确定待下载数据的目标信息,目标信息包括标识信息和/或下载路径信息,下载路径信息所表征的存储路径位于第二设备中;第一设备向第二设备发送第二消息,第二消息中包括目标信息,第二消息用于指示第二设备从服务器下载待下载数据。这样,第一设备在获取到第二指令后可以向第二设备发送指示下载数据的消息,从而第二设备可以向服务器请求获取数据,进而接收到服务器发送的数据,以及存储该数据,由此使得第二设备在第一设备的控制下可以直接与服务器进行通信,进而到缩短了数据下载路径,减少了延时,且操作体验也与本地文件下载体验一致,提升了用户体验。
在一种可能的实现方式中,第二消息中还包括会话凭证信息,会话凭证信息为第一设备和第二设备之间已认证的凭证。由此以便于第二设备确定两者是否已预先进行认证,避免在未认证的情况下进行数据操作,进而提升数据操作的安全性。
在一种可能的实现方式中,在第一设备向第二设备发送第二消息之前,方法还包括:第一设备确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系;第一设备生成会话凭证信息;或者,第一设备获取第二设备发送的会话凭证信息,其中,会话凭证信息由第二设备在确定第一账号和第二账号之间的关联关系后生成。由此,通过确定两个设备上的账号之间的关联关系后再生成会话凭证信息,从而完成两者的认证。示例性的,确定两个账号之间的关联关系可以为确定两个账号是否是同一账号。示例性的,第一账号可以为设备级账号,例如,第一账号是登录第一设备的账号,也可以为应用级账号,例如,第一账号是登录第一设备上某一个或多个应用的账号。示例性的,第二账号可以为设备级账号,例如,第二账号是登录第二设备的账号,也可以为应用级账号,例如,第二账号是登录第二设备上某一个或多个应用的账号。
在一种可能的实现方式中,在第一设备生成会话凭证信息之前,方法还包括:第一设备 确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系。示例性的,当第一账号为设备级账号时,第一账号对应的第一版本可以为第一设备的操作系统的版本,当第二账号为设备级账号时,第二账号对应的第二版本可以为第二设备的操作系统的版本。示例性的,当第一账号为应用级账号时,第一账号对应的第一版本可以为第一账号所登录的应用的版本,当第二账号为应用级账号时,第二账号对应的第二版本可以为第二账号所登录的应用的版本。
在一种可能的实现方式中,在第一设备向第二设备发送第二消息之前,方法还包括:第一设备向服务器发送第二请求,第二请求用于请求下载待下载数据;第一设备获取服务器发送的下载认证信息,下载认证信息由服务器获取到第二请求后生成,下载认证信息用于服务器对获取到第二设备发送的第三请求进行校验,第三请求用于请求获取待下载数据,第三请求中包括下载认证信息。这样,第一设备和第二设备可以在未认证的情况下进行数据交互,之后,服务器在接收到第二设备数据下载请求后,可以对该请求进行校验,进而确定是否允许第二设备下载数据,提升操作的安全性和便利性。
在一种可能的实现方式中,第二消息中还包括下载认证信息。由此,以使得第二设备可以在向服务器发送数据下载请求时将该下载认证信息同时发送至服务器,从而使得服务器可以对第二设备发送的数据下载请求进行校验。
在一种可能的实现方式中,在第一设备向第二设备发送第二消息之前,方法还包括:第一设备确定第一设备上第一账号对应的第一版本和第二设备上第二账号对应的第二版本之间的关联关系。由此第一设备和第二设备之间可以完成预先的协商会话操作,便于后续数据操作。示例性的,当第一账号为设备级账号时,第一账号对应的第一版本可以为第一设备的操作系统的版本,当第二账号为设备级账号时,第二账号对应的第二版本可以为第二设备的操作系统的版本。示例性的,当第一账号为应用级账号时,第一账号对应的第一版本可以为第一账号所登录的应用的版本,当第二账号为应用级账号时,第二账号对应的第二版本可以为第二账号所登录的应用的版本。
在一种可能的实现方式中,待下载数据包括一个或多个文件。
在一种可能的实现方式中,第一设备上配置有第一客户端,第一客户端上登录有第一账号,第二设备上配置有第二客户端,第二客户端上登录有第二账号,其中,第一设备和第二设备之间的信令交互由第一客户端和第二客户端执行。由此,通过在共享文件的远程设备上新增部署用于代理下载文件的客户端,使得可以通过本机上的客户端(即第一客户端)远程指示远程设备上的客户端(即第二客户端)执行下载等操作,并使得远程设备上的客户端可以直接与服务器进行通信,进而到缩短了远程设备文件下载的路径,减少了延时,且操作体验也与本地文件下载体验一致。由于远程设备是其自身执行下载等操作,因此也可以充分利用远程设备的带宽和在线优势;此外,在远程设备执行下载等操作时,也不占用本机的移动网络带宽和中央处理器(central processing unit,CPU)系统资源,减少了本机资源的消耗。
第四方面,本申请提供了一种跨设备数据操作方法,应用于第二设备,第二设备具有共享数据,共享数据可供第一设备远程访问,方法包括:第二设备获取第一设备发送的第二消息,第二消息中包括目标信息,目标信息包括标识信息和/或下载路径信息,下载路径信息所表征的存储路径位于第二设备中,第二消息用于指示第二设备从服务器下载待下载数据;第二设备响应于获取到的第二消息,向服务器发送第三请求,第三请求用于请求获取待下载数 据;第二设备获取服务器发送的待下载数据,以及将待下载数据存储于下载路径信息所表征的存储路径。这样,第一设备在获取到第二指令后可以向第二设备发送指示下载数据的消息,从而第二设备可以向服务器请求获取数据,进而接收到服务器发送的数据,以及存储该数据,由此使得第二设备在第一设备的控制下可以直接与服务器进行通信,进而到缩短了数据下载路径,减少了延时,且操作体验也与本地文件下载体验一致,提升了用户体验。
在一种可能的实现方式中,第二消息中还包括会话凭证信息,会话凭证信息为第一设备和第二设备之间已认证的凭证。由此,第二设备可以确定两者是否已预先进行认证,避免在未认证的情况下进行数据操作,进而提升数据操作的安全性。
在一种可能的实现方式中,在第二设备获取第一设备发送的第二消息之前,方法还包括:第二设备确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系;第二设备生成会话凭证信息,以及向第一设备发送会话凭证信息。由此,通过确定两个设备上的账号之间的关联关系后再生成会话凭证信息,从而完成两者的认证。示例性的,确定两个账号之间的关联关系可以为确定两个账号是否是同一账号。示例性的,第一账号可以为设备级账号,例如,第一账号是登录第一设备的账号,也可以为应用级账号,例如,第一账号是登录第一设备上某一个或多个应用的账号。示例性的,第二账号可以为设备级账号,例如,第二账号是登录第二设备的账号,也可以为应用级账号,例如,第二账号是登录第二设备上某一个或多个应用的账号。
在一种可能的实现方式中,在第二设备生成会话凭证信息之前,方法还包括:第二设备确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系。示例性的,当第一账号为设备级账号时,第一账号对应的第一版本可以为第一设备的操作系统的版本,当第二账号为设备级账号时,第二账号对应的第二版本可以为第二设备的操作系统的版本。示例性的,当第一账号为应用级账号时,第一账号对应的第一版本可以为第一账号所登录的应用的版本,当第二账号为应用级账号时,第二账号对应的第二版本可以为第二账号所登录的应用的版本。
在一种可能的实现方式中,第二消息中还包括下载认证信息,下载认证信息由服务器获取到第二请求后生成,下载认证信息用于服务器在获取到第二设备发送的第三请求进行校验,其中,第三请求中包括下载认证信息。由此,以使得第二设备可以在向服务器发送数据下载请求时将该下载认证信息同时发送至服务器,从而使得服务器可以对第二设备发送的数据下载请求进行校验。
在一种可能的实现方式中,在第二设备获取第一设备发送的第二消息之前,方法还包括:第二设备确定第一设备上第一账号对应的第一版本和第二设备上第二账号对应的第二版本之间的关联关系。由此第一设备和第二设备之间可以完成预先的协商会话操作,便于后续数据操作。示例性的,当第一账号为设备级账号时,第一账号对应的第一版本可以为第一设备的操作系统的版本,当第二账号为设备级账号时,第二账号对应的第二版本可以为第二设备的操作系统的版本。示例性的,当第一账号为应用级账号时,第一账号对应的第一版本可以为第一账号所登录的应用的版本,当第二账号为应用级账号时,第二账号对应的第二版本可以为第二账号所登录的应用的版本。
在一种可能的实现方式中,待上传数据包括一个或多个文件。
在一种可能的实现方式中,第一设备上配置有第一客户端,第一客户端上登录有第一账号,第二设备上配置有第二客户端,第二客户端上登录有第二账号,其中,第一设备和第二 设备之间的信令交互由第一客户端和第二客户端执行。由此,通过在共享文件的远程设备上新增部署用于代理下载文件的客户端,使得可以通过本机上的客户端(即第一客户端)远程指示远程设备上的客户端(即第二客户端)执行下载等操作,并使得远程设备上的客户端可以直接与服务器进行通信,进而到缩短了远程设备文件下载的路径,减少了延时,且操作体验也与本地文件下载体验一致。由于远程设备是其自身执行下载等操作,因此也可以充分利用远程设备的带宽和在线优势;此外,在远程设备执行下载等操作时,也不占用本机的移动网络带宽和中央处理器(central processing unit,CPU)系统资源,减少了本机资源的消耗。
第五方面,本申请提供了一种跨设备数据操作系统,包括:第一设备、第二设备和服务器,第一设备可远程访问第二设备上的共享数据;
其中,第一设备用于响应于获取到的第一指令,确定待上传数据的路径信息,其中,待上传数据位于第二设备中;以及向第二设备发送第一消息,第一消息中包括路径信息,第一消息用于指示第二设备将待上传数据上传至服务器;
第二设备用于获取第一设备发送的第一消息,以及根据路径信息,确定待上传数据,并向服务器发送待上传数据;
服务器至少用于存储第二设备发送的待上传数据。
在一种可能的实现方式中,第一消息中还包括待上传数据的标识信息。
在一种可能的实现方式中,第一消息中还包括会话凭证信息,会话凭证信息为第一设备和第二设备之间已认证的凭证。
在一种可能的实现方式中,第一设备还用于在向第二设备发送第一消息之前,确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系;以及生成会话凭证信息。
进一步地,第一设备在生成会话凭证信息之前,还用于:确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系。
在一种可能的实现方式中,第二设备还用于在获取第一消息之前确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系,以及生成会话凭证信息,并向第一设备发送会话凭证信息;
第一设备还用于在向第二设备发送第一消息之前,获取第二设备发送的会话凭证信息。
进一步地,第二设备在生成会话凭证信息之前,还用于:确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系。
在一种可能的实现方式中,第一设备在向第二设备发送第一消息之前,还用于:向服务器发送第一请求,第一请求用于请求上传待上传数据;
服务器还用于响应于获取到的第一请求,生成上传认证信息,以及向第一设备发送上传认证信息;
第一设备还用于获取服务器发送的上传认证信息,上传认证信息用于服务器在获取到第二设备发送的待上传数据后对待上传数据进行校验。
进一步地,第一消息中还包括上传认证信息。
在一种可能的实现方式中,第一设备在向第二设备发送第一消息之前,还用于:确定第一设备上第一账号对应的第一版本和第二设备上第二账号对应的第二版本之间的关联关系。
在一种可能的实现方式中,待上传数据包括一个或多个文件。
在一种可能的实现方式中,第一设备上配置有第一客户端,第一客户端上登录有第一账 号,第二设备上配置有第二客户端,第二客户端上登录有第二账号,其中,第一设备和第二设备之间的信令交互由第一客户端和第二客户端执行,第二设备和服务器之间的信令交互由第二客户端和服务器执行。
第五方面及第五方面的任意一种实现方式分别与第一方面及第一方面的任意一种实现方式,以及第二方面及第二方面的任意一种实现方式相对应。第五方面以及第五方面中任意一种实现方式所对应的技术效果可参见上述第一方面及第一方面的任意一种实现方式,以及第二方面及第二方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第六方面,本申请提供了一种跨设备数据操作系统,包括:第一设备、第二设备和服务器,第一设备可远程访问第二设备上的共享数据;
其中,第一设备用于响应于获取到的第二指令,确定待下载数据的目标信息,目标信息包括标识信息和/或下载路径信息,下载路径信息所表征的存储路径位于第二设备中;以及向第二设备发送第二消息,第二消息中包括目标信息,第二消息用于指示第二设备从服务器下载待下载数据;
第二设备用于获取第一设备发送的第二消息,以及响应于获取到的第二消息,向服务器发送第三请求,第三请求用于请求获取待下载数据;
服务器用于获取第二设备发送的第三请求,以及响应于第三请求,确定待下载数据,并向第二设备发送待下载数据;
第二设备还用于获取服务器发送的待下载数据,以及将待下载数据存储于下载路径信息所表征的存储路径。
在一种可能的实现方式中,第二消息中还包括会话凭证信息,会话凭证信息为第一设备和第二设备之间已认证的凭证。
在一种可能的实现方式中,第一设备还用于在向第二设备发送第二消息之前,确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系;以及生成会话凭证信息。
进一步地,第一设备在生成会话凭证信息之前,还用于:确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系。
在一种可能的实现方式中,第二设备还用于在获取第二消息之前确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系,以及生成会话凭证信息,并向第一设备发送会话凭证信息;
第一设备还用于在向第二设备发送第二消息之前,获取第二设备发送的会话凭证信息。
进一步地,第二设备在生成会话凭证信息之前,还用于:确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系。
在一种可能的实现方式中,第一设备在向第二设备发送第二消息之前,还用于:向服务器发送第二请求,第二请求用于请求下载待下载数据;
服务器还用于响应于获取到的第二请求,生成下载认证信息,以及向第一设备发送下载认证信息;
第一设备还用于获取服务器发送的下载认证信息,下载认证信息用于服务器对获取到第二设备发送的第三请求进行校验,第三请求用于请求获取待下载数据,第三请求中包括下载认证信息。
进一步地,第二消息中还包括下载认证信息。
进一步地,服务器在向第二设备发送待下载数据之前,还用于检验下载认证信息,以及 确定检验通过。
在一种可能的实现方式中,第一设备在向第二设备发送第二消息之前,还用于:确定第一设备上第一账号对应的第一版本和第二设备上第二账号对应的第二版本之间的关联关系。
在一种可能的实现方式中,待下载数据包括一个或多个文件。
在一种可能的实现方式中,第一设备上配置有第一客户端,第一客户端上登录有第一账号,第二设备上配置有第二客户端,第二客户端上登录有第二账号,其中,第一设备和第二设备之间的信令交互由第一客户端和第二客户端执行,第二设备和服务器之间的信令交互由第二客户端和服务器执行。
第六方面及第六方面的任意一种实现方式分别与第三方面及第三方面的任意一种实现方式,以及第四方面及第四方面的任意一种实现方式相对应。第六方面以及第六方面中任意一种实现方式所对应的技术效果可参见上述第三方面及第三方面的任意一种实现方式,以及第四方面及第四方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第七方面,本申请提供了一种电子设备,包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面、第二方面、第三方面或第四方面所提供的方法。
第七方面及第七方面的任意一种实现方式分别与第一方面及第一方面的任意一种实现方式,以及第二方面及第二方面的任意一种实现方式,以及第三方面及第三方面的任意一种实现方式,以及第四方面及第四方面的任意一种实现方式相对应。第七方面以及第七方面中任意一种实现方式所对应的技术效果可参见上述第一方面及第一方面的任意一种实现方式,以及第二方面及第二方面的任意一种实现方式,以及第三方面及第三方面的任意一种实现方式,以及第四方面及第四方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第八方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行第一方面、第二方面、第三方面或第四方面所提供的方法。
第八方面及第八方面的任意一种实现方式分别与第一方面及第一方面的任意一种实现方式,以及第二方面及第二方面的任意一种实现方式,以及第三方面及第三方面的任意一种实现方式,以及第四方面及第四方面的任意一种实现方式相对应。第八方面以及第八方面中任意一种实现方式所对应的技术效果可参见上述第一方面及第一方面的任意一种实现方式,以及第二方面及第二方面的任意一种实现方式,以及第三方面及第三方面的任意一种实现方式,以及第四方面及第四方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第九方面,本申请提供了一种计算机程序产品,其特征在于,当计算机程序产品在电子设备上运行时,使得电子设备执行第一方面、第二方面、第三方面或第四方面所提供的方法。
第九方面及第九方面的任意一种实现方式分别与第一方面及第一方面的任意一种实现方式,以及第二方面及第二方面的任意一种实现方式,以及第三方面及第三方面的任意一种实现方式,以及第四方面及第四方面的任意一种实现方式相对应。第九方面以及第九方面中任意一种实现方式所对应的技术效果可参见上述第一方面及第一方面的任意一种实现方式,以及第二方面及第二方面的任意一种实现方式,以及第三方面及第三方面的任意一种实现方式,以及第四方面及第四方面的任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
下面对实施例或现有技术描述中所需使用的附图作简单地介绍。
图1是本申请实施例提供的一种应用场景示意图;
图2a是本申请实施例提供的一种应用场景示意图;
图2b是本申请实施例提供的一种应用场景示意图;
图3是本申请实施例提供的一种云存储文件跨设备协同操作系统的系统架构示意图;
图4是本申请实施例提供的一种用户设备的结构示意图;
图5是本申请实施例提供的一种共享设备的结构示意图;
图6是本申请实施例提供的一种云存储服务器的结构示意图;
图7是本申请实施例提供的一种云存储文件操作的上传方法的流程示意图;
图8是本申请实施例提供的一种云存储文件操作的下载方法的流程示意图;
图9是本申请实施例提供的一种协同设备发现和认证的通信示意图;
图10是本申请实施例提供的一种云存储文件协同上传过程的通信示意图;
图11a是本申请实施例提供的一种用户设备的显示界面的示意图;
图11b是本申请实施例提供的一种用户设备的显示界面的示意图;
图11c是本申请实施例提供的一种用户设备的显示界面的示意图;
图11d是本申请实施例提供的一种用户设备的显示界面的示意图;
图11e是本申请实施例提供的一种用户设备的显示界面的示意图;
图12是本申请实施例提供的一种云存储文件协同下载过程的通信示意图;
图13a是本申请实施例提供的一种用户设备的显示界面的示意图;
图13b是本申请实施例提供的一种用户设备的显示界面的示意图;
图13c是本申请实施例提供的一种用户设备的显示界面的示意图;
图13d是本申请实施例提供的一种用户设备的显示界面的示意图;
图13e是本申请实施例提供的一种用户设备的显示界面的示意图;
图13f是本申请实施例提供的一种用户设备的显示界面的示意图;
图14是本申请实施例提供的一种云存储文件协同上传过程中其他操作的通信示意图;
图15a是本申请实施例提供的一种用户设备的显示界面的示意图;
图15b是本申请实施例提供的一种用户设备的显示界面的示意图;
图16是本申请实施例提供的另一种云存储文件协同上传过程的通信示意图;
图17是本申请实施例提供的另一种云存储文件协同下载过程的通信示意图;
图18是本申请实施例提供的一种跨设备数据操作方法的流程示意图;
图19是本申请实施例提供的另一种跨设备数据操作方法的流程示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例中的技术方案进行描述。
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可 以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
一般的,如图1所示,用户在对本机(即用户设备11)可访问的其他设备12上的文件进行管理时,用户往往需要操作本机(即用户设备11)上的云存储客户端111,在云存储客户端111中通过文件系统112访问其他设备上的共享文件系统121,进而选择其他设备12上共享的文件上传到云存储服务器13,或者在云存储客户端111中下载云存储服务器13中存储的文件到指定的其他设备12的共享目录。在此过程中,用户通过本机(即用户设备11)上的云存储客户端111在将其他设备12上的文件上传云存储服务器13时,本机(即用户设备11)上的云存储客户端111往往需要先把其他设备12中的文件通过共享网络读到本机上,然后再上传到云存储服务器13。同样的,用户通过云存储客户端111在将云存储服务器13中存储的文件下载到其他设备12上时,云存储客户端111需要先把云存储服务器13中存储的文件下载到本机,然后再通过共享网络写入到其他设备12。可见,在该过程中,上传和下载的文件流均需经过用户本机中转,且需要2次跨网,这就导致上传和下载路径较长,且使得本机带宽被大量消耗,增加了本机延时,性能体验较差。
为了避免在跨设备操作云存储文件出现云存储文件中转的问题,用户可以在本机上通过浏览器或者远程桌面访问其他设备上的云存储客户端,并通过其他设备上的云存储客户端选择其他设备上的文件上传到云存储服务器,或者在其他设备上的云存储客户端中下载云存储文件到指定的其他设备的文件系统目录中。示例性的,如图2a所示,用户可以在用户设备21(即本机)上通过浏览器登录网页版的其他设备22上的云存储客户端221,然后通过其他设备22上的云存储客户端221从文件系统222中选择其他设备22上的文件上传到云存储服务器23,或者在其他设备22上的云存储客户端221中下载云存储文件到指定的其他设备22的文件系统目录中。示例性的,如图2b所示,用户可以在用户设备21(即本机)上通过远程桌面登录其他设备22上的云存储客户端221,然后通过其他设备22上的云存储客户端221从文件系统222中选择其他设备22上的文件上传到云存储服务器23,或者在其他设备22上的云存储客户端221中下载云存储文件到指定的其他设备22的文件系统目录中。此种方式虽然解决了在跨设备操作云存储文件出现云存储文件中转的问题,但由于网页版的云存储客户 端和远程桌面等跨网络远程操作的时延较大,这就导致用户使用过程中操作体验较差。此外,用户对本机上文件的云存储客户端的操作和远程文件的云存储客户端的操作是割裂的,需要在不同的客户端之间进行切换,操作体验很差。
进一步地,为了避免在跨设备操作云存储文件出现云存储文件中转的问题,并提升操作体验,本申请实施例还提供了一种方案。其中,该方案中是在本机上的云存储客户端和其他设备上的云存储客户端之间建立跨设备信任通道,通过该跨设备信任通道本机上的云存储客户端可以与其他设备上的云存储客户端协商其他设备上需要上传或下载的文件,然后由其他设备上的云存储客户端进行文件的上传或下载。由此,缩短跨设备上传或下载文件的路径,减少时延,且用户通过本机上的云存储客户端操作其他设备上文件的上传或下载和用户操作本机上的文件上传或下载的体验一致。
示例性的,图3示出了一种云存储文件跨设备协同操作系统的系统架构示意图。如图3所示,该系统包括:该系统包括:用户设备31,共享设备32,和服务器33。其中,用户设备31和共享设备32可以处于同一局域网中,也可以不处于同一局域网中。本方案中,用户设备31和服务器33之间可以通过有线网络或无线网络等网络建立连接,以进行数据交互。共享设备32和服务器33之间也可以通过有线网络或无线网络等网络建立连接,以进行数据交互。用户设备31和共享设备32之间亦可以通过有线网络或无线网络等网络建立连接,以进行数据交互。此外,用户设备31和共享设备32之间也可以通过短距离无线通信技术进行交互,例如通过蓝牙交互等。示例性的,本方案中涉及的网络可以为局域网(local area networks,LAN),也可以为广域网(wide area networks,WAN)(例如互联网),在此不作限定。
用户设备31可以理解为用户身边的设备,即用户可以近距离操作的设备。共享设备32可以理解为用户设备31可以远程访问的设备。示例性的,用户设备31和共享设备32均可以但不限于为手机,平板电脑,可穿戴设备,智能电视,华为智慧屏,智能音箱,车机等。此外,共享设备32也可以为存储设备,如网络附属存储(network attached storage,NAS)设备。用户设备31和共享设备32的示例性实施例包括但不限于搭载iOS、android、Windows、鸿蒙系统(Harmony OS)或者其他操作系统的电子设备。本申请实施例对电子设备的类型不做具体限定。
服务器33可以为一种可以与用户设备31和共享设备32等电子设备建立通信连接、且能为用户设备31和共享设备32等电子设备提供数据处理功能、运算功能和/或存储功能的服务器或者是超级终端。其中,服务器33可以是硬件服务器,也可以植入虚拟化环境中,例如,服务器33可以是在包括一个或多个其他虚拟机的硬件服务器上执行的虚拟机。示例性的,服务器33可以为云服务器。
在一些实施例中,用户设备31中可以配置有云存储客户端311和文件系统312,共享设备32中可以配置有云存储客户端321和共享文件系统322。
其中,云存储客户端311和云存储客户端321均可以是用于对云存储文件进行管理的客户端。
文件系统312是指用户设备31上的文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
共享文件系统322是指共享设备32上的文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。其中,用户设备31可以通过其文件系统312访问共享设备32中的共享文件系统322。
在一些实施例中,继续参阅图3,云存储客户端311中可以配置有管理模块3111,协同会话模块3112和上传下载模块3113。云存储客户端321中可以配置有协同会话模块3211和上传下载模块3212。在一个例子中,云存储客户端311可以调用用户设备31中的套接字(socket)分别与共享设备32中的socket和云存储服务器33中的socket建立网络连接。云存储客户端321可以调用共享设备32中的套接字(socket)分别与用户设备31中的socket和云存储服务器33中的socket建立网络连接。
云存储客户端311中的管理模块3111可以负责用户操作云存储客户端311的用户界面(user interface,UI)和相关逻辑处理。此外,管理模块3111也可以具备跨设备协同操作的相关功能。例如,管理模块3111可以确认上传文件源和下载目的地是否为共享设备32,从而确定是否需要发起系统会话协商,或者,在确认上传文件源和下载目的地为共享设备32后发起系统会话协商,或者,接收来自协同会话模块3112的传输进度并展示,或者,操作协同上传下载任务暂停、取消等等。
云存储客户端311中的协同会话模块3112可以负责跨设备协同中的设备发现,设备连接,设备认证,协同会话协商,协同会话请求和控制等。其中,该协同会话模块3112主要用于协同请求和控制等。例如,向云存储客户端321中的协同会话模块3211发送协同请求,发送控制指令等。
云存储客户端311中的上传下载模块3113可以负责云存储文件上传下载的相关逻辑处理,以便云储存客户端311可以具备上传和下载云存储文件的功能。
云存储客户端321中的协同会话模块3211可以负责跨设备协同中的设备发现,设备连接,设备认证,协同会话协商和控制等。其中,该协同会话模块3211主要用于协同响应和接收指令,操作上传下载模块3212,以实现云存储文件的协同上传下载,等。例如,响应云存储客户端311中的协同会话模块3112发送的协同请求,接收协同会话模块3112发送的控制指令,并基于该控制指令操作上传下载模块3212等。
云存储客户端321中的上传下载模块3212可以可以负责云存储文件上传下载的相关逻辑处理。其中,该上传下载模块3212主要用于接收来自协同会话模块3211的指令,实现文件协同上传下载。
可以理解的是,云存储客户端311或云存储客户端321中的各个模块可以通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。其中,计算机程序产品包括一个或多个计算机指令。在用户设备31上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例描述云存储客户端311对应的流程或功能。在共享设备32上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例描述云存储客户端321对应的流程或功能。需要说明的是,本申请实施例中,云存储客户端311中的各个模块所执行的流程均可以理解为是云存储客户311所执行,也可以理解为是云存储客户端311所在的用户设备31执行。云存储客户端321中的各个模块所执行的流程均可以理解为是云存储客户321所执行,也可以理解为是云存储客户端321所在的共享设备32执行。示例性的,云存储客户端311和云存储客户端321均可以为应用程序,也 可以为应用插件,亦可以为小程序等等。
示例性的,图4示出了一种用户设备的结构示意图;其中,该用户设备可以为图3中示出的用户设备31。如图4所示,该用户设备可以包括包括:处理器401,网络接口402,存储器403,及显示屏404。其中,处理器401,网络接口402,及存储器403可通过总线或其他方式连接。本方案中,处理器401(或称为中央处理器(central processing unit,CPU))是用户设备的计算核心及控制核心。在一个例子中,处理器401可以协助云存储客户端311上传下载存储文件等等。网络接口402可选地可以包括标准的有线接口,无线接口(如WI-FI,移动通信接口等),受处理器401的控制用于收发数据。在一个例子中,网络接口402可以协助云存储客户端311向共享设备32发送控制指令,或者协助云存储客户端311接收共享设备32的反馈信息等等。存储器403(memory)是用户设备的记忆设备,用于存放程序和数据,例如存放用户设备从服务器33中下载的云存储文件等。显示屏404可以向用户呈现用户设备中的云存储客户端311的用户界面。在一个例子中,显示屏404可以为触控屏(Touch panel)。
示例性的,图5示出了一种共享设备的结构示意图;其中,该共享设备可以为图3中示出的共享设备32。如图5所示,该共享设备可以包括包括:处理器501,网络接口502,及存储器503。其中,处理器501,网络接口502,及存储器503可通过总线或其他方式连接。本方案中,处理器501(或称为中央处理器(central processing unit,CPU))是共享设备的计算核心及控制核心。在一个例子中,处理器501可以协助云存储客户端321上传下载存储文件等等。网络接口502可选地可以包括标准的有线接口,无线接口(如WI-FI,移动通信接口等),受处理器501的控制用于收发数据。在一个例子中,网络接口502可以协助云存储客户端321接收用户设备31发送控制指令,或者协助云存储客户端321向用户设备31的反馈信息等等。存储器503(memory)是共享设备的记忆设备,用于存放程序和数据,例如存放共享设备从服务器33中下载的云存储文件等。
示例性的,图6示出了一种服务器的结构示意图;其中,该服务器可以为图3中示出的服务器33。如图6所示,该服务器包括:处理器601,网络接口602,及存储器603。其中,处理器601,网络接口602,及存储器603可通过总线或其他方式连接。本方案中,处理器601(或称为中央处理器(central processing unit,CPU))是服务器的计算核心及控制核心。例如,处理器601可以基于用户设备31发送的指令对服务器中存储的文件进行删除,更新等。网络接口602可选地可以包括标准的有线接口,无线接口(如WI-FI,移动通信接口等),受处理器601的控制用于收发数据,例如,接收用户设备31或共享设备32上传的文件,或者向用户设备31或共享设备32发送它们请求的文件等等。存储器603(memory)是服务器的记忆设备,用于存放程序和数据,例如存放用户设备31或共享设备32上传的文件等。
以上即是对本方案中涉及的云存储文件跨设备协同操作系统的介绍。下面基于上文描述的云存储文件跨设备协同操作系统,结合图7和8对本申请实施例中提供的云存储文件操作方法进行介绍。
示例性的,图7示出了一种云存储文件操作的上传方法的流程示意图。如图7所示,该云存储文件的上传方法可以包括以下步骤:
步骤1、云存储客户端311向云存储客户端321发送文件上传指令。
用户可以通过云存储客户端311在用户设备31的文件系统312中选择需要从共享设备32的共享系统322中上传的文件。在用户选择出需要上传的文件后,云存储客户端311向云 存储客户端321发送文件上传指令。其中,该文件上传指令中可以包括用户所选择的待上传文件的路径信息和待上传文件的元数据(如文件名,文件类型,或表征文件的内容的特征值等)等。
步骤2、云存储客户端321基于文件上传指令,确定待上传文件。
云存储客户端321接收到文件上传指令后,可以通过文件上传指令中包含的待上传文件的路径信息和待上传文件的元数据,从共享设备32的共享文件系统322中查找到待上传文件。
步骤3、云存储客户端321向至服务器33发送待上传文件。
云存储客户端321确定出待上传文件后,可以向服务器33发送该待上传文件。
步骤4、服务器33存储待上传文件。
服务器33接收到待上传文件后,可以存储该待上传文件。
至此即完成跨设备的文件上传操作。
示例性的,图8示出了一种云存储文件操作的下载方法的流程示意图。如图8所示,该云存储文件的下载方法可以包括以下步骤:
步骤1、云存储客户端311向云存储客户端321发送文件下载指令。
用户可以通过云存储客户端311从服务器33中选择需要下载的文件。在用户选择出需要下载的文件后,云存储客户端311向云存储客户端321发送文件下载指令。其中,该文件下载指令中可以包括用户所选择的待下载文件的标识信息和下载路径信息等。
步骤2、云存储客户端321向服务器33发送文件下载请求。
云存储客户端321接收到文件下载指令后,可以向服务器33发送文件下载请求。其中,该文件下载请求中可以包含待下载文件的标识信息。
步骤3、服务器33向云存储客户端321发送待下载文件。
服务器33接收到文件下载请求后,可以通过文件下载请求中包含的待下载文件的标识信息查找到待下载文件。之后,服务器33可以将该待下载文件发送至云存储客户端321。
步骤4、云存储客户端321存储待下载文件。
云存储客户端321接收到待下载文件后,可以将该待下载文件存储至由文件下载指令中的下载路径信息确定的下载路径中。
至此即完成跨设备的文件下载操作。
可以理解的是,在文件上传或下载过程中,云存储客户端311也可以向云存储客户端321发送暂停指令或取消指令;之后,云存储客户端321可以暂停上传或下载文件,或者,取消上传或下载文件。
在一些实施例中,在文件上传或下载之前,云存储客户端311与云存储客户端321之间可以预先建立协同会话,以便后续两者进行通信。在一些实施例中,在文件上传或下载之前或者过程中,云存储客户端311与云存储客户端321之间也可以进行认证,以提升文件上传或下载的安全性。在一些实施例中,在文件上传或下载时,云存储客户端311可以先从服务器33处获取到上传认证信息,再将该上传认证信息携带于相应的指令中,以便云存储客户端321在将该上传认证信息携带于其向服务器33发送的文件上传/下载请求中,从而由服务器33基于该上传认证信息确定对云存储客户端321发送的文件上传/下载请求进行校验,进而提升升文件上传或下载的安全性。
为便于理解本申请提供的技术方案,下面结合图3,举例对本申请涉及的一种云存储文 件跨设备协同操作方案进行详细介绍。可以理解的是,该云存储文件跨设备协同操作方案仅是示例性说明,并不构成对本申请实施例的具体限定。
(1)系统预置条件
a)用户设备31中的云存储客户端311已经登录成功,且处于用户可操作状态,以便用户可以通过用户设备31中的云存储客户端311向共享设备32中的云存储客户端321下发操作指令。
b)共享设备32中的云存储客户端321在线运行并已经登录,以便共享设备32中的云存储客户端321可以接收用户设备31中的云存储客户端311发送的操作指令,以及执行该操作指令。
c)共享设备32上存在共享目录和文件,共享目录可读写,以便用户设备31可以远程访问共享设备32中的文件。
可以理解的是,该系统预置条件可以为本方案中提供的云存储文件跨设备协同操作方案中用户设备31和共享设备32需要满足的条件。当满足该预置条件时,用户设备31和共享设备32之间可以进行协同操作。
(2)协同设备发现和认证
本方案中,在用户设备31发现共享设备32后,用户设备31与共享设备32之间即可以建立协同会话连接,进行认证握手,确认共享设备32能够参与协助,为后续的协同上传下载做好准备。下面详细描述协同设备发现和认证过程。如图9所示,协同设备发现和认证过程可以包括:
步骤1、共享设备32中的云存储客户端321中的协同会话模块3211监听来自网络中其他设备的协同会话请求。
本方案中,云存储客户端321中的协同会话模块3211可以在共享设备32的特定端口(如监听端口等)上建立监听socket,以及通过监听socket实时或周期性监听来自网络中其他设备的协同会话请求。在一个例子中,云存储客户端321可以跟随共享设备32同时启动,并常驻监听来自网络中的协同会话请求,以便及时获知到需要建立协同会话的设备的请求。
步骤2、用户设备31上云存储客户端311中的协同会话模块3112发起协同会话。
本方案中,当用户启动用户设备31上云存储客户端311时,可以触发云存储客户端311中的协同会话模块3112发起协同会话。此外,若用户启动云存储客户端311时未触发协同会话模块3112发起协同会话,则在云存储客户端311处于运行状态过程中,协同会话模块3112可以周期性发起协同会话。在一个例子中,协同会话模块3112发起协同会话可以理解为协同会话模块3112开始启动协同会话。
步骤3、协同会话模块3112从用户设备31上的文件系统312中获取网络内提供文件共享的共享设备信息。
本方案中,协同会话模块3112在发起协同会话后,可以从文件系统312中存储的共享设备信息中,获取到用户设备31可访问的设备的信息。其中,文件系统312中存储的共享设备信息可以包括共享设备的身份标识。在一个例子中,共享设备的身份标识可以包括共享设备的主机名或互联网协议地址(internet protocol address,IP地址)等。示例性的,如表一所示,文件系统312中存储的共享设备信息中可以包括三个设备,即设备1,设备2和设备3。
表一
序号 主机名 IP地址
设备1 xxx x.x.x.x
设备2 xxx x.x.x.x
设备3 xxx x.x.x.x
步骤4、协同会话模块3112基于共享设备信息确定待探测协同设备集合。
本方案中,协同会话模块3112获取到共享设备信息后,即可以从该共享设备信息中确定出该共享设备信息所包括的设备的身份标识。其中,共享设备信息中所包括的设备的集合,即可以构成待探测协同设备集合。示例性的,继续参阅上述“表一”,此时待探测协同设备集合中所包括的设备为设备1,设备2和设备3。
可以理解的是,本方案主要是基于文件共享进行协同,所以实际共享文件的设备才有可能成为协同设备,因此以共享文件的设备作为待筛选的协同设备,可以缩小检测范围,提升协同效率。
步骤5、协同会话模块3112从待探测协同设备集合中确定待探测协同设备。
本方案中,协同会话模块3112确定出待探测协同设备集合后,可以将待探测协同设备集合中的设备作为待探测协同设备。
在一个例子中,当待探测协同设备为一个时,则该待探测协同设备即可以为共享设备32。当待探测协同设备为多个时,则多个待探测协同设备中可以包括共享设备32。
步骤6、协同会话模块3112向共享设备32发送socket连接请求。
本方案中,协同会话模块3112可以向共享设备32的IP地址和监听端口发起socket连接请求。
在一个例子中,当协同会话模块3112确定出的待探测协同设备为多个时,协同会话模块3112可以分别向多个待探测协同设备发送socket连接请求,以便多个待探测协同设备中的共享设备32可以接收到socket连接请求。
步骤7、共享设备32中的协同会话模块3211响应socket连接请求,建立socket连接。
本方案中,共享设备32中的协同会话模块3211接收到socket连接请求后,可以基于传输控制协议(transmission control protocol,TCP)/网际协议(internet protocol,IP)建立socket连接。
步骤8、共享设备32中的协同会话模块3211向用户设备31中的协同会话模块3112反馈socket连接消息。
本方案中,共享设备32中的协同会话模块3211在建立socket连接后,可以在已建立的socket连接上向用户设备31中的协同会话模块3112反馈socket连接消息,以便用户设备31中的协同会话模块3112确定是否已成功与协同会话模块3211建立socket连接。其中,该socket连接消息主要是用于指示共享设备32中的协同会话模块3211是否已与用户设备31中的协同会话模块3112建立socket连接。
步骤9、协同会话模块3112在已建立的socket连接上向协同会话模块3211发送协同会话请求。
本方案中,协同会话模块3112在接收到共享设备32中协同会话模块3211反馈的socket连接消息后,可以确定出共享设备32中协同会话模块3211是否已与用户设备31中的协同会话模块3112建立socket连接。当确定出共享设备32中协同会话模块3211已与用户设备31 中的协同会话模块3112建立socket连接后,协同会话模块3112可以在已建立的socket连接上向协同会话模块3211发送协同会话请求。该协同会话请求中可以携带用户设备31中云存储客户端311的登录账户信息和版本信息;其中,该协同会话请求主要是用于请求与共享设备32建立协同会话。
步骤10、协同会话模块3211接收协同会话模块3112发送协同会话请求,以及确定是否建立协同会话。
本方案中,协同会话模块3211接收到协同会话请求后,可以将共享设备32中云存储客户端321的登录账户信息和版本信息,与用户设备31中云存储客户端311的登录账户信息和版本信息,进行比对。当两者的登录账户信息相同,且版本信息相同或相近,或者,两者的登录账号信息相同,且用户设备31上中云存储客户端311的版本信息中包含的版本号低于共享设备32中云存储客户端321的版本信息中包含的版本号时,协同会话模块3211在确定两个版本之间存在能力交集时可以同意与协同会话模块3112建立协同会话,或者,两者的登录账号信息相同,且用户设备31上中云存储客户端311的版本信息中包含的版本号高于共享设备32中云存储客户端321的版本信息中包含的版本号时,协同会话模块3211可以同意与协同会话模块3112建立协同会话;否则,不同意与协同会话模块3112建立协同会话。
在一个例子中,版本信息相近可以理解为两个版本信息所表征的云存储客户端的版本号之间的相差预设版本间隔。例如,其中一个版本信息所表征的云存储客户端的版本号为1.0,另一个版本信息所表征的云存储客户端的版本号为1.5,若预先设定的版本间隔为6个版本,则可以确定这两个版本信息相近;若预先设定的版本间隔为3个版本,则可以确定这两个版本信息不相同且不相近。
在一个例子中,对比两者的版本信息是否相同或相近,可以理解为确定两个协同会话模块之间的协商能力集。本方案中,协商能力集可以理解为两者具有相同的能力的集合,即存在能力交集,例如,当两者所在的客户端的版本一致时,两者的能力是相同的,当两者所在的客户端的版本不一致时,两者的能力至少有一部分是相同的;其中,两者之间相同的能力构成的集合即可以称之为协商能力集。
在一个例子中,协同会话模块3211可以同意与协同会话模块3112建立协同会话时,若用户设备31上中云存储客户端311的版本信息中包含的版本号高于共享设备32中云存储客户端321的版本信息中包含的版本号,则用户设备31中的协同会话模块3112可以在用户设备31中云存储客户端311的版本信息所表征的云存储客户端的能力兼容共享设备32中云存储客户端321的版本信息所表征的云存储客户端的能力时,协同会话模块3112可以在后续发起上传下载任务。
可以理解的是,当两者的登录账户相同时,可以确定是同一用户进行的操作,此时较为安全,因此可以同意建立协同会话;当两者的登录账户不相同时,可以确定是不同的用户进行的操作,此时存储数据泄露的风险,因此可以不同意建立协同会话。当两者的版本信息相同或相近时,可以确定两个协同会话模块之间具有相同的能力,此时共享设备32中的协同会话模块3211具备协同会话模块3112所期望的协同能力,因此可以同意建立协同会话;当两者的版本信息不相同且不相近时,可以确定两个协同会话模块之间不具有相同的能力,此时共享设备32中的协同会话模块3211不具备协同会话模块3112所期望的协同能力,因此可以不同意建立协同会话。
可以理解的是,将两者的版本信息进行比对可以理解为是两者之间进行协商,以确定两 者的云存储客户端的能力是否存在交集。将两者的登录账号信息进行比对可以理解为是两者之间进行认证,以确定两者的云存储客户端的登录账号是否一致。
步骤11、协同会话模块3211向协同会话模块3112反馈协同会话建立消息。
本方案中,协同会话模块3211同意建立协同会话后,可以向协同会话模块3112反馈协同会话建立消息。其中,该协同会话建立消息主要是用于指示协同会话模块3211已同意建立协同会话,该协同会话建立消息中可以携带会话凭证信息。该会话凭证信息主要是用于指示两者之间已成功建立协同会话。该会话凭证信息可以供协同会话模块3112后续发送请求指令时使用。其中,协同会话模块3112在后续发送请求指令时,可以在请求指令中携带该会话凭证信息,之后,协同会话模块3211接收到请求指令后,通过该会话凭证信息确定出两者已建立协同会话,以避免出现再次建立协同会话的过程,提升处理效率。
此外,协同会话模块3211确定协同认证失败后,可以向协同会话模块3112反馈协同会话建立失败的消息。
步骤12、协同会话模块3112接收协同会话建立消息,以及记录共享设备32的设备信息和会话凭证信息。
本方案中,协同会话模块3112在确定出共享设备32中的协同会话模块3211同意建立协同会话后,可以记录共享设备32的设备信息和会话凭证信息,以便后续进行跨设备协同时直接使用。示例性的,共享设备32的设备信息可以包括共享设备32的主机名和/或I P地址。示例性的,会话凭证信息可以表征两者之间已经经过认证,其可以具有时效性,如在一段时间内有效。
可以理解的是,协同设备发现和认证这一流程可以预先完成,也可以放在需要协同时再进行,但为了提升设备协同的及时性,可以选择预先完成,在此不作限定。
可以理解的是,协同设备发现和认证中的各个步骤可以全部执行,也可以部分执行,在此不做限定。示例性的,可以直接执行步骤2,并在步骤5之后,协同会话模块3112可以直接向协同会话模块3211发送协同会话请求,并执行后续步骤。
(3)云存储文件协同上传和下载
在用户设备31上的云存储客户端311已经通过协同设备发现功能与网络内支持协同的共享设备32中的云存储客户端321完成协商认证(即建立协同会话)后,用户可以在用户设备31上上传共享设备32中的共享文件时可以启用云存储文件协同上传和下载的功能。下面分别详细描述云存储文件协同上传和下载过程。
a)云存储文件协同上传过程
图10是本申请实施例提供的一种云存储文件协同上传过程的通信示意图。如图10所示,本方案中,云存储文件协同上传过程可以包括:
步骤1、用户在用户设备31上的云存储客户端311中的管理模块3111上操作上传文件。
本方案中,用户可以在用户设备31上的云存储客户端311上操作上传文件。其中,在云存储客户端311中的管理模块3111可以配置有操作上传文件的入口。示例性的,如图11a所示,用户在用户设备31上登录到其云盘(即云存储客户端)中后,可以选择区域a1处的按键,该按键可以为操作上传文件的入口。
步骤2、用户通过用户设备31上的文件系统322选择共享设备32的远程共享文件夹中的文件上传服务器33。
本方案中,用户可以通过用户设备31选择共享设备32中需要上传的文件。该需要上传的文件是指在共享设备32上且需要上传到云存储客户端311中的文件。
示例性的,如图11a所示,用户在用户设备31上登录到其云盘(即云存储客户端)中后,可以选择区域a1处的按键,之后,用户设备31上即可以显示如图11b所示的界面,以使选择是从本机中上传文件还是从网络设备中上传文件。接着,继续参阅图11b,用户在用户设备31可以选择区域a2处的“网络设备”,以从网络设备中上传文件。用户在图11b中选择区域a2处的“网络设备”后,用户设备31即显示如图11c所示的界面,此时用户可以选择从哪个网络设备中上传文件,其中,用户可以选择区域a3处的“共享设备32”。用户在图11c中选择区域a3处的“共享设备32”后,用户设备31即显示如图11d所示的界面,此时,用户可以看到共享设备32中共享的文件,这时用户可以选择其所需上传的文件,如选择区域a4处的“xx1.doc”。用户在图11d中选择区域a4处的“xx1.doc”后,区域a4处的“xx1.doc”即为待上传文件。
步骤3、云存储客户端311中的管理模块3111基于协同设备发现和认证过程结果判断共享设备32是否支持协同。
本方案中,用户设备31可以基于其在协同设备发现和认证阶段记录的已同意建立协同会话的设备的设备信息,确定出共享设备32是否支持协同。例如,当共享设备32同意建立协同会话后,用户设备31可以记录共享设备32的设备信息,之后,当待上传的文件的远程设备为共享设备32时,用户设备31即可以确定出该待上传的文件的远程设备支持协同。
步骤4、在共享设备32支持协同的情况下,云存储客户端311中的管理模块3111向云存储客户端311中的协同会话模块3112发送协同上传指令。
本方案中,协同上传指令中可以包括以下信息中的一项或多项:指示上传的指令命令字;待上传的文件的远程路径信息;待上传的文件的元数据,如文件名,文件类型,或特征值等;或者,在远程设备中的协同会话模块同意建立协同会话时,协同会话模块3112记录的会话凭证信息。其中,文件的特征值可以表征文件的内容,示例性的,特征值可以为哈希值。
步骤5、云存储客户端311中的协同会话模块3112向共享设备32中的协同会话模块3211发送该协同上传指令。
步骤6、共享设备32中的协同会话模块3211接收协同上传指令,以及校验协同上传指令。
本方案中,共享设备32中的协同会话模块3211在接收到协同上传指令后,可以确定该协同上传指令中是否包含以下信息中的一项或多项:指示上传的指令命令字,待上传的文件的远程路径信息,待上传的文件的元数据,或者,会话凭证信息等。当协同上传指令中包含上述信息中的一项或多项时,则校验成功;否则,则校验失败。
步骤7,共享设备32中的协同会话模块3211在校验成功后,向共享设备32中的上传下载模块3212发送该协同上传指令。
步骤8、共享设备32中的上传下载模块3212接收协同上传指令,以及根据协同上传指令,从共享设备32的共享文件系统322中读取待上传文件。
本方案中,共享设备32中的上传下载模块3212可以基于协同上传指令中携带的待上传的文件的远程路径信息和待上传的文件的元数据,从共享设备32的共享文件系统322中读取到待上传文件内容。例如,待上传的文件的远程路径信息为:D:\works,待上传的文件的文件名为:abc,上传下载模块3212则可以从共享文件系统322的D盘works文件夹中读取到 文件名为abc的文件,该文件即为待上传文件。
步骤9、共享设备32中的上传下载模块3212向服务器33发送待上传文件。
步骤10、服务器33接收待上传文件和存储该待上传文件。
步骤11、共享设备32中的上传下载模块3212将上传过程中的上传进度信息和上传结果信息发送至共享设备32中的协同会话模块3211。
本方案中,共享设备32中的上传下载模块3212可以周期性发送上传进度信息,也可以按照预设的进度比发送上传进度信息。例如,上传下载模块3212可以每间隔2秒发送一次上传进度信息,也可以每上传2%发送一次上传进度信息。
步骤12、共享设备32中的协同会话模块3211向用户设备31中的协同会话模块3112发送上传进度信息和上传结果信息。
步骤13、用户设备31中的协同会话模块3112向用户设备31中的管理模块3111发送上传进度信息和上传结果信息。
步骤14、用户设备31中的管理模块3111向用户呈现上传进度信息和上传结果信息。
本方案中,在管理模块3111接收到上传进度信息和上传结果信息后,其即可以将这些信息在用户设备31上通过云存储客户端311呈现给用户。示例性的,如图11e所示,用户在用户设备31上登录到其云盘(即云存储客户端)后,可以在传输管理界面查看到上传进度,如在区域a5处可以看到“xx1.doc”已上传30%。
可以理解的是,本方案中,共享设备32中的上传下载模块3212上传成功后,服务器33可以更新其存储的云存储文件。之后,通过用户设备31上的云存储客户端311即可以查看到最新上传的文件。
可以理解的是,云存储文件协同上传过程中的各个步骤可以全部执行,也可以部分执行,在此不做限定。示例性的,在执行完步骤1和2后,云存储客户端311中的管理模块3111可以直接向云存储客户端311中的协同会话模块3112发送协同上传指令(即执行步骤4),并执行后续步骤。示例性的,步骤11至14可以执行,也可以不执行,具体可根据实际情况而定,在此不做限定。
b)云存储文件协同下载过程
图12是本申请实施例提供的一种云存储文件协同下载过程的通信示意图。如图12所示,本方案中,云存储文件协同下载过程可以包括:
步骤1、用户在用户设备31上的云存储客户端311中的管理模块3111上操作下载云存储文件。
本方案中,用户可以在用户设备31上的云存储客户端311中操作下载云存储文件。
示例性的,如图13a所示,用户在用户设备31上登录到其云盘(即云存储客户端)中后,可以选择区域b1处的“xxa.doc”。其中,用户在图13a中选择区域b1处的“xxa.doc”后,区域b1处的“xxa.doc”即为待下载文件,也即是说,“xxa.doc”为用户操作的需要下载的云存储文件。
步骤2、用户通过用户设备31上的文件系统322选择共享设备32的远程共享文件夹作为云存储文件下载目标地址。
本方案中,用户可以选择共享设备32中的文件夹作为其选择的云存储文件的下载目标地址。
示例性的,用户在图13a中选择区域b1处的“xxa.doc”,用户设备31上可以显示如图13b所示的界面。如图13b所示,用户可以选择区域b2处的“更多”按键,用户设备31上即显示如图13c所示的界面。在图13c所示的界面中,用户可以选择将“xxa.doc”缓存到本地,还是另存到其他地方。如图13c所示,用户可以选择区域b3处的“另存到”按键,之后,用户设备31上即可以显示如图13d所示的界面。在如图13d中,用户可以选择区域b4处的“共享设备32”,此时用户即选择将“xxa.doc”另存到共享设备32。接着,用户设备31上可以显示如图13e所示的界面,此时用户可以选择区域b5处的“xx1.文件夹”作为其选择的“xxa.doc”的下载目标地址,此时,“xxa.doc”则将会下载至“xx1.文件夹”中。
步骤3、云存储客户端311中的管理模块3111基于协同设备发现和认证过程结果判断共享设备32是否支持协同。
本方案中,用户设备31可以基于其在协同设备发现和认证阶段记录的已同意建立协同会话的设备的设备信息,确定出共享设备32是否支持协同。例如,当共享设备32同意建立协同会话后,用户设备31可以记录共享设备32的设备信息,之后,当待下载的文件的远程设备为共享设备32时,用户设备31即可以确定出该待下载的文件的远程设备支持协同。
步骤4、在共享设备32支持协同的情况下,云存储客户端311中的管理模块3111向云存储客户端311中的协同会话模块3112发送协同下载指令。
本方案中,协同下载指令中可以包括以下信息中的一项或多项:指示下载的指令命令字;待下载的文件的标识信息;待下载的文件的下载路径信息;或者,在远程设备中的协同会话模块同意建立协同会话时,协同会话模块3112记录的会话凭证信息。
步骤5、云存储客户端311中的协同会话模块3112向共享设备32中的协同会话模块3211发送协同下载指令。
步骤6、共享设备32中的协同会话模块3211接收协同下载指令,以及校验协同下载指令。
本方案中,共享设备32中的协同会话模块3211在接收到协同下载指令后,可以确定该协同下载指令中是否包含以下信息中的一项或多项:指示下载的指令命令字,待下载的文件的标识信息,待下载的文件的下载路径信息,或者,会话凭证信息等。当协同下载指令中包含上述信息中的一项或多项时,则校验成功;否则,则校验失败。
步骤7、共享设备32中的协同会话模块3211在校验成功后,向共享设备32中的上传下载模块3212发送协同下载指令。
步骤8、共享设备32中的上传下载模块3212接收协同下载指令,以及向服务器33发送文件下载请求。
本方案中,文件下载请求中可以携带有待下载的文件的标识信息,以便服务器33可以获知到上传下载模块3212所需的下载文件。
步骤9、服务器33向共享设备32中的上传下载模块3212发送下载文件。
步骤10、共享设备32中的上传下载模块3212接收下载文件,以及将下载文件写入协同下载指令中的目标文件夹中。其中,目标文件夹可以由待下载的文件的下载路径信息确定。例如,待下载的文件的下载路径信息为D:\works,则目标文件夹为works。
步骤11、共享设备32中的上传下载模块3212将下载过程中的下载进度信息和下载结果信息发送至共享设备32中的协同会话模块3211。
本方案中,共享设备32中的上传下载模块3212可以周期性发送下载进度信息,也可以 按照预设的进度比发送下载进度信息。例如,上传下载模块3212可以每间隔2秒发送一次下载进度信息,也可以每上传2%发送一次下载进度信息。
步骤12、共享设备32中的协同会话模块3211向用户设备31中的协同会话模块3112发送下载进度信息和下载结果信息。
步骤13、用户设备31中的协同会话模块3112向用户设备31中的管理模块3111发送下载进度信息和下载结果信息。
步骤14、用户设备31中的管理模块3111向用户呈现下载进度信息和下载结果信息。
本方案中,在管理模块3111接收到下载进度信息和下载结果信息后,其即可以将这些信息在用户设备31上通过云存储客户端311呈现给用户。示例性的,如图图13f所示,用户在用户设备31上登录到其云盘(即云存储客户端)后,可以在传输管理界面查看到下载进度,如在区域b6处可以看到“xxa.doc”已下载30%。
可以理解的是,云存储文件协同下载过程中的各个步骤可以全部执行,也可以部分执行,在此不做限定。示例性的,在执行完步骤1和2后,云存储客户端311中的管理模块3111可以直接向云存储客户端311中的协同会话模块3112发送协同上传指令(即执行步骤4),并执行后续步骤。示例性的,步骤11至14可以执行,也可以不执行,具体可根据实际情况而定,在此不做限定。
由此,本方案中,通过在共享文件的远程设备上新增部署用于代理上传下载文件的云存储客户端,以及通过本机上的云存储客户端与远程设备上的云存储客户端相互协商认证,从而使得可以通过本机上的云存储客户端远程指示远程设备上的云存储客户端执行上传下载等操作,并使得远程设备上的云存储客户端可以直接与云存储服务器进行通信,进而到缩短了远程设备文件上传下载的路径,减少了延时,且操作体验也与本地文件上传下载体验一致。由于远程设备是其自身执行上传下载等操作,因此也可以充分利用远程设备的带宽和在线优势;此外,在远程设备执行上传下载等操作时,也不占用本机的移动网络带宽和中央处理器(central processing unit,CPU)系统资源,减少了本机资源的消耗。
另外,本方案中,由于上传下载过程是由共享设备完成的,因此即使在上传下载过程中用户设备断网离线,也不影响共享设备上已启动的文件的上传下载任务。
需说明的是,在云存储文件协同上传和下载过程中,用户还可以通过用户设备31上的云存储客户端311上的管理模块3111发起暂停、取消等操作。具体的,如图14所示,用户在云存储文件协同上传和下载过程中的暂停和取消等操作可以包括以下步骤:
步骤1、用户在用户设备31上的云存储客户端311中的管理模块3111上操作暂停或取消操作。
示例性的,如图11e所示,用户可以在用户设备31上登录的云盘(即云存储客户端)的传输管理界面,选择区域a6处的传输进度按键,此时用户即进行了暂停操作。如图13f所示,用户可以在用户设备31上登录的云盘(即云存储客户端)的传输管理界面,选择区域b7处的传输进度按键,此时用户即进行了暂停操作。
步骤2、云存储客户端311中的管理模块3111向云存储客户端311中的协同会话模块3112发送协同操作指令。
本方案中,协同操作指令主要是用于指示暂停操作或取消操作。其中,该协同操作指令 中可以包括以下信息中的一项或多项:指示暂停或取消的指令命令字;待操作的任务信息;或者,在远程设备中的协同会话模块同意建立协同会话时,协同会话模块3112记录的会话凭证信息。
步骤3、云存储客户端311中的协同会话模块3112向共享设备32上的云存储客户端321中的协同会话模块3211发送协同操作指令。
步骤4、共享设备32上的云存储客户端321中的协同会话模块3211接收协同操作指令,以及校验协同操作指令。
本方案中,共享设备32中的协同会话模块3211在接收到协同操作指令后,可以确定该协同操作指令中是否包含以下信息中的一项或多项:指示暂停或取消的指令命令字;待操作的任务信息;或者,会话凭证信息等。当协同操作指令中包含上述信息中的一项或多项时,则校验成功;否则,则校验失败。
步骤5、共享设备32中的协同会话模块3211在校验成功后,向共享设备32中的上传下载模块3212发送协同操作指令。
步骤6、共享设备32中的上传下载模块3212执行协同操作指令,暂停或取消上传下载过程。
步骤7、共享设备32中的上传下载模块3212向共享设备32中的协同会话模块3211发送执行结果信息。
步骤8、共享设备32中的协同会话模块3211向用户设备31中的协同会话模块3112发送执行结果信息。
步骤9、用户设备31中的协同会话模块3112向用户设备31中的管理模块3111发送执行结果信息。
步骤10、用户设备31中的管理模块3111向用户呈现执行结果信息。
示例性的,如图15a所示,用户设备31上的区域a6处即可以呈现已暂停上传。如图15b所示,用户设备31上的区域b7即可以呈现已暂停下载。
以上即是对本方案中涉及的一种云存储文件跨设备协同操作方案的介绍。接下来介绍本方案中涉及的另一种云存储文件跨设备协同操作方案。该方案中,用户设备上云存储客户端的登录账号和共享设备上云存储客户端的登录账号可以相同,也可以不同,此外,共享设备上云存储客户端上亦可以不登录账号,即在该方案中对共享设备上云存储客户端的登录账号可以无限制。换言之,在该方案中,可以减少账号认证环节。可以理解的是,该云存储文件跨设备协同操作方案仅是示例性说明,并不构成对本申请实施例的具体限定。
可以理解的是,该云存储文件跨设备协同操作方案的系统预置条件与上文所描述的系统预置条件相同,在此就不再一一赘述。
(1)协同设备发现
可以理解的是,该云存储文件跨设备协同操作方案的协同设备发现过程与上文所描述的“协同设备发现和认证过程”类似,两者的不同之处在于,该协同设备发现过程中不需要“认证过程”。其中,该协同设备发现的过程与上文所描述的“协同设备发现和认证过程”,主要不同在于为:协同会话请求中携带的信息不同,确定是否建立协同会话的过程不同,以及后续记录的信息不同。
其中,该云存储文件跨设备协同操作方案的协同设备发现过程中,协同会话请求中可以 携带用户设备31中云存储客户端311的版本信息;其中,该协同会话请求主要是用于请求与共享设备32建立协同会话。
确定是否建立协同会话时,可以将共享设备32中云存储客户端321的版本信息,与用户设备31中云存储客户端311的版本信息,进行比对。当两者的版本信息相同或相近时,可以同意与协同会话模块3112建立协同会话;否则,不同意与协同会话模块3112建立协同会话。可以理解的是,将两者的版本信息进行比对可以理解为是两者之间进行协商,以确定两者的云存储客户端的能力是否存在交集。
在建立协同会话后,可以记录共享设备32的设备信息。其中,由于在该云存储文件跨设备协同操作方案的协同设备发现过程中,不涉及“认证过程”,因此可以不用记录会话凭证信息。
(2)云存储文件协同上传和下载
在用户设备31上的云存储客户端311已经通过协同设备发现功能与网络内支持协同的共享设备32中的云存储客户端321完成协商(即建立协同会话)后,用户可以在用户设备31上上传共享设备32中的共享文件时可以启用云存储文件协同上传和下载的功能。下面分别详细描述云存储文件协同上传和下载过程。
(a)云存储文件协同上传过程
示例性的,图16示出了一种云存储文件协同上传过程的通信示意图。如图16所示,本方案中,云存储文件协同上传过程可以包括:
步骤1、用户在用户设备31上的云存储客户端311中的管理模块3111上操作上传文件到服务器33。
步骤2、用户通过用户设备31上的文件系统322选择共享设备32的远程共享文件夹中的文件上传服务器33。
步骤3、云存储客户端311中的管理模块3111基于协同设备发现和认证过程结果判断共享设备32是否支持协同。
步骤4、在共享设备32支持协同的情况下,云存储客户端311中的管理模块3111向服务器33发送上传请求消息。
本方案中,上传请求消息可以是用于请求向服务器33上传文件。在一个例子中,上传请求消息中可以携带待上传的文件的元数据,如文件名,文件类型,或特征值等,其中,特征值可以为哈希值。
步骤5、服务器33响应上传请求消息,向云存储客户端311中的管理模块3111发送上传认证信息。
本方案中,服务器33接收到上传请求消息后,可以生成上传凭证信息,该上传凭证信息可以是随机数,其可以在预设时间段内有效。此外,当上传请求消息中携带有待上传文件的元数据和/或特征值时,服务器33还可以对待上传文件的元数据和/或特征值进行签名,以生成上传签名信息。其中,上传凭证信息可以用于服务器33在后续验证是否是其同意上传的;上传签名信息可以用于服务器33在后续验证其接收到的上传文件是否是云存储客户端311申请上传的文件,以防止云存储客户端311申请上传的文件被篡改。其中,文件的文件名可以用于在后续防止文件的文件名被篡改,文件的特征值可以用于在后续防止文件的内容被篡改。
在服务器33生成上传凭证信息和/或上传签名信息后,服务器33可以向云存储客户端311中的管理模块3111发送上传认证信息,其中,上传认证信息可以包括上传凭证信息和/ 或上传签名信息。
步骤6、云存储客户端311中的管理模块3111向云存储客户端311中的协同会话模块3112发送协同上传指令。
本方案中,协同上传指令中可以包括以下信息中的一项或多项:指示上传的指令命令字;待上传的文件的远程路径信息;待上传的文件的元数据,如文件名(用户可能修改),收藏属性等必要的文件属性信息;或者,上传认证信息。
步骤7、云存储客户端311中的协同会话模块3112向共享设备32中的协同会话模块3211发送该协同上传指令。
步骤8、共享设备32中的协同会话模块3211接收协同上传指令,以及校验协同上传指令。
本方案中,共享设备32中的协同会话模块3211在接收到协同上传指令后,可以确定该协同上传指令中是否包含以下信息中的一项或多项:指示上传的指令命令字,待上传的文件的远程路径信息,待上传的文件的元数据,或者,上传认证信息等。当协同上传指令中包含上述信息中的一项或多项时,则校验成功;否则,则校验失败。
步骤9,共享设备32中的协同会话模块3211在校验成功后,向共享设备32中的上传下载模块3212发送该协同上传指令。
步骤10、共享设备32中的上传下载模块3212接收协同上传指令,以及根据协同上传指令,从共享设备32的共享文件系统322中读取待上传文件。
步骤11、共享设备32中的上传下载模块3212向服务器33发送文件上传请求消息和待上传文件。
本方案中,文件上传请求消息可以用于请求上传待上传文件。该文件上传请求消息中可以携带有上传认证信息。
步骤12、服务器33接收文件上传请求消息,以及对上传认证信息进行校验。
本方案中,服务器33接收到文件上传请求消息后,可以对文件上传请求消息中的上传认证信息进行校验。在一个例子中,当上传认证信息中包括上传凭证信息时,服务器33可以校验该上传凭证信息是否是其下发的,当校验是其下发的时,则校验通过;否则,校验失败。当上传认证信息中包括上传签名信息时,服务器33可以对该上传签名信息进行鉴权,确定其接收到的文件是不是用户设备31申请上传的,当确定是用户设备31申请上传的时,则校验通过;否则,校验失败。
步骤13、服务器33在校验通过时,接收待上传文件和存储该待上传文件。
需说明的是,图16中所示的步骤1-3可参考上文图11中的相关描述,在此就不再一一赘述。此外,在步骤13之后,共享设备32中的云存储客户端321也可以将上传过程中的上传进度信息和上传结果信息发送至用户设备31中的云存储客户端311,以便云存储客户端311向用户呈现上传进度信息和上传结果信息,详见上文图11中的相关描述,在此就不再一一赘述。
可以理解的是,云存储文件协同上传过程中的各个步骤可以全部执行,也可以部分执行,在此不做限定。示例性的,在执行完步骤1和2后,云存储客户端311中的管理模块3111可以直接向服务器33发送上传请求消息(即执行步骤4),并执行后续步骤。
可以理解的是,本方案中,由于减少了账号认证环节,而改为由请求发起方(即用户设备上的云存储客户端)携带上传认证信息,以及在上传过程中由云存储服务器对上传认证信 息进行校验,因此,当共享设备上云存储客户端的登录账号与用户设备上云存储客户端的登录账号不同时,共享设备上云存储客户端也可以与该用户设备上的云存储客户端进行协同,进而使得共享设备上云存储客户端可以为多个不同用户提供服务,扩大了适用性。
(b)云存储文件协同下载过程
示例性的,图17是本申请实施例提供的一种云存储文件协同下载过程的通信示意图。如图17所示,本方案中,云存储文件协同下载过程可以包括:
步骤1、用户在用户设备31上的云存储客户端311中的管理模块3111上操作下载云存储文件。
步骤2、用户通过用户设备31上的文件系统322选择共享设备32的远程共享文件夹作为云存储文件下载目标地址。
步骤3、云存储客户端311中的管理模块3111基于协同设备发现和认证过程结果判断共享设备32是否支持协同。
步骤4、在共享设备32支持协同的情况下,云存储客户端311中的管理模块3111向服务器33发送下载请求消息。
本方案中,下载请求消息可以是用于请求从服务器33中下载文件。在一个例子中,上传请求消息中可以携带待下载的文件的标识信息。
步骤5、服务器33响应下载请求消息,向云存储客户端311中的管理模块3111发送下载认证信息。
本方案中,服务器33接收到下载请求消息后,可以生成下载凭证信息,该下载凭证信息可以是随机数,其可以在预设时间段内有效。此外,当下载请求消息中携带有待下载的文件的标识信息时,服务器33还可以对待下载的文件的标识信息进行签名,以生成下载签名信息。其中,下载凭证信息可以用于服务器33在后续验证是否是其同意下载的;下载签名信息可以用于服务器33在后续验证其接收到的下载文件是否是云存储客户端311申请下载的文件。
在服务器33生成下载凭证信息和/或下载签名信息后,服务器33可以向云存储客户端311中的管理模块3111发送下载认证信息,其中,下载认证信息可以包括下载凭证信息和/或下载签名信息。
步骤6、云存储客户端311中的管理模块3111向云存储客户端311中的协同会话模块3112发送协同下载指令。
本方案中,协同下载指令中可以包括以下信息中的一项或多项:指示下载的指令命令字;待下载的文件的标识信息;待下载的文件的下载路径信息;或者,下载认证信息。
步骤7、云存储客户端311中的协同会话模块3112向共享设备32中的协同会话模块3211发送协同下载指令。
步骤8、共享设备32中的协同会话模块3211接收协同下载指令,以及校验协同下载指令。
本方案中,共享设备32中的协同会话模块3211在接收到协同下载指令后,可以确定该协同下载指令中是否包含以下信息中的一项或多项:指示下载的指令命令字,待下载的文件的标识信息,待下载的文件的下载路径信息,或者,下载认证信息等。当协同下载指令中包含上述信息中的一项或多项时,则校验成功;否则,则校验失败。
步骤9、共享设备32中的协同会话模块3211在校验成功后,向共享设备32中的上传下 载模块3212发送协同下载指令。
步骤10、共享设备32中的上传下载模块3212接收协同下载指令,以及向服务器33发送文件下载请求。
本方案中,文件下载请求中可以携带有待下载的文件的标识信息,以及下载认证信息,以便服务器33可以获知到上传下载模块3212所需的下载文件,以及对校验下载认证信息。
步骤11、服务器33接收文件下载请求,以及对下载认证信息进行校验。
本方案中,服务器33接收到文件下载请求后,可以对文件下载请求中携带的下载认证信息进行校验。在一个例子中,当下载认证信息中包括下载凭证信息时,服务器33可以校验该下载凭证信息是否是其下发的,当校验是其下发的时,则校验通过;否则,校验失败。当下载认证信息中包括下载签名信息时,服务器33可以对该下载签名信息进行鉴权,确定当前申请下载的文件是不是用户设备31申请下载的,当确定是用户设备31申请下载的时,则校验通过;否则,校验失败。
步骤12、服务器33在校验通过时,向共享设备32中的上传下载模块3212发送下载文件。
步骤13、共享设备32中的上传下载模块3212接收下载文件,以及将下载文件写入协同下载指令中的目标文件夹中。
需说明的是,图17中所示的步骤1-3可参考上文图12中的相关描述,在此就不再一一赘述。此外,在步骤13之后,共享设备32中的云存储客户端321也可以将下载过程中的下载进度信息和下载结果信息发送至用户设备31中的云存储客户端311,以便云存储客户端311向用户呈现下载进度信息和下载结果信息,详见上文图12中的相关描述,在此就不再一一赘述。
可以理解的是,云存储文件协同下载过程中的各个步骤可以全部执行,也可以部分执行,在此不做限定。示例性的,在执行完步骤1和2后,云存储客户端311中的管理模块3111可以直接向服务器33发送下载请求消息(即执行步骤4),并执行后续步骤。
可以理解的是,本方案中,由于减少了账号认证环节,而改为由请求发起方(即用户设备上的云存储客户端)携带下载认证信息,以及在下载过程中由云存储服务器对下载认证信息进行校验,因此,当共享设备上云存储客户端的登录账号与用户设备上云存储客户端的登录账号不同时,共享设备上云存储客户端也可以与该用户设备上的云存储客户端进行协同,进而使得共享设备上云存储客户端可以为多个不同用户提供服务,扩大了适用性。
需说明的是,在云存储文件协同上传和下载过程中,用户还可以通过用户设备31上的云存储客户端311上的管理模块3111发起暂停、取消等操作。可以理解的是,该云存储文件跨设备协同操作方案的暂停、取消等操作过程与上文所描述的“暂停、取消等操作”类似,两者的不同之处在于:协同操作指令中所包含的信息不同,以及校验协同操作指令不同。
其中,在该云存储文件跨设备协同操作方案的暂停、取消等操作过程中,协同操作指令中可以包括以下信息中的一项或多项:指示暂停或取消的指令命令字;待操作的任务信息;或者,认证信息。在协同上传过程中,认证信息为上传认证信息。在协同下载过程中,认证信息为下载认证信息。
校验协同操作指令时,可以确定该协同操作指令中是否包含以下信息中的一项或多项:指示暂停或取消的指令命令字;待操作的任务信息;或者,认证信息等。当协同操作指令中 包含上述信息中的一项或多项时,则校验成功;否则,则校验失败。
需要说明的是,本申请实施例中提供的方案,在协同设备发现环节,除了基于上述所描述的共享文件设备发送探测之外,也可以通过Bonjour服务发现协议实现协同设备的发现。在用户设备与共享设备间用于通信协商的通道,除了自建通信通道外,也可以利用其它成熟的通信通道或通信总线进行。此外,远程设备文件访问不限于共享文件系统,也可以用其他协议的分布式文件系统或存储服务。
以上即是对本申请实施例提供的相关技术方案的介绍。接下来,基于上文所描述的内容,介绍本申请实施例提供的一种跨设备数据操作方法。可以理解的是,该方法是基于上文所描述的内容提出,该方法中的部分或全部内容可以参见上文中的有关描述。其中,该跨设备数据操作方法可以应用于包含第一设备、第二设备和服务器的系统中,且第一设备可远程访问第二设备上的共享数据。示例性的,第一设备可以为图3所示的用户设备31,第二设备可以为图3所示的共享设备32,服务器可以为图3所示的云存储服务器33。
示例性的,图18示出了一种跨设备数据操作方法。如图18所示,该方法可以包括以下步骤:
S1801、第一设备响应于获取到的第一指令,确定待上传数据的路径信息,其中,待上传数据位于第二设备中。
具体地,用户可以在第一设备上进行操作,以向第一设备下发第一指令。示例性的,用户在第一设备上进行的操作可以为图10或图16中所描述的上传文件操作。其中,第一指令可以理解为用户在第一设备上进行操作后产生的指令。用户在第一设备上进行操作时,第一设备可以远程访问第二设备共享的数据,进而可以确定出待上传数据的路径信息。示例性的,确定待上传数据的路径信息的过程可以参见图10或图16中步骤1和2的描述,此处不再赘述。示例性的,待上传数据可以图10或图16中所描述的待上传文件。
在一个例子中,待上传数据可以包括一个或多个文件。
S1802、第一设备向第二设备发送第一消息,第一消息中包括路径信息,第一消息用于指示第二设备将待上传数据上传至服务器。
具体地,第一设备在确定出待上传数据的路径信息后,可以向第二设备发送包含路径信息的第一消息,其中,该第一消息可以用于指示第二设备将待上传数据上传至服务器。示例性的,第一消息可以为图7中所描述的文件上传指令,也可以为图10或图16中所描述的协同上传指令。
在一个例子中,第一消息中还包括待上传数据的标识信息。
在一个例子中,第一消息中还包括会话凭证信息,会话凭证信息为第一设备和第二设备之间已认证的凭证。示例性的,会话凭证信息可以为图9中所描述的会话凭证信息。
进一步地,第一设备在向第二设备发送第一消息之前,还可以确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系;以及生成会话凭证信息。示例性的,确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系,可以理解为图9中所描述的确定两个账号是否是同一账号。此外,第一设备在生成会话凭证信息之前,还可以确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系。示例性的,确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系,可以理解为图9中所描述的两个版本之间是否具有能力交集。示例性的,第一账号可以为设备级账号,例如,第一账号是登 录第一设备的账号,也可以为应用级账号,例如,第一账号是登录第一设备上某一个或多个应用的账号。示例性的,第二账号可以为设备级账号,例如,第二账号是登录第二设备的账号,也可以为应用级账号,例如,第二账号是登录第二设备上某一个或多个应用的账号。
此外,会话凭证信息也可以由第二设备生成,此时,第二设备可以在获取第一消息之前确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系,以及生成会话凭证信息,并向第一设备发送会话凭证信息。之后,第一设备即可以获取到第二设备发送的会话凭证信息。此外,第二设备在生成会话凭证信息之前,可以确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系。示例性的,当第一账号为应用级账号时,第一账号对应的第一版本可以为第一账号所登录的应用的版本,当第二账号为应用级账号时,第二账号对应的第二版本可以为第二账号所登录的应用的版本。
在一个例子中,第一设备在向第二设备发送第一消息之前,还可以向服务器发送第一请求,第一请求用于请求上传待上传数据;其中,服务器可以响应于获取到的第一请求,生成上传认证信息,以及向第一设备发送上传认证信息。之后,第一设备可以获取到服务器发送的上传认证信息,上传认证信息用于服务器在获取到第二设备发送的待上传数据后对待上传数据进行校验。示例性的,第一请求可以为图16中所描述的上传请求消息,上传认证信息可以为图16中所描述的上传认证信息。此外,第一设备可以将该上传认证信息携带在第一消息中,以便第二设备可以获取到该上传认证信息。
此外,第一设备在向第二设备发送第一消息之前,可以确定第一设备上第一账号对应的第一版本和第二设备上第二账号对应的第二版本之间的关联关系。示例性的,确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系,可以理解为图9中所描述的两个版本之间是否具有能力交集。
S1803、第二设备根据第一消息包含的路径信息,确定待上传数据。
具体地,第二设备获取到第一消息后,可以从第一消息所包含的路径信息中确定出待上传数据。示例性的,确定待上传数据的过程可以参见图10中步骤8或图16中步骤10中的相关描述,此处不再赘述。
在一个例子中,当第一消息中包括待上传数据的标识信息时,第二设备可以根据该标识信息和路径信息,确定出待上传数据。
S1804、第二设备向服务器发送待上传数据。
具体地,第二设备确定出待上传数据后,可以将该数据发送至服务器。
S1805、服务器存储待上传数据。
具体地,服务器接收到待上传数据后,可以存储该待上传数据。
在一个例子中,第一设备上可以配置有第一客户端,第一客户端上可以登录有第一账号,第二设备上可以配置有第二客户端,第二客户端上可以登录有第二账号,其中,第一设备和第二设备之间的信令交互可以由第一客户端和第二客户端执行,第二设备和服务器之间的信令交互可以由第二客户端和服务器执行。示例性的,第一设备可以为图3所示的用户设备31,第二设备可以为图3所示的共享设备32,服务器可以为图3所示的云存储服务器33,第一客户端可以为图3中所示的云存储客户端311,第二客户端可以为图3中所示的云存储客户端321。
由此,第一设备在获取到第一指令后可以向第二设备发送指示上传数据的消息,从而第二设备可以将其上的数据上传至服务器,从而使得第二设备在第一设备的控制下可以直接与 服务器进行通信,进而到缩短了数据上传路径,减少了延时,且操作体验也与本地文件上传体验一致,提升了用户体验。
示例性的,图19示出了另一种跨设备数据操作方法。如图19所示,该方法可以包括以下步骤:
S1901、第一设备响应于获取到的第二指令,确定待下载数据的目标信息,目标信息包括标识信息和/或下载路径信息,下载路径信息所表征的存储路径位于第二设备中。
具体地,用户可以在第一设备上进行操作,以向第一设备下发第二指令。示例性的,用户在第一设备上进行的操作可以为图12或图17中所描述的下载文件操作。其中,第二指令可以理解为用户在第一设备上进行操作后产生的指令。用户在第一设备上进行操作时,第一设备可以基于用户的操作确定出待下载数据的目标信息,该目标信息可以包括标识信息和/或下载路径信息,下载路径信息所表征的存储路径位于第二设备中。示例性的,确定待下载数据的目标信息的过程可以参见图12或图17中步骤1和2的描述,此处不再赘述。
在一个例子中,待下载数据可以包括一个或多个文件。
S1902、第一设备向第二设备发送第二消息,第二消息中包括目标信息,第二消息用于指示第二设备从服务器下载待下载数据。
具体地,第一设备在确定出待下载数据的目标信息后,可以向第二设备发送包含目标信息的第二消息,其中,该第二消息用于指示第二设备从服务器下载待下载数据。示例性的,第一消息可以为图8中所描述的文件下载指令,也可以为图12或图17中所描述的协同下载指令。
在一个例子中,第二消息中还包括会话凭证信息,会话凭证信息为第一设备和第二设备之间已认证的凭证。示例性的,会话凭证信息可以为图9中所描述的会话凭证信息。
进一步地,第一设备在向第二设备发送第二消息之前,还可以确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系;以及生成会话凭证信息。示例性的,确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系,可以理解为图9中所描述的确定两个账号是否是同一账号。此外,第一设备在生成会话凭证信息之前,还可以确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系。示例性的,确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系,可以理解为图9中所描述的两个版本之间是否具有能力交集。示例性的,第一账号可以为设备级账号,例如,第一账号是登录第一设备的账号,也可以为应用级账号,例如,第一账号是登录第一设备上某一个或多个应用的账号。示例性的,第二账号可以为设备级账号,例如,第二账号是登录第二设备的账号,也可以为应用级账号,例如,第二账号是登录第二设备上某一个或多个应用的账号。
此外,会话凭证信息也可以由第二设备生成,此时,第二设备可以在获取第二消息之前确定第一设备上的第一账号和第二设备上的第二账号之间的关联关系,以及生成会话凭证信息,并向第一设备发送会话凭证信息。之后,第一设备即可以获取到第二设备发送的会话凭证信息。此外,第二设备在生成会话凭证信息之前,可以确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系。示例性的,当第一账号为应用级账号时,第一账号对应的第一版本可以为第一账号所登录的应用的版本,当第二账号为应用级账号时,第二账号对应的第二版本可以为第二账号所登录的应用的版本。
在一个例子中,第一设备在向第二设备发送第二消息之前,还可以向服务器发送第二请求,第二请求用于请求下载待下载数据;其中,服务器可以响应于获取到的第二请求,生成 下载认证信息,以及向第一设备发送下载认证信息。之后,第一设备可以获取到服务器发送的下载认证信息,下载认证信息用于服务器对获取到第二设备发送的用于获取待下载数据的第三请求进行校验,第三请求中可以包括下载认证信息。示例性的,第二请求可以为图17中所描述的下载请求消息,下载认证信息可以为图17中所描述的下载认证信息。此外,第一设备可以将该下载认证信息携带在第二消息中,以便第二设备可以获取到该下载认证信息。
此外,第一设备在向第二设备发送第二消息之前,可以确定第一设备上第一账号对应的第一版本和第二设备上第二账号对应的第二版本之间的关联关系。示例性的,确定第一账号对应的第一版本和第二账号对应的第二版本之间的关联关系,可以理解为图9中所描述的两个版本之间是否具有能力交集。
S1903、第二设备获取第一设备发送的第二消息,以及响应于获取到的第二消息,向服务器发送第三请求,第三请求用于请求获取待下载数据。
具体的,第二设备获取到第二消息后,可以向服务器发送用于请求获取待下载数据的第三请求,以请求下载待下载数据。示例性的,第三请求可以为图12或图17中所描述的文件下载请求,待下载数据可以为图12或图17中所描述的目标下载文件。
S1904、服务器响应于获取到的第三请求,确定待下载数据。
具体地,服务器接收到第二设备发送的第三请求后,可以从其存储的文件中查找到待下载数据。
在一个例子中,当第三请求中包含下载认证信息时,服务器可以对该第三请求进行校验,以及确定校验通过。示例性的,校验过程可以参见图17中步骤11中的描述,此处不再赘述。
S1905、服务器向第二设备发送待下载数据。
具体地,服务器确定出待下载数据后,可以将该待下载数据发送至第二设备。
S1906、第二设备将待下载数据存储于下载路径信息所表征的存储路径。
具体地,第二设备获取到待下载数据后,可以将待下载数据存储于下载路径信息所表征的存储路径中。
在一个例子中,第一设备上可以配置有第一客户端,第一客户端上可以登录有第一账号,第二设备上可以配置有第二客户端,第二客户端上可以登录有第二账号,其中,第一设备和第二设备之间的信令交互可以由第一客户端和第二客户端执行,第二设备和服务器之间的信令交互可以由第二客户端和服务器执行。示例性的,第一设备可以为图3所示的用户设备31,第二设备可以为图3所示的共享设备32,服务器可以为图3所示的云存储服务器33,第一客户端可以为图3中所示的云存储客户端311,第二客户端可以为图3中所示的云存储客户端321。
由此,第一设备在获取到第二指令后可以向第二设备发送指示下载数据的消息,从而第二设备可以向服务器请求获取数据,进而接收到服务器发送的数据,以及存储该数据,由此使得第二设备在第一设备的控制下可以直接与服务器进行通信,进而到缩短了数据下载路径,减少了延时,且操作体验也与本地文件下载体验一致,提升了用户体验。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable rom,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。

Claims (40)

  1. 一种跨设备数据操作方法,其特征在于,应用于第一设备,所述第一设备可远程访问所述第二设备上的共享数据,所述方法包括:
    所述第一设备响应于获取到的第一指令,确定待上传数据的路径信息,所述待上传数据位于所述第二设备中;
    所述第一设备向所述第二设备发送第一消息,所述第一消息中包括所述路径信息,所述第一消息用于指示所述第二设备将所述待上传数据上传至服务器。
  2. 根据权利要求1所述的方法,其特征在于,所述第一消息中还包括所述待上传数据的标识信息。
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一消息中还包括会话凭证信息,所述会话凭证信息为所述第一设备和所述第二设备之间已认证的凭证。
  4. 根据权利要求3所述的方法,其特征在于,在所述第一设备向所述第二设备发送所述第一消息之前,所述方法还包括:
    所述第一设备确定所述第一设备上的第一账号和所述第二设备上的第二账号之间的关联关系;
    所述第一设备生成所述会话凭证信息;
    或者,所述第一设备获取所述第二设备发送的所述会话凭证信息,其中,所述会话凭证信息由所述第二设备在确定所述第一账号和所述第二账号之间的关联关系后生成。
  5. 根据权利要求4所述的方法,其特征在于,在所述第一设备生成所述会话凭证信息之前,所述方法还包括:
    所述第一设备确定所述第一账号对应的第一版本和所述第二账号对应的第二版本之间的关联关系。
  6. 根据权利要求1或2所述的方法,其特征在于,在所述第一设备向所述第二设备发送第一消息之前,所述方法还包括:
    所述第一设备向所述服务器发送第一请求,所述第一请求用于请求上传所述待上传数据;
    所述第一设备获取所述服务器发送的上传认证信息,所述上传认证信息由所述服务器获取到所述第一请求后生成,所述上传认证信息用于所述服务器在获取到所述第二设备发送的所述待上传数据后对所述待上传数据进行校验。
  7. 根据权利要求6所述的方法,其特征在于,所述第一消息中还包括所述上传认证信息。
  8. 根据权利要求6或7所述的方法,其特征在于,在所述第一设备向所述第二设备发送第一消息之前,所述方法还包括:
    所述第一设备确定所述第一设备上第一账号对应的第一版本和所述第二设备上第二账号对应的第二版本之间的关联关系。
  9. 根据权利要求1-8任一所述的方法,其特征在于,所述待上传数据包括一个或多个文件。
  10. 根据权利要求1-9任一所述的方法,其特征在于,所述第一设备上配置有第一客户端,所述第一客户端上登录有第一账号,所述第二设备上配置有第二客户端,所述第二客户端上登录有第二账号,其中,所述第一设备和所述第二设备之间的信令交互由所述第一客户端和所述第二客户端执行。
  11. 一种跨设备数据操作方法,其特征在于,应用于第二设备,所述第二设备具有共享数据,所述共享数据可供所述第一设备远程访问,所述方法包括:
    所述第二设备获取所述第一设备发送的第一消息,所述第一消息中包括待上传数据的路径信息,所述待上传数据位于所述第二设备中,所述第一消息用于指示所述第二设备将所述待上传数据上传至服务器;
    所述第二设备根据所述路径信息,确定所述待上传数据;
    所述第二设备向所述服务器发送所述待上传数据。
  12. 根据权利要求11所述的方法,其特征在于,所述第一消息中还包括所述待上传数据的标识信息;
    所述第二设备根据所述路径信息,确定所述待上传数据,具体包括:
    所述第二设备根据所述标识信息和所述路径信息,确定所述待上传数据。
  13. 根据权利要求11或12所述的方法,其特征在于,所述第一消息中还包括会话凭证信息,所述会话凭证信息为所述第一设备和所述第二设备之间已认证的凭证。
  14. 根据权利要求13所述的方法,其特征在于,在所述第二设备获取所述第一设备发送的第一消息之前,所述方法还包括:
    所述第二设备确定所述第一设备上的第一账号和所述第二设备上的第二账号之间的关联关系;
    所述第二设备生成所述会话凭证信息,以及向所述第一设备发送所述会话凭证信息。
  15. 根据权利要求14所述的方法,其特征在于,在所述第二设备生成所述会话凭证信息之前,所述方法还包括:
    所述第二设备确定所述第一账号对应的第一版本和所述第二账号对应的第二版本之间的关联关系。
  16. 根据权利要求11或12所述的方法,其特征在于,所述第一消息中还包括上传认证信息,所述上传认证信息由所述服务器在获取到所述第一设备发送的第一请求后生成,所述第一请求用于请求上传所述待上传数据;
    所述方法还包括:
    所述第二设备向所述服务器发送所述上传认证信息,所述上传认证信息用于所述服务器对所述待上传数据进行校验。
  17. 根据权利要求16所述的方法,其特征在于,在所述第二设备获取所述第一设备发送的第一消息之前,所述方法还包括:
    所述第二设备确定所述第一设备上第一账号对应的第一版本和所述第二设备上第二账号对应的第二版本之间的关联关系。
  18. 根据权利要求11-17任一所述的方法,其特征在于,所述待上传数据包括一个或多个文件。
  19. 根据权利要求11-18任一所述的方法,其特征在于,所述第一设备上配置有第一客户端,所述第一客户端上登录有第一账号,所述第二设备上配置有第二客户端,所述第二客户端上登录有第二账号,其中,所述第一设备和所述第二设备之间的信令交互由所述第一客户端和所述第二客户端执行。
  20. 一种跨设备数据操作方法,其特征在于,应用于第一设备,所述第一设备可远程访问所述第二设备上的共享数据,所述方法包括:
    所述第一设备响应于获取到的第二指令,确定待下载数据的目标信息,所述目标信息包括标识信息和/或下载路径信息,所述下载路径信息所表征的存储路径位于所述第二设备中;
    所述第一设备向所述第二设备发送第二消息,所述第二消息中包括所述目标信息,所述第二消息用于指示所述第二设备从服务器下载所述待下载数据。
  21. 根据权利要求20所述的方法,其特征在于,所述第二消息中还包括会话凭证信息,所述会话凭证信息为所述第一设备和所述第二设备之间已认证的凭证。
  22. 根据权利要求21所述的方法,其特征在于,在所述第一设备向所述第二设备发送第二消息之前,所述方法还包括:
    所述第一设备确定所述第一设备上的第一账号和所述第二设备上的第二账号之间的关联关系;
    所述第一设备生成所述会话凭证信息;
    或者,所述第一设备获取所述第二设备发送的所述会话凭证信息,其中,所述会话凭证信息由所述第二设备在确定所述第一账号和所述第二账号之间的关联关系后生成。
  23. 根据权利要求22所述的方法,其特征在于,在所述第一设备生成所述会话凭证信息之前,所述方法还包括:
    所述第一设备确定所述第一账号对应的第一版本和所述第二账号对应的第二版本之间的关联关系。
  24. 根据权利要求20所述的方法,其特征在于,在所述第一设备向所述第二设备发送第二消息之前,所述方法还包括:
    所述第一设备向所述服务器发送第二请求,所述第二请求用于请求下载所述待下载数据;
    所述第一设备获取所述服务器发送的下载认证信息,所述下载认证信息由所述服务器获取到所述第二请求后生成,所述下载认证信息用于所述服务器对获取到所述第二设备发送的第三请求进行校验,所述第三请求用于请求获取所述待下载数据,所述第三请求中包括所述下载认证信息。
  25. 根据权利要求24所述的方法,其特征在于,所述第二消息中还包括所述下载认证信息。
  26. 根据权利要求24或25所述的方法,其特征在于,在所述第一设备向所述第二设备发送第二消息之前,所述方法还包括:
    所述第一设备确定所述第一设备上第一账号对应的第一版本和所述第二设备上第二账号对应的第二版本之间的关联关系。
  27. 根据权利要求20-26任一所述的方法,其特征在于,所述待下载数据包括一个或多个文件。
  28. 根据权利要求20-27任一所述的方法,其特征在于,所述第一设备上配置有第一客户端,所述第一客户端上登录有第一账号,所述第二设备上配置有第二客户端,所述第二客户端上登录有第二账号,其中,所述第一设备和所述第二设备之间的信令交互由所述第一客户端和所述第二客户端执行。
  29. 一种跨设备数据操作方法,其特征在于,应用于第二设备,所述第二设备具有共享数据,所述共享数据可供所述第一设备远程访问,所述方法包括:
    所述第二设备获取所述第一设备发送的第二消息,所述第二消息中包括所述目标信息,所述目标信息包括标识信息和/或下载路径信息,所述下载路径信息所表征的存储路径位于所述第二设备中,所述第二消息用于指示所述第二设备从服务器下载所述待下载数据;
    所述第二设备响应于获取到的所述第二消息,向所述服务器发送第三请求,所述第三请求用于请求获取所述待下载数据;
    所述第二设备获取所述服务器发送的所述待下载数据,以及将所述待下载数据存储于所述下载路径信息所表征的存储路径。
  30. 根据权利要求29所述的方法,其特征在于,所述第二消息中还包括会话凭证信息,所述会话凭证信息为所述第一设备和所述第二设备之间已认证的凭证。
  31. 根据权利要求30所述的方法,其特征在于,在所述第二设备获取所述第一设备发送的第二消息之前,所述方法还包括:
    所述第二设备确定所述第一设备上的第一账号和所述第二设备上的第二账号之间的关联关系;
    所述第二设备生成所述会话凭证信息,以及向所述第一设备发送所述会话凭证信息。
  32. 根据权利要求31所述的方法,其特征在于,在所述第二设备生成所述会话凭证信息之前,所述方法还包括:
    所述第二设备确定所述第一账号对应的第一版本和所述第二账号对应的第二版本之间的关联关系。
  33. 根据权利要求29所述的方法,其特征在于,所述第二消息中还包括下载认证信息,所述下载认证信息由所述服务器获取到所述第二请求后生成,所述下载认证信息用于所述服务器在获取到所述第二设备发送的所述第三请求进行校验,其中,所述第三请求中包括所述下载认证信息。
  34. 根据权利要求33所述的方法,其特征在于,在所述第二设备获取所述第一设备发送的第二消息之前,所述方法还包括:
    所述第二设备确定所述第一设备上第一账号对应的第一版本和所述第二设备上第二账号对应的第二版本之间的关联关系。
  35. 根据权利要求29-34任一所述的方法,其特征在于,所述待上传数据包括一个或多个文件。
  36. 根据权利要求29-35任一所述的方法,其特征在于,所述第一设备上配置有第一客户端,所述第一客户端上登录有第一账号,所述第二设备上配置有第二客户端,所述第二客户端上登录有第二账号,其中,所述第一设备和所述第二设备之间的信令交互由所述第一客户端和所述第二客户端执行。
  37. 一种跨设备数据操作系统,其特征在于,包括:第一设备、第二设备和服务器,第一设备可远程访问第二设备上的共享数据;
    其中,所述第一设备用于执行如权利要求1-10任一所述的方法,所述第二设备用于执行如权利要求11-19任一所述的方法,所述服务器至少用于存储所述第二设备发送的待上传数据;
    或者,所述第一设备用于执行如权利要求20-28任一所述的方法,所述第二设备用于执行如权利要求29-36任一所述的方法,所述服务器至少用于在获取到所述第二设备发送的第三请求后,向所述第二设备发送待下载数据,所述第三请求用于请求获取所述待下载数据。
  38. 一种电子设备,其特征在于,包括:
    至少一个存储器,用于存储程序;
    至少一个处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行如权利要求1-36任一所述的方法。
  39. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-36任一所述的方法。
  40. 一种计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1-36任一所述的方法。
PCT/CN2022/102687 2021-07-07 2022-06-30 一种跨设备数据操作方法及系统 WO2023280040A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110769480.8A CN115603928A (zh) 2021-07-07 2021-07-07 一种跨设备数据操作方法及系统
CN202110769480.8 2021-07-07

Publications (1)

Publication Number Publication Date
WO2023280040A1 true WO2023280040A1 (zh) 2023-01-12

Family

ID=84800893

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/102687 WO2023280040A1 (zh) 2021-07-07 2022-06-30 一种跨设备数据操作方法及系统

Country Status (2)

Country Link
CN (1) CN115603928A (zh)
WO (1) WO2023280040A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100293139A1 (en) * 2009-05-13 2010-11-18 Peng Li Method, widget terminal and server for synchronizing data
CN103763315A (zh) * 2014-01-14 2014-04-30 北京航空航天大学 一种应用于移动设备云存储的可信数据存取控制方法
CN105009131A (zh) * 2012-09-22 2015-10-28 谷歌公司 促进智能家庭设备与基于云的服务器间通信的多层认证方法
CN105009549A (zh) * 2013-12-10 2015-10-28 华为终端有限公司 一种同步方法及终端、服务器
CN105450667A (zh) * 2015-12-30 2016-03-30 芜湖乐锐思信息咨询有限公司 基于互联网的远程信息共享关联系统
CN105791396A (zh) * 2016-02-25 2016-07-20 深圳市英威腾电气股份有限公司 一种远程监控方法、监控终端及远程监控系统
CN111866826A (zh) * 2019-12-31 2020-10-30 北京骑胜科技有限公司 一种数据上传方法和相关装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100293139A1 (en) * 2009-05-13 2010-11-18 Peng Li Method, widget terminal and server for synchronizing data
CN105009131A (zh) * 2012-09-22 2015-10-28 谷歌公司 促进智能家庭设备与基于云的服务器间通信的多层认证方法
CN105009549A (zh) * 2013-12-10 2015-10-28 华为终端有限公司 一种同步方法及终端、服务器
CN103763315A (zh) * 2014-01-14 2014-04-30 北京航空航天大学 一种应用于移动设备云存储的可信数据存取控制方法
CN105450667A (zh) * 2015-12-30 2016-03-30 芜湖乐锐思信息咨询有限公司 基于互联网的远程信息共享关联系统
CN105791396A (zh) * 2016-02-25 2016-07-20 深圳市英威腾电气股份有限公司 一种远程监控方法、监控终端及远程监控系统
CN111866826A (zh) * 2019-12-31 2020-10-30 北京骑胜科技有限公司 一种数据上传方法和相关装置

Also Published As

Publication number Publication date
CN115603928A (zh) 2023-01-13

Similar Documents

Publication Publication Date Title
CN112035215B (zh) 节点集群的节点自治方法、系统、装置及电子设备
US11792199B2 (en) Application-assisted login for a web browser
US10282522B2 (en) Cross-application authentication on a content management system
US8316139B2 (en) Systems and methods for integrating local systems with cloud computing resources
US20190239260A1 (en) Peer to peer networking and sharing systems and methods
WO2020057163A1 (zh) Mec平台部署方法及装置
RU2683620C1 (ru) Способ осуществления совместного использования данных между клиентом и виртуальным рабочим столом, клиентом и системой
US11303641B2 (en) Methods and systems for accessing remotely stored files using virtual applications
CN107111630A (zh) 从浏览器打开本地应用
JP6018316B2 (ja) 端末認証登録システム、端末認証登録方法およびプログラム
JP2016519818A (ja) モバイルデバイス管理機能の提供
WO2016161888A1 (zh) 一种用于对云应用进行远程访问的方法、装置及系统
CN107566433A (zh) 一种云终端登录虚拟桌面方法及装置
US11509465B2 (en) Computing device and related methods providing virtual session access using group connection leases and user interface (UI) caches
WO2017166130A1 (zh) 一种访问家庭nas设备的方法、对应装置及系统
CN111108736B (zh) 用于计算设备的自动地址故障切换的方法和系统
US11729334B2 (en) Communication system, device, and recording medium for remote access to electronic device through relaying device and converter
CA3138506A1 (en) Methods and systems for accessing remotely stored files using virtual applications
WO2023280040A1 (zh) 一种跨设备数据操作方法及系统
CA3135722C (en) Sharing resources between client devices in a virtual workspace environment
US20210234707A1 (en) Systems and methods for secure access to native cloud services to computers outside the cloud
US11889000B2 (en) Shared device secure access
CN115484316B (zh) 一种共享文件的方法和装置
WO2024045000A1 (en) Application-based clipboard isolation and sharing
US20230370447A1 (en) System and method for providing application access through an rdp pool service over a zero trust cloud environment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22836793

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22836793

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 18.07.2024)