Data sharing method and system-level electronic equipment

By introducing a unified data definition standard and management framework across different devices and applications, the problem of inconsistent data sharing paths has been solved, achieving convenient data transmission and unified format.

CN121579232APending Publication Date: 2026-02-27HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511547789.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-05-16
Publication Date
2026-02-27

AI Technical Summary

Technical Problem

Inconsistent standard definitions exist for data sharing paths between different applications and devices, resulting in cumbersome and inconvenient data transmission and reception processes.

Method used

By adopting a unified data definition standard, data is transmitted between different applications and devices through a data management framework, ensuring that data is defined and parsed in accordance with a unified standard before and after sharing.

Benefits of technology

It facilitates data transmission between different devices and applications, simplifies the data sharing process, and ensures consistent data formats.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121579232A_ABST
    Figure CN121579232A_ABST
Patent Text Reader

Abstract

The invention provides a data sharing method, system and electronic equipment. Whether data sharing between two applications on the same device or data sharing between two applications on different devices is carried out, the sender application can obtain the specified data definition standard from the unified data management framework, and the data is shared based on the specified data definition standard to generate the redefined shared data. The receiver application can also obtain the same specified data definition standard from the unified data management framework, and redefined shared data is analyzed to obtain shared data. According to different applications and different sharing paths, the data definition standard is unified, the definition unification of the shared data is realized, and the data processing flow is simplified.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application. The original application has the application number 202310555908.8 and the original application date is May 16, 2023. The entire contents of the original application are incorporated herein by reference. Technical Field

[0002] This application relates to the field of data processing technology, and in particular to a data sharing method and a system-level electronic device. Background Technology

[0003] With the upgrading of consumption, users own more and more smart terminal devices. In some scenarios, users can share data between different terminal devices, for example, through sharing paths such as "drag and drop" and "clipboard". In other scenarios, users can also share data between different applications on the same terminal device, and different applications on the same terminal device can also share data through sharing paths such as "drag and drop" and "clipboard".

[0004] The different sharing paths for various applications and data lead to different standard definitions for shared data. For each sharing path, the sender needs to define the shared data accordingly, and the receiver also needs to parse the data based on multiple different standard definitions, making the data transmission and reception process cumbersome. Further research is needed to improve the convenience of data transmission between devices and applications. Summary of the Invention

[0005] This application provides a data sharing method and a system-level electronic device that simplifies the data transmission process between two applications through a unified data definition standard.

[0006] In a first aspect, this application provides a data sharing system, comprising a first electronic device and a second electronic device, which establish a communication connection. The first electronic device includes a first application, and the second electronic device includes a second application. The first application is used to acquire first data; the first application is further used to: generate first defined data corresponding to the first data based on a specified data definition standard, wherein the first defined data includes attributes of the first data and the first data itself, or the first defined data includes attributes of the first data and a storage path for the first data; and send the first defined data to the second application via a first sharing path and the communication connection. The second application is used to acquire the first defined data via the first sharing path. It is also used to parse the first data or the storage path of the first data from the first defined data based on a specified data definition standard; the first application is also used to: obtain the second data; generate the second defined data corresponding to the second data based on the specified data definition standard, the second defined data including the attributes of the second data and the second data, or the second defined data including the attributes of the second data and the storage path of the second data; send the second defined data to the second application through the second sharing path and the communication connection; the second application is also used to: obtain the second defined data through the second sharing path; parse the second data or the storage path of the second data from the second defined data based on the specified data definition standard; wherein the second sharing path is different from the first sharing path.

[0007] The first or second sharing path includes any of the following: drag-and-drop path, clipboard path, cross-device manual path, and cross-device automatic path.

[0008] Optionally, the first application and the second application can be the same or different; this application does not limit this.

[0009] For example, the first data can be an image. When the image is sent to the instant messaging application via a first sharing path and a second sharing path, the type definition for the image is "image" for both paths.

[0010] This system enables data sharing between two applications on different devices. Before sharing data, each application needs to define the shared data according to this standard. After receiving the shared data, each application also needs to parse the shared data based on this standard. In other words, the data definition standard is unified for different applications and different sharing paths, achieving a unified format for shared data.

[0011] In conjunction with the first aspect, in one possible implementation, the first electronic device further includes a first data management framework, and the second electronic device further includes a second data management framework; the first application is specifically used to send first defined data to the first data management framework via a first sharing path; the first data management framework is used to send the first defined data to the second data management framework via a communication connection; and the second data management framework is also used to send the first defined data to the second application via the first sharing path.

[0012] This application provides a data management framework (a first data management framework and a second data management framework) for statistical management of data on a device. The second data management framework can store the first defined data, and a second application can read data from the second data management framework.

[0013] In conjunction with the first aspect, in one possible implementation, the first application is further configured to: generate a unified management protocol for the first data based on a unified management protocol standard, wherein the unified management protocol for the first data includes an identifier of a first sharing path; send the unified management protocol for the first data to a first data management framework; the first data management framework is further configured to: send the unified management protocol for the first data to a second data management framework via a communication connection; the second data management framework is specifically configured to: obtain the identifier of the first sharing path from the unified management protocol for the first data; and send the first defined data to the second application via the first sharing path based on the identifier of the first sharing path.

[0014] In this way, the unified data management framework can determine the identifier of the sharing path based on the unified management protocol of the first data, and then share it to the peer application through the corresponding path.

[0015] In conjunction with the first aspect, in one possible implementation, the first application is further configured to: generate usage instructions for the first data based on a specified data definition standard, wherein the usage instructions for the first data include personalized permissions for the first sharing path; send the usage instructions for the first data to a first data management framework; the first data management framework is further configured to: send the usage instructions for the first data to a second data management framework via a communication connection; the second data management framework is specifically configured to: receive a first notification sent by the second application, the first notification being used to read the first data, the first notification including an identifier of the second application; obtain the permission rules for the first sharing path based on the identifier of the first sharing path in the unified management protocol of the first data; obtain the personalized permissions for the first data from the usage instructions for the first data; after determining, based on the usage instructions for the first data, that the second application has the ability to access the first data, when the first data management framework determines, based on the personalized permissions of the first data, the permission rules of the first sharing path, the permission rules of the second data management framework, and the identifier of the second application, that the second application has the permission to access the first data, send the first defined data to the second application via the first sharing path based on the identifier of the first sharing path.

[0016] In this way, the unified data management framework can verify whether a second application has the capability to use the data based on specified data definition standards. After verifying that the second application has the capability to use the data, the unified data management framework then determines whether the second application has permission to use the data based on one or more of the personalized permissions of the first data, the permission rules of the first sharing path, and the permission rules of the second data management framework. Once permission is granted, the data is then sent to the second application.

[0017] Specifically, the instructions for using First Data include the application source field, operating system source field, and type field.

[0018] When the type field identifies the first data as the base class data, the unified data management framework can directly determine whether a second application has permission to use that data. There's no need to look at the application origin field or the operating system origin field.

[0019] When the type field indicates that the first data is system-defined data, the unified data management framework first needs to check the operating system source field to determine whether the operating system and operating system source of the device where the second application is installed are the same. If they are the same, it means that the second application has the ability to access the data, and the unified data management framework then determines whether the second application has permission to use the data.

[0020] When the type field indicates that the first data is application-defined class data, the unified data management framework needs to first check the application source field to determine if the second application was installed and if the application source is the same. If they are the same, it means that the second application has the ability to access the data, and the unified data management framework then determines whether the second application has permission to use the data.

[0021] Secondly, this application provides a data sharing method, comprising: a second application on a second electronic device obtaining first defined data sent by a first application on a first electronic device through a first sharing path and a communication connection, wherein the first defined data is generated by the first application based on a specified data definition standard and first data, and the first defined data includes attributes of the first data and the first data, or the first defined data includes attributes of the first data and a storage path of the first data; the second electronic device is different from the first electronic device, and the first electronic device and the second electronic device establish a communication connection; the second application parses the first data or the storage path of the first data from the first defined data based on the specified data definition standard; the second application obtains second defined data sent by the first application through a second sharing path and a communication connection, wherein the second defined data is generated by the first application based on a specified data definition standard and second data, and the second defined data includes attributes of the second data and the second data, or the second defined data includes attributes of the second data and a storage path of the second data; the second application parses the second data or the storage path of the second data from the second defined data based on the specified data definition standard; wherein the second sharing path is different from the first sharing path.

[0022] Optionally, when the first data is non-file data, the first defined data includes the attributes of the first data and the first data itself. Non-file data may include, but is not limited to, text data, system-defined data, and application-defined data.

[0023] When the first data is file data, the first defined data includes the attributes of the first data and the storage path of the first data.

[0024] In conjunction with the second aspect, in one possible implementation, the second application obtains the first defined data sent by the first application through the second sharing path and communication connection; the second application parses the first data or the storage path of the first data from the first defined data based on the specified data definition standard.

[0025] In this way, the same shared data can be shared to the other application through different sharing paths. The first application can directly reuse the previously defined data without having to generate new defined data based on the specified data definition standard and the first data.

[0026] In conjunction with the second aspect, in one possible implementation, the first electronic device further includes a first data management framework, and the second electronic device further includes a second data management framework; the second application obtains the first defined data sent by the first application through a first sharing path and a communication connection, specifically including: the second data management framework receiving the first defined data sent by the first data management framework through the communication connection, wherein the first defined data stored in the first data management framework is sent by the first application; and the second data management framework sending the first defined data to the second application through the first sharing path.

[0027] In conjunction with the second aspect, in one possible implementation, the second application obtains the first defined data sent by the first application through the first sharing path. Specifically, this includes: the second data management framework receiving the unified management protocol of the first data sent by the first data management framework through a communication connection, wherein the unified management protocol of the first data is generated by the first application based on the unified management protocol standard, and the unified management protocol of the first data includes the identifier of the first sharing path; the second data management framework obtaining the identifier of the first sharing path from the unified management protocol of the first data; and the second data management framework sending the first defined data to the second application through the first sharing path based on the identifier of the first sharing path.

[0028] In this way, the unified data management framework can determine the identifier of the sharing path based on the unified management protocol of the first data, and then share it to the peer application through the corresponding path.

[0029] In conjunction with the second aspect, in one possible implementation, the second application obtains the second defined data sent by the first application through a second sharing path. Specifically, this includes: the second data management framework receiving the unified management protocol of the second data sent by the first data management framework through a communication connection, wherein the unified management protocol of the second data is generated by the first application based on the unified management protocol standard, and the unified management protocol of the second data includes the identifier of the second sharing path; the second data management framework obtaining the identifier of the second sharing path from the unified management protocol of the second data; and the second data management framework sending the second defined data to the second application through the second sharing path based on the identifier of the second sharing path; wherein the unified management protocol of the second data is different from the unified management protocol of the first data.

[0030] Thus, the unified management protocol for the shared data generated by the first application differs depending on the sharing path.

[0031] In conjunction with the second aspect, in one possible implementation, before the second data management framework sends the first defined data to the second application via the first sharing path based on the identifier of the first sharing path, the method further includes: the second data management framework receiving usage instructions for the first data sent by the first data management framework via a communication connection. The usage instructions for the first data are generated by the first application based on a specified data definition standard and sent to the first data management framework. The usage instructions for the first data include personalized permissions for the first data. The second data management framework sending the first defined data to the second application via the first sharing path based on the identifier of the first sharing path specifically includes: the second data management framework receiving a first notification sent by the second application. The first notification is used to read the first data. The first notification includes the identifier of the second application; the second data management framework obtains the permission rules of the first sharing path based on the identifier of the first sharing path in the unified management protocol of the first data; the second data management framework obtains the personalized permissions of the first data from the usage instructions of the first data; after the second data management framework determines that the second application has the ability to access the first data based on the usage instructions of the first data, and when the first data management framework determines that the second application has the permission to access the first data based on the personalized permissions of the first data, the permission rules of the first sharing path, the permission rules of the first data management framework, and the identifier of the second application, the second data management framework sends the first defined data to the second application through the first sharing path based on the identifier of the first sharing path.

[0032] In conjunction with the second aspect, in one possible implementation, after the second data management framework receives the first defined data and the unified management protocol of the first data, the method further includes: the second data management framework verifying the first defined data based on the specified data definition standard; if the verification passes, the second data management framework stores the first defined data, the unified management protocol of the first data, and the usage instructions for the first data.

[0033] In conjunction with the second aspect, in one possible implementation, if the verification fails, the first defined data and the usage instructions of the unified management protocol for the first data are deleted.

[0034] This ensures that the redefined data stored in the second data management framework is defined based on the specified data definition standard.

[0035] In conjunction with the second aspect, in one possible implementation, the specified data definition standard is stored in the second data management framework; the method further includes: the second data management framework sending the specified data definition standard to the second application.

[0036] This allows the second application to parse the first defined data based on the specified data definition standard, thereby obtaining the first data.

[0037] In conjunction with the second aspect, in one possible implementation, after the second application parses the storage path of the first data from the first defined data based on the specified data definition standard, the method further includes: the second application sending the storage path of the first data to the first application through a communication connection; the second application receiving the first data sent by the first application through the communication connection, wherein the first data is obtained by the first application based on the storage path of the first data.

[0038] In conjunction with the second aspect, in one possible implementation, after the second application parses the first data or the storage path of the first data from the first defined data, the method further includes: the second data management framework deleting the first defined data.

[0039] In this way, the second data management framework can promptly clean up shared data that has already been used, thus preventing data leaks.

[0040] Thirdly, this application provides a data sharing method, characterized in that it is applied to a first electronic device, the first electronic device including a first application and a second application, the method comprising: the first application acquiring first data; the first application generating first defined data corresponding to the first data based on a specified data definition standard, the first defined data including the attributes of the first data and the first data, or the first defined data including the attributes of the first data and the storage path of the first data; the first application sending the first defined data to the second application through a first sharing path; the second application parsing the first data or the storage path of the first data from the first defined data based on the specified data definition standard; the first application acquiring second data; the first application generating second defined data corresponding to the second data based on the specified data definition standard, the second defined data including the attributes of the second data and the second data, or the second defined data including the attributes of the second data and the storage path of the second data; the first application sending the second defined data to the second application through a second sharing path; the second application parsing the second data or the storage path of the second data from the second defined data based on the specified data definition standard; wherein the second sharing path is different from the first sharing path.

[0041] This data sharing method between two applications on the same device requires each application to define the shared data according to this standard before sharing. After receiving the shared data, each application also needs to parse it based on this standard. In other words, the data definition standard is unified across different applications and sharing paths, achieving a consistent format for shared data.

[0042] In conjunction with the third aspect, in one possible implementation, the method further includes: the first application obtaining the first defined data; the first application sending the first defined data to the second application via a second sharing path; and the second application parsing the first data or the storage path of the first data from the first defined data based on a specified data definition standard.

[0043] In this way, the same shared data can be shared to the other application through different sharing paths. The first application can directly reuse the previously defined data without having to generate new defined data based on the specified data definition standard and the first data.

[0044] In conjunction with the third aspect, in one possible implementation, the first electronic device further includes a first data management framework. The first application sends the first defined data to the second application via a first sharing path. Specifically, this includes: the first application generating a unified management protocol for the first data based on a unified management protocol standard, wherein the unified management protocol for the first data includes an identifier of the first sharing path; the first application sending the first defined data and the unified management protocol for the first data to the first data management framework; the first data management framework obtaining the identifier of the first sharing path from the unified management protocol for the first data; and the first data management framework sending the first defined data to the second application via the first sharing path based on the identifier of the first sharing path.

[0045] In conjunction with the third aspect, in one possible implementation, the second application sends the second defined data to the second application via a second sharing path, specifically including: the first application generating a unified management protocol for the second data based on a unified management protocol standard, wherein the unified management protocol for the second data includes an identifier of the second sharing path; the first application sending the second defined data and the unified management protocol for the second data to a first data management framework; the first data management framework obtaining the identifier of the second sharing path from the unified management protocol for the second data; and the first data management framework sending the second defined data to the second application via the first sharing path based on the identifier of the second sharing path; wherein the unified management protocol for the second data is different from the unified management protocol for the first data.

[0046] In conjunction with the third aspect, in one possible implementation, the method further includes: a first application generating a usage instruction for first data based on a specified data definition standard, wherein the usage instruction for the first data includes personalized permissions for the first data; a first data management framework sending the first defined data to a second application via the first sharing path based on the identifier of the first sharing path, specifically including: the first data management framework receiving a first notification sent by the second application, the first notification being used to read the first data, the first notification including the identifier of the second application; the first data management framework obtaining the permission rules of the first sharing path based on the identifier of the first sharing path in the unified management protocol of the first data; the first data management framework obtaining personalized permissions for the first data from the usage instruction for the first data; after the first data management framework determines that the second application has the ability to access the first data based on the usage instruction for the first data, when the first data management framework determines that the second application has the permission to access the first data based on the personalized permissions of the first data, the permission rules of the first sharing path, the permission rules of the first data management framework, and the identifier of the second application, the first data management framework sending the first defined data to the second application via the first sharing path based on the identifier of the first sharing path.

[0047] In conjunction with the third aspect, in one possible implementation, after the first application sends the first defined data and the unified management protocol of the first data to the first data management framework, the method further includes: the first data management framework verifying the first defined data based on the specified data definition standard; if the verification passes, the first data management framework stores the first defined data, the unified management protocol of the first data, and the usage instructions for the first data.

[0048] In conjunction with the third aspect, in one possible implementation, the method further includes: deleting the first defined data, the unified management protocol for the first data, and the usage instructions for the first data if the verification fails.

[0049] In conjunction with the third aspect, in one possible implementation, after the second application parses the first data or the storage path of the first data from the first defined data, the method further includes: the first data management framework deleting the first defined data.

[0050] In conjunction with the third aspect, in one possible implementation, the first sharing path or the second sharing path includes any of the following: drag-and-drop path, clipboard path, cross-application manual path, and cross-application automatic path.

[0051] In conjunction with the third aspect, in one possible implementation, the attributes of the first data include one or more of the following: the type of the first data, the size of the first data, and the creation time of the first data.

[0052] Fourthly, this application provides an electronic device comprising: one or more processors, one or more memories, and one or more cameras; the one or more cameras and one or more memories are coupled to one or more processors, the one or more memories being used to store computer program code, the computer program code including computer instructions, and the one or more processors invoking the computer instructions to cause the electronic device to execute a data sharing method provided in any possible implementation of the third aspect.

[0053] Fifthly, this application provides a computer-readable storage medium for storing computer instructions that, when executed on an electronic device, cause the electronic device to perform a data sharing method provided in any possible implementation of the third aspect above.

[0054] Sixthly, this application provides a computer program product that, when run on an electronic device, causes the electronic device to execute a data sharing method provided in any possible implementation of the third aspect above.

[0055] In a seventh aspect, this application provides an electronic device comprising: one or more processors, one or more memories, and one or more cameras; the one or more cameras and one or more memories are coupled to the one or more processors, the one or more memories being used to store computer program code, the computer program code including computer instructions, and the one or more processors invoking the computer instructions to cause the electronic device to execute a data sharing method provided in any possible implementation of the second aspect.

[0056] Eighthly, this application provides a computer-readable storage medium for storing computer instructions that, when executed on an electronic device, cause the electronic device to perform a data sharing method provided in any possible implementation of the second aspect above.

[0057] Ninthly, this application provides a computer program product that, when run on an electronic device, causes the electronic device to execute a data sharing method provided in any possible implementation of the second aspect above.

[0058] For the description of the beneficial effects in aspects three through nine, please refer to the description of the beneficial effects in aspects one and two, and this application will not repeat them here. Attached Figure Description

[0059] Figures 1A-1J A UI diagram illustrating data sharing between two applications is shown. Figures 2A-2G A UI diagram illustrating data sharing between two applications on different devices is shown. Figure 3 This illustrates a specific implementation of two applications sharing data via different sharing paths on the same device. Figure 4 This demonstrates a specific implementation of data sharing between two applications on different devices using different sharing paths. Figure 5 A schematic diagram of the architecture of a system 50 provided in an embodiment of this application is shown; Figure 6A This paper shows a schematic diagram of the structure of an electronic device 100 provided in an embodiment of this application; Figure 6B A software structure block diagram of an electronic device 100 according to an embodiment of this application is shown; Figure 7 This diagram illustrates a specific implementation of a unified data management framework for storing first data shared by application A on electronic device 100. Figure 8 This diagram illustrates a specific implementation of how application B on an electronic device 100 reads first data shared by application A from a unified data management framework. Figure 9 This diagram illustrates a specific implementation of a unified data management framework on electronic device 200 that stores first data shared by application A on electronic device 100. Figure 10 This diagram illustrates a specific implementation of how application B on electronic device 200 reads first data shared by application A on electronic device 100 from a unified data management framework on electronic device 200. Figure 11 A schematic diagram illustrating a method for application A on electronic device 100 to share data with application B on electronic device 100, provided in an embodiment of this application; Figure 12 This is a schematic diagram illustrating a method for application A on electronic device 100 to share data with application B on electronic device 200, as provided in an embodiment of this application. Detailed Implementation

[0060] The technical solutions in the embodiments of this application will be clearly and thoroughly described below with reference to the accompanying drawings. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; the word "and / or" in the text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of this application, "multiple" refers to two or more than two.

[0061] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature, and in the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.

[0062] The term "user interface (UI)" used in the following embodiments of this application refers to the medium interface through which an application or operating system interacts and exchanges information with a user. It realizes the conversion between the internal form of information and the form that the user can accept. The commonly used form of user interface is the graphical user interface (GUI), which refers to a user interface related to computer operation that is displayed graphically. It can be visual interface elements such as text, icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets displayed on the screen of an electronic device.

[0063] First, we will introduce the two application scenarios involved in this application: a data sharing scenario between two applications on the same device and a data sharing scenario between two applications on different devices.

[0064] Data sharing paths between two applications on the same device can include, but are not limited to, drag-and-drop paths, clipboard paths, and cross-application paths. These two applications on the same device can be the same or different.

[0065] in, Figures 1A-1J This diagram illustrates the UI for data sharing between two applications.

[0066] Figure 1A-Figure 1B This diagram illustrates a UI representation of sharing data from application A to application B via drag-and-drop.

[0067] The drag-and-drop path on the same device can refer to: selecting data in application A (for example, long-pressing to select) and then directly sharing it to application B via the drag-and-drop path.

[0068] For example, application A could be a gallery application, and application B could be an instant messaging application.

[0069] like Figure 1A As shown, the electronic device 100 displays a split-screen application interface 110 for a gallery application and an application interface 120 for an instant messaging application. Application interface 110 displays multiple pictures, while application interface 120 displays a dialog box showing the contact "Lily".

[0070] like Figure 1AAs shown, the electronic device 100 can receive long-press and drag operations from the user on image 1101 among multiple images, and directly share image 1101 to the contact "Lily" via the drag path.

[0071] like Figure 1B As shown, after the user shares image 1101 to the contact "Lily" by dragging and dropping the image, the electronic device 100 can display the shared image 1101 in the application interface 120.

[0072] This application is not limited to split-screen dragging. It only uses split-screen dragging as an example for illustration. The dragging path can also be applied to other scenarios, and this application does not limit it.

[0073] Figures 1C-1E Another UI illustration shows how to share data from application A to application B via drag-and-drop.

[0074] For example, application A could be a gallery application, and application B could be an instant messaging application.

[0075] like Figure 1C As shown, the electronic device 100 displays an application interface 110 for a gallery application, which shows multiple images. The electronic device 100 can receive long-press and drag operations from the user on image 1101 among the multiple images, and temporarily store image 1101 in the transfer station 130.

[0076] After that, as Figure 1D As shown, the electronic device 100 can open an instant messaging application and display the application interface 120 of the instant messaging application. The electronic device 100 can receive long-press and drag operations from the user on the image 1101 in the relay station 130 and share the image 1101 to the contact "Lily".

[0077] like Figure 1E As shown, after a user shares image 1101 from relay station 130 to contact "Lily", electronic device 100 can display the shared image 1101 in application interface 120.

[0078] Figures 1F-1G The UI diagram shows how data from application B is shared to application C via a clipboard path.

[0079] The clipboard path on the same device can refer to: a user opening application A, copying or cutting data from application A, and temporarily storing the data from application A in the clipboard of electronic device 100. The user then opening application B, sharing the data from application A temporarily stored in the clipboard of electronic device 100 to application B.

[0080] For example, application B could be an instant messaging application, and application C could be a browser application.

[0081] like Figure 1F As shown, the electronic device 100 displays an application interface 140 for an instant messaging application. The application interface 140 displays a dialog box for the contact "Lily". The dialog box can include multiple chat records, one of which can be a URL link "aaabbbccc".

[0082] Electronic device 100 receives a long-press operation from a user on the URL link, and in response to the user's long-press operation, electronic device 100 can display as follows: Figure 1F The prompt box 1401 shown has multiple options, such as copy, forward, and favorite options.

[0083] like Figure 1F As shown, the electronic device 100 can receive user input (e.g., a click) for the copy option, and in response to the user's input, the electronic device 100 can store the URL link "aaabbbccc" in the clipboard.

[0084] Then, the electronic device 100 opens the browser application. For example... Figure 1G As shown, the electronic device 100 displays a user interface 150 with a browser application. The user interface 150 includes an input field 1501, which is used to receive URLs or text entered by the user.

[0085] The user can long-press the input bar 1501. In response to the user's input, the electronic device 100 can display a prompt message 1502. The prompt message 1502 displays multiple options, such as paste, line break, and full-screen input options. Figure 1G As shown, the electronic device 100 can receive user input (e.g., a click) regarding the paste option. In response to the user's input, the electronic device 100 can display the URL link "aaabbbccc" stored in the clipboard. Figure 1H The input field 1501 shown does not require the user to enter the URL link via the keyboard.

[0086] Figure 1I-Figure 1J The diagram shows a UI illustration of sharing data from application B to application C via a cross-application path.

[0087] Cross-application path can refer to: a user opens application A, selects data in application A, and then selects the application icon of application B to share the selected data to application B.

[0088] For example, application A can be an instant messaging application, and application B can be an instant messaging application.

[0089] like Figure 1I As shown, electronic device 100 can display user interface 160 of application A. User interface 160 may include a picture selected by the user and icons of multiple applications. Electronic device 100 can receive user input operations (e.g., clicks) on the icon of the instant messaging application, and in response to the user's input operation, electronic device 100 can share the selected picture to the instant messaging application.

[0090] like Figure 1J As shown, the electronic device 100 displays a user interface 170 for an instant messaging application, which includes pictures shared from a gallery application to the instant messaging application.

[0091] The drag-and-drop paths, clipboard paths, and cross-application paths mentioned above are only used to explain this application. They may also include other data sharing paths between two applications on the same device, and this application does not limit them.

[0092] The drag-and-drop paths, clipboard paths, and cross-application paths within the same device are all determined through user intervention. In some embodiments, two applications on the same device can automatically share data without user intervention. This automatic data sharing path between two applications on the same device can be referred to as a cross-application automatic path.

[0093] Data sharing paths between two applications on different devices can include drag-and-drop paths, clipboard paths, cross-device paths, etc. These two applications on different devices can be the same or different.

[0094] For example, the two devices can be electronic device 100 and electronic device 200, and electronic device 100 and electronic device 200 establish a communication connection.

[0095] in, Figures 2A-2G This diagram illustrates a UI for sharing data between two applications on different devices.

[0096] Figures 2A-2B This diagram illustrates a UI representation of sharing data from application A to application B via drag-and-drop.

[0097] The drag-and-drop path between different devices can refer to: a user opening application A on electronic device 100, selecting and dragging data within application A, and storing the data from application A in the relay station of electronic device 100. Electronic device 100 and electronic device 200 can synchronize the data stored in their respective relay stations. Electronic device 200 can receive user operations and send the data in its relay station to application B on electronic device 200. The data in the relay station of electronic device 200 can include data from application A.

[0098] For example, application A could be an instant messaging application on electronic device 100. Application B could also be an instant messaging application on electronic device 200.

[0099] refer to Figures 1C-1D As described in the embodiment, electronic device 100 can receive user input to temporarily store image 1101 from the gallery application in relay station 130. Electronic devices 100 and 200 can synchronize the temporarily stored data in their respective relay stations.

[0100] refer to Figure 2A The electronic device 200 can receive user input to display a relay station 140, which displays image 1101. The electronic device 200 can receive long-press and drag operations from the user on image 1101 in the relay station 140, and share image 1101 to a group chat with contacts.

[0101] like Figure 2B As shown, after a user shares image 1101 from relay station 140 in electronic device 200 to a contact "group chat", electronic device 200 can display image 1101 in the contact "group chat" dialog box. This realizes the sharing of data between two applications on different devices via a drag-and-drop path sharing method.

[0102] Figures 2C-2D This diagram illustrates a UI representation of sharing data from application A to application B via a clipboard path.

[0103] The clipboard path between different devices can refer to: a user opening application A on electronic device 100, copying or cutting data from application A, and storing the data from application A in the clipboard of electronic device 100. Electronic device 100 and electronic device 200 can synchronize the data stored in their respective clipboards. Electronic device 200 can receive user operations and send the data in its clipboard to application B on electronic device 200. The data in the clipboard of electronic device 200 may include data from application A.

[0104] For example, application A could be an instant messaging application on electronic device 100. Application B could be a browser application on electronic device 200.

[0105] refer to Figures 1F-1G As described in the embodiments, electronic device 100 can receive user input to store the URL link "aaabbbccc" from an instant messaging application in the clipboard of electronic device 100. Electronic device 100 and electronic device 200 can synchronize the temporarily stored data in their respective clipboards.

[0106] refer to Figure 2C The electronic device 200 can receive user input to open a browser application and display the browser application's user interface 210. The user interface 210 includes an input field 2101, which is used to receive URLs or text entered by the user.

[0107] The user can long-press the input bar 2101. In response to the user's input, the electronic device 200 can display a prompt message 2102. The prompt message 2102 displays multiple options, such as paste, line break, and full-screen input options. Figure 2C As shown, the electronic device 200 can receive user input (e.g., a click) regarding the paste option. In response to the user's input, the electronic device 200 can display the URL link "aaabbbccc" stored in the clipboard. Figure 2D The input field 2101 shown demonstrates how data can be shared between two applications on different devices via clipboard paths.

[0108] Figures 2E-2G The UI diagram illustrates how data from application B is shared to application C via a cross-device path.

[0109] Cross-device path can refer to: a user opening application A on electronic device 100, selecting data in application A, and then the user selecting the device icon on electronic device 200 to share the selected data to electronic device 200.

[0110] For example, application A could be a gallery application on electronic device 100. Application B could be a gallery application on electronic device 200.

[0111] like Figure 2EAs shown, electronic device 100 can display the user interface of a gallery application on electronic device 100. The user interface of the gallery application can include a picture selected by the user, icons of multiple nearby devices (e.g., "HUAWEI P50" option, "Alee's Phone" option, "Alee's Tablet" option), and application icons of multiple applications. Electronic device 100 can receive user input operations (e.g., clicks) for the "HUAWEI P50" option, and in response to the user's input operation, electronic device 100 can share the selected picture to electronic device 200. The device identifier of electronic device 200 can be "HUAWEI P50".

[0112] After receiving the image sent by electronic device 100, electronic device 200 can display it. Figure 2F The receiving window 4130 is shown. This receiving window 4130 may include a thumbnail 4131 of the image shared by electronic device 100 to electronic device 200, a receiving prompt 4132, an open control 4133, and a storage control 4134. The receiving prompt 4132 can be used to notify the user that electronic device 200 has finished receiving the image sent by electronic device 100. The prompt type of receiving prompt 4132 can be any one or more of the following: text prompt (e.g., "Received 1 image sent to you by Daniel"), image prompt, animated image prompt, and video prompt. The open control 4133 can be used to trigger electronic device 200 to display a display interface including the image sent by electronic device 100. The storage control 4134 can be used to trigger electronic device 200 to save the image sent by electronic device 100 to a specified storage path on electronic device 200's local storage.

[0113] Electronic device 200 can receive user input (e.g., a click) to the storage control 4134, and in response to the input, electronic device 200 can display, for example... Figure 2G The storage interface shown is 4140.

[0114] like Figure 2G As shown, the storage interface 4140 may include options for one or more storage paths, a "back to previous page" control 4141, and so on. Since the electronic device 100 shares images with the electronic device 200, the options for one or more storage paths may include one or more album options (e.g., "All Photos Album" option 4142, "Camera Album" option, "Screenshot Catalog Album" option, "Chat Application Album" option, "Connect Application Album" option, "Other Albums" option, etc.). Optionally, the storage interface 4140 may also include a "Create New" control 4143, which can be used to trigger the electronic device 200 to add a new album option to the storage interface 4140.

[0115] Electronic device 200 can receive user input (e.g., a click) on the "All Photo Albums" option 4142. In response to this input, electronic device 200 can store the images shared by electronic device 100 to electronic device 200 in the storage path corresponding to all photo albums. After electronic device 200 stores the images shared by electronic device 100 to electronic device 200 in the storage path corresponding to all photo albums, when electronic device 200 opens the album interface of all photo albums in the gallery application, the album interface of all photo albums can include thumbnails of the images shared by electronic device 100 to electronic device 200.

[0116] Optionally, electronic device 200 may not display anything. Figure 2F and Figure 2G As shown in the user interface, after electronic device 200 receives an image shared by electronic device 100, electronic device 200 can directly store the received image in its gallery.

[0117] The drag-and-drop paths between different devices, clipboard paths between different devices, and cross-device paths mentioned above are only used to explain this application. They may also include other data sharing paths between two applications on different devices, and this application does not limit them.

[0118] The drag-and-drop paths, clipboard paths, and cross-device paths between different devices are all determined through active user intervention. In some embodiments, devices can automatically share data with other devices without user intervention. Such automatic data sharing paths can be referred to as automatic cross-device paths.

[0119] based on Figures 1A-1J As the description indicates, data can be shared between two applications on the same device via different paths.

[0120] Different applications define data differently, and different sharing paths have different data definition standards. Data shared between applications through various sharing paths needs to meet the data definition standards of each sharing path.

[0121] Before application A sends shared data to application B, application A needs to obtain the data definition standard for the current sharing path and define the shared data based on the data definition standard for the current sharing path, thus obtaining the redefined shared data. Application A then sends the redefined shared data to application B through the current sharing path.

[0122] like Figure 3As shown, the data sharing path between two applications on the same device can include, but is not limited to, drag-and-drop paths and clipboard paths. The data definition standards corresponding to drag-and-drop paths and clipboard paths are different.

[0123] For example, when sharing data as an image, the drag path can be defined as "image" for the image type, and the clipboard path can be defined as "picture" for the image type.

[0124] For example, when sharing data as video, the drag path can be defined as "video" for the video type, and the clipboard path can be defined as "vlog" for the video type.

[0125] Before application A sends shared data to application B via drag-and-drop or clipboard path, application A needs to obtain the data definition standard corresponding to each path from the drag-and-drop path model or clipboard path model. It then redefines the shared data according to the data definition standard in the drag-and-drop or clipboard path, obtaining the redefined shared data. Application A then sends the redefined shared data to the drag-and-drop or clipboard path, which in turn sends the redefined shared data to application B.

[0126] After receiving the redefined sharing data, application B needs to obtain the data definition standard corresponding to each path from the drag-and-drop path model or clipboard path model. Then, it parses the redefined sharing data according to the data definition standard in the drag-and-drop path or clipboard path to obtain the content of the sharing data, which the user can then use in application B.

[0127] As can be seen from the above process, depending on the data definition standard of the sharing path, the sender of the shared data needs to redefine the shared data based on the different data definition standards of the sharing path. Similarly, the receiver of the shared data also needs to parse the shared data based on the different data definition standards of the sharing path. This makes the data sending and receiving process quite cumbersome.

[0128] Figure 4 This demonstrates a specific implementation of sharing data between two applications on different devices using different sharing paths. Figure 4 and Figure 3 Similar, the difference lies in Figure 3 This describes the specific implementation for sharing data between two applications on the same device using different sharing paths. Figure 4 This describes the specific implementation of sharing data between two applications on different devices using different sharing paths. Figure 4 For a detailed description of the embodiments, please refer to Figure 3 The description in [the text]. From [the text] Figure 4 It can be seen from this that Figure 4Existence and Figure 3 The same problem arises because the data definition standards differ across sharing paths. The sender of the shared data needs to redefine the shared data based on these different standards. Similarly, the receiver also needs to parse the shared data according to these different standards, making the data transmission and reception process cumbersome.

[0129] To address the aforementioned issues, this application provides a data sharing method. The method includes: for different applications and different sharing paths, the electronic device 100 provides a unified data definition standard (which may be referred to as a specified data definition standard). Through this method, the sender of the sharing data does not need to consider the type of sharing path; they only need to define the sharing data based on the specified data definition standard and then send it to the recipient of the sharing data through the sharing path. The recipient of the sharing data also does not need to consider the type of sharing path; they only need to parse the redefined sharing data based on the specified data definition standard to obtain the sharing data, thus simplifying the data transmission process between the sender and recipient.

[0130] The specified data definition standard can include data attribute definitions and data content definitions. Data attribute definitions can include, but are not limited to, data type definitions, size definitions, creation time definitions, and data content definitions. When the data type is file data, the data content definition can include the data's storage path on the device; for example, the storage path can be the data's Uniform Resource Identifier (URI). When the data type is non-file data, the data content definition can include the data's text content. For a detailed description of the specified data definition standard, please refer to the description in the embodiments in Table 1.

[0131] This application can be applied to data sharing between two applications on the same device. In some embodiments, application A on electronic device 100 automatically shares data with application B on electronic device 100 without user operation. Application A can obtain a specified data definition standard and define the data (e.g., first data) in application A based on the specified data definition standard to obtain redefined first data. Application B can obtain the redefined first data. Application B can parse the redefined first data based on the specified data definition standard to obtain and use the first data. In other embodiments, application A on electronic device 100 can also receive user operation, which is used to select the first data in application A and send the first data to application B on electronic device 100 through a cross-application manual path. Specifically, application A can obtain a specified data definition standard and define the first data to obtain redefined first data. Application A then sends the redefined first data to application B. Application B can also obtain a specified data definition standard and parse the redefined first data based on the first data to obtain the first data, which application B can then use. This simplifies the data transmission process between two applications on the same device.

[0132] For example, users can share images from the Gallery app to the instant messaging app via any of the following sharing paths: drag-and-drop, clipboard, manual cross-app, or automatic cross-app. The data definition standard is the same for all four sharing paths: drag-and-drop, clipboard, manual cross-app, and automatic cross-app. The Gallery app simply redefines the images in its gallery based on the specified data definition standard to obtain the redefined images, and then sends the redefined images to the instant messaging app via any of the selected sharing paths. The instant messaging app doesn't need to care which sharing path the redefined images were received through; it only needs to parse the redefined images based on the specified data definition standard to obtain and use the images. This simplifies the data transfer process between the Gallery app and the instant messaging app on the same device.

[0133] This application can be applied to data sharing between two applications on different devices. Electronic device 100 and electronic device 200 establish a communication connection. In some embodiments, application A on electronic device 100 automatically shares data with application B on electronic device 200 without user intervention. In other embodiments, application A on electronic device 100 can also share data with application B on electronic device 200 based on user intervention. Specifically, application A on electronic device 100 can obtain a specified data definition standard and data (e.g., first data) from application A, and redefine the first data based on the specified data definition standard to obtain redefined first data. Electronic device 100 sends the redefined first data to electronic device 200 through the communication connection. Application B on electronic device 200 can obtain the redefined first data through any of the following sharing paths: drag-and-drop path, clipboard path, cross-device manual path, or cross-device automatic path. It then parses the redefined first data based on the specified data definition standard to obtain and use the first data. This simplifies the data transmission process between two applications on different devices.

[0134] In some embodiments, redefining the first data may also be referred to as the first defined data.

[0135] For example, a user can share images from the gallery application on electronic device 100 to electronic device 200 via any of the following sharing paths: drag-and-drop, clipboard, manual cross-device, or automatic cross-device. The data definition standard is the same for all four sharing paths: drag-and-drop, clipboard, manual cross-device, and automatic cross-device. The gallery application on electronic device 100 only needs to redefine the images based on the specified data definition standard to obtain the redefined images. The gallery application then sends the redefined images to the communication module on electronic device 100 via any of the sharing paths. The communication module on electronic device 200 can receive the redefined images. The gallery application on electronic device 200 can obtain the redefined images through the corresponding sharing path. The gallery application on electronic device 200 does not need to concern itself with which sharing path the redefined images were received; it only needs to parse the redefined images based on the specified data definition standard to obtain and use the images. This simplifies the data transfer process between two gallery applications on different devices.

[0136] The following describes a system architecture provided by an embodiment of this application.

[0137] Please refer to Figure 5 , Figure 5 A schematic diagram of the architecture of a system 50 provided in an embodiment of this application is shown.

[0138] System 50 may include one electronic device, or system 50 may include multiple electronic devices. Figure 5 The system 50 shown includes two electronic devices. For example, these two electronic devices could be electronic device 100 and electronic device 200.

[0139] The types of electronic devices may include, but are not limited to, any of the following: mobile phones, tablets, desktop computers, laptops, handheld computers, smart screens, wearable devices, augmented reality (AR) devices, virtual reality (VR) devices, artificial intelligence (AI) devices, in-vehicle infotainment systems, smart headphones, game consoles, and may also include Internet of Things (IoT) devices or smart home devices such as smart water heaters, smart lights, smart air conditioners, etc. Furthermore, the devices in System 10 may also include non-portable terminal devices such as laptops and desktop computers with touch-sensitive surfaces or touch panels.

[0140] The software operating system (OS) of electronic devices, including but not limited to , , , , And so on. Among them, This refers to Huawei's HarmonyOS operating system. Optionally, multiple electronic devices can be configured with the same software operating system; for example, they can all be configured with... .

[0141] Electronic device 100 and electronic device 200 can establish a communication connection in any of the following ways.

[0142] Method 1: Multiple electronic devices can be connected to the same network. For example, multiple electronic devices can be connected to the same local area network and establish a communication connection.

[0143] Method 2: Multiple electronic devices can also log in to the same system account and establish a communication connection. For example, the system account that multiple electronic devices can log in to can be "HW1234".

[0144] Method 3: System accounts logged in on multiple electronic devices can all belong to the same account group. For example, system accounts logged in on multiple electronic devices include "HW001", "HW002", and "HW003". System accounts "HW001", "HW002", and "HW003" all belong to the account group "Huawei Home".

[0145] Method 4: Multiple electronic devices can establish communication connections through Near Field Communication (NFC), Bluetooth (BT), wireless local area networks (WLAN) such as wireless fidelity point to point (Wi-Fi P2P), infrared (IR) technology, etc.

[0146] Method 5: Multiple electronic devices can establish a temporary account group by scanning the same QR code, and then establish a network connection to achieve communication.

[0147] The electronic device 100 may establish a communication connection through other means, which are not limited in this embodiment. Furthermore, multiple electronic devices may combine any of the above methods to establish a communication connection, which is also not limited in this embodiment.

[0148] In a system 50 comprising only one electronic device (e.g., electronic device 100), electronic device 100 can share data between two applications on the same device based on the method provided in this application, simplifying the data transmission process between the two applications on the same device. Specifically, application A can obtain a specified data definition standard and define the data (e.g., first data) in application A based on the specified data definition standard to obtain a redefined first data. Application B can obtain the redefined first data. Application B can parse the redefined first data based on the specified data definition standard to obtain and use the first data. In other embodiments, application A on electronic device 100 can also receive user operations, which are used to select the first data in application A and send the first data to application B on electronic device 100 via a cross-application manual path. Specifically, application A can obtain a specified data definition standard and define the first data to obtain a redefined first data. Application A then sends the redefined first data to application B. Application B can also obtain a specified data definition standard and parse the redefined first data based on the first data to obtain the first data, which application B can then use. It simplifies the data transmission process between two applications on the same device.

[0149] In a system 50 comprising multiple electronic devices (e.g., electronic device 100 and electronic device 200), electronic devices 100 and 200 can share data between two applications on different devices based on the method provided in this application, simplifying the data transmission process between the two applications on different devices. Specifically, in some embodiments, application A on electronic device 100 automatically shares data with application B on electronic device 200 without user intervention. In other embodiments, application A on electronic device 100 can also share data with application B on electronic device 200 based on user intervention. Specifically, application A on electronic device 100 can obtain a specified data definition standard and data (e.g., first data) from application A, and define the first data based on the specified data definition standard to obtain redefined first data. Electronic device 100 sends the redefined first data to electronic device 200 via a communication connection. Application B on electronic device 200 can obtain the redefined first data through any of the following sharing paths: drag-and-drop path, clipboard path, cross-device manual path, or cross-device automatic path. It then parses the redefined first data based on the specified data definition standard to obtain and use the first data. It simplifies the data transmission process between two applications on different devices.

[0150] In some embodiments, the electronic device 200 may also be a cloud device such as a server, enabling data sharing between the electronic device and the server.

[0151] The following embodiments of this application use a mobile phone as an example to illustrate electronic device 100. Electronic device 200 may also have the same or similar components.

[0152] Figure 6A A schematic diagram of the structure of the electronic device 100 is shown.

[0153] Electronic device 100 may include processor 110, external memory interface 120, internal memory 121, universal serial bus (USB) interface 130, charging management module 140, power management module 141, battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, button 190, motor 191, indicator 192, camera 193, display screen 194, and subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0154] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0155] Processor 110 may include one or more processing units, such as application processors (APs), modem processors, graphics processing units (GPUs), image signal processors (ISPs), controllers, video codecs, digital signal processors (DSPs), baseband processors, and / or neural network processing units (NPUs). These different processing units may be independent devices or integrated into one or more processors.

[0156] The controller can generate operation control signals based on the instruction opcode and timing signals to complete the control of instruction fetching and execution.

[0157] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0158] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0159] It is understood that the interface connection relationships between the modules illustrated in the embodiments of the present invention are merely illustrative and do not constitute a structural limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.

[0160] The charging management module 140 is used to receive charging input from the charger.

[0161] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110.

[0162] The wireless communication function of electronic device 100 can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor, and baseband processor.

[0163] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with tuning switches.

[0164] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.

[0165] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through an audio device (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 150 or other functional modules.

[0166] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.

[0167] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).

[0168] Electronic device 100 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0169] Display screen 194 is used to display images, videos, etc.

[0170] Electronic device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.

[0171] The ISP is used to process the data fed back by the camera 193.

[0172] Camera 193 is used to capture still images or videos.

[0173] Digital signal processors (DSPs) are used to process digital signals. Besides digital image signals, they can also process other digital signals. For example, when electronic device 100 selects a frequency, the DSP can perform Fourier transforms on the frequency energy.

[0174] Video codecs are used to compress or decompress digital video. Electronic device 100 may support one or more video codecs. Thus, electronic device 100 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0175] An NPU (Neural Processing Unit) is a computational processor for neural networks (NNs). By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs can enable intelligent cognitive applications in electronic devices, such as image recognition, facial recognition, speech recognition, and text understanding.

[0176] Internal memory 121 may include one or more random access memory (RAM) and one or more non-volatile memory (NVM).

[0177] Random access memory can include static random-access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and double data rate synchronous dynamic random access memory (DDR SDRAM, such as fifth-generation DDR SDRAM, which is generally called DDR5 SDRAM). Non-volatile memory can include disk storage devices and flash memory.

[0178] The external memory interface 120 can be used to connect to external non-volatile memory, thereby expanding the storage capacity of the electronic device 100. The external non-volatile memory communicates with the processor 110 through the external memory interface 120 to perform data storage functions. For example, music, video, and other files can be stored in the external non-volatile memory.

[0179] Electronic device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.

[0180] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.

[0181] The loudspeaker 170A, also known as a "loudspeaker", is used to convert audio electrical signals into sound signals.

[0182] The receiver 170B, also known as the "earpiece", is used to convert audio electrical signals into sound signals.

[0183] The microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals.

[0184] The 170D headphone jack is used to connect wired headphones.

[0185] Pressure sensor 180A senses pressure signals and converts them into electrical signals. Gyroscope sensor 180B determines the motion posture of electronic device 100. Barometric pressure sensor 180C measures air pressure. Magnetic sensor 180D includes a Hall effect sensor. Accelerometer sensor 180E detects the magnitude of acceleration of electronic device 100 in various directions (typically three axes). Distance sensor 180F measures distance. Proximity sensor 180G may include, for example, a light-emitting diode (LED) and a photodetector, such as a photodiode. Ambient light sensor 180L senses ambient light intensity. Fingerprint sensor 180H collects fingerprints. Temperature sensor 180J detects temperature. Touch sensor 180K, also known as a "touch device." Bone conduction sensor 180M acquires vibration signals.

[0186] Button 190 includes the power button, volume buttons, etc. Button 190 can be a mechanical button or a touch button.

[0187] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback. For example, different vibration feedback effects can be corresponding to touch operations performed on different applications (such as taking photos, playing audio, etc.). Motor 191 can also correspond to different vibration feedback effects for touch operations performed on different areas of the display screen 194.

[0188] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.

[0189] The SIM card interface 195 is used to connect the SIM card.

[0190] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This embodiment of the invention uses the layered architecture Android system as an example to exemplify the software structure of electronic device 100.

[0191] Figure 6B This is a software structure block diagram of the electronic device 100 according to an embodiment of the present invention.

[0192] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.

[0193] The application layer can include a series of application packages.

[0194] like Figure 6B As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and SMS.

[0195] The application framework layer provides an application programming interface (API) for applications in the application layer. The application framework layer includes some predefined functions.

[0196] like Figure 6B As shown, the application framework layer may include a unified data management framework (UDMF), various types of data sharing paths, etc.

[0197] The unified data management framework includes multiple functional modules, including but not limited to: data definition standard model, data access / access module, data lifecycle management module, data security module, data permission management module, and storage management module.

[0198] The types of data sharing paths include, but are not limited to, drag-and-drop paths, clipboard paths, cross-application manual paths, cross-device manual paths, cross-application automatic paths, and cross-device automatic paths. Drag-and-drop paths, clipboard paths, cross-application manual paths, and cross-application automatic paths can be used for data sharing between two applications on the same device. Drag-and-drop paths, clipboard paths, cross-device manual paths, and cross-device automatic paths can also be used for data sharing between two applications on different devices. However, these are not the only types of data sharing paths. In some embodiments, data sharing between two applications on the same device or between two applications on different devices may be achieved without using the aforementioned data sharing paths. The aforementioned data sharing paths are merely illustrative of this application and are not intended to limit its scope.

[0199] Optionally, in some embodiments, the data sharing path between two applications on the same device, such as the drag-and-drop path or the clipboard path, and the data sharing path between two applications on different devices, such as the drag-and-drop path or the clipboard path, can be the same path or different paths. This application does not limit this.

[0200] The data definition standard model stores specified data definition standards. These standards are used by various applications to define shared data according to these standards.

[0201] The data access / access module is used to receive the redefinition sharing data sent by the application and temporarily store the redefinition sharing data within the unified data management framework.

[0202] The data access / access module is also used by applications to read redefined shared data from within a unified data management framework.

[0203] The data lifecycle management module is used to manage the lifecycle of redefining shared data stored within the unified data management framework, such as deleting redefining shared data or continuing to store redefining shared data.

[0204] The data security module is used to protect the security of redefined shared data stored within a unified data management framework, for example, through methods such as encrypted storage.

[0205] The data access control module is used to verify whether an application has the capability and permission to access the redefined shared data before it reads the data from the unified data management framework.

[0206] The storage management module is used for temporary storage of redefined shared data.

[0207] For an introduction to the various functional modules in the unified data management framework, please refer to [link / reference]. Figures 7-10 The detailed descriptions in the embodiments are not repeated here.

[0208] The Android Runtime consists of core libraries and a virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.

[0209] The core library consists of two parts: one part is the functionalities that need to be called by the Java language, and the other part is the Android core library.

[0210] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.

[0211] System libraries can include multiple functional modules. For example: surface manager, media libraries, 3D graphics processing libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), etc.

[0212] The Surface Manager is used to manage the display subsystem and provides the blending of 2D and 3D layers for multiple applications.

[0213] The media library supports playback and recording of various common audio and video formats, as well as still image files. It supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.

[0214] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.

[0215] A 2D graphics engine is a graphics engine for 2D drawing.

[0216] The kernel layer is the layer between hardware and software. The kernel layer contains at least the display driver, camera driver, audio driver, and sensor driver.

[0217] This section introduces the specified data definition standards and explains how to define shared data based on these standards.

[0218] First, we will introduce the specified data definition standards stored in the data definition standard model within the unified data management framework.

[0219] Specifying data definition standards can include data attribute definitions, which may include, but are not limited to, data type definitions, size definitions, creation time definitions, and data content definitions. This ensures that the attribute definitions for shared data are the same for both the sender and receiver, reducing the processing steps for sending and receiving data.

[0220] This application provides a data definition standard. Before data sharing, different applications need to define the shared data according to this standard. After receiving the shared data, different applications also need to parse the shared data based on this standard. In other words, the data definition standard is unified for different applications and different sharing paths, achieving a unified format for shared data.

[0221] The types of data may include, but are not limited to: plain text data, formatted text data, rich text data, link data, image data, file data, media file data, folder data, application project data, table data, etc. In other embodiments, other types of data may also be included, and this application does not limit this.

[0222] The following embodiments of this application illustrate the definition of data attributes, including the definition of data type and the definition of data content.

[0223] Table 1

[0224] As shown in Table 1, text-based data and file-based data can be referred to as basic data types. This type of data can be transferred across applications, devices, and operating systems. In other words, data that can be transferred across applications, devices, and operating systems is called basic data type.

[0225] System-defined data can be transferred across applications and devices within the same operating system. In other words, data that can be transferred across applications and devices within the same operating system is called system-defined data.

[0226] Application-defined data can be transferred across devices and operating systems within the same application. In other words, data that can be transferred across devices and operating systems within the same application is called system-defined data.

[0227] As shown in Table 1, the data type of plain text data is defined as "plain-text" in the specified data definition standard, and the content of plain text data is defined as plain text content. The data type definition of plain text data can be represented as text.plain-text.

[0228] The data type of formatted text data, as defined in the specified data definition standard, is "styled text," and the content of formatted text data is defined as plain text. The type definition of formatted text data can be represented as text.styled text.

[0229] The rich text data type is defined as "HTML" in the specified data definition standard, and the content of the rich text data is defined as plain text content. The rich text data type definition can be represented as text.HTML.

[0230] The type of link data defined in the specified data definition standard is "link", and the content of the link data is defined as plain text. The type definition of link data can be represented as text.link.

[0231] The image data type is defined as "image" in the specified data definition standard, and the image data content is defined as a URI. The URI of the image data is used to indicate the storage path of the image data on the device. The image data type definition can be represented as file.image.

[0232] The data type for video data, as defined in the specified data definition standard, is "video," and the content of the video data is defined as a URI. The URI of the video data indicates its storage path on the device. The video data type can be represented as file.video.

[0233] The audio data type is defined as "audio" in the specified data definition standard, and the audio data content is defined as a URI. The URI of the audio data is used to indicate the storage path of the audio data on the device. The audio data type definition can be represented as file.audio.

[0234] The document data type is defined as "word" in the specified data definition standard, and the document data content is defined as a URI. The URI of the document data is used to indicate the storage path of the document data on the device. The document data type definition can be represented as file.word.

[0235] The data type for the presentation file, as defined in the specified data definition standard, is "powerpoint," and the content of the presentation file data is defined as a URI. The URI of the presentation file data indicates its storage path on the device. The data type definition for the presentation file data can be represented as file.powerpoint.

[0236] The data type for the table, as defined in the specified data definition standard, is "excel," and the table content is defined as a URI. The URI of the table data indicates its storage path on the device. The data type definition for the table can be represented as file.excel.

[0237] The portable file format data type defined in the specified data definition standard is "pdf", and the content of the portable file format data is defined as a URI. The URI of the portable file format data is used to indicate the storage path of the portable file format data on the device. The type definition of portable file format data can be represented as file.pdf.

[0238] The desktop icon control's type is defined as "appItem" in the specified data definition standard, and the content of the application item data is defined as plain text. The desktop icon control's type definition can be represented as SDT.appItem.

[0239] The data card type is defined as "form" in the specified data definition standard, and the content of the window data is defined as plain text. The data card type definition can be represented as SDT.form.

[0240] The data type for high-performance bitmap data, as defined in the specified data definition standard, is "pixelmap," and its content is defined as plain text. The data type definition for high-performance bitmap data can be represented as SDT.pixelmap.

[0241] The application-defined graphic data type is defined as "custom shape" in the specified data definition standard, and the content of high-performance bitmap data is defined as plain text content. The application-defined graphic data type definition can be represented as ADT.custom shape.

[0242] In other words, for the same type of data, different applications may use the same type definition. For example, for image data, different applications may all define the type of image data as "image".

[0243] When the data type is file data, the data content definition can include the data's URI, which indicates the data's storage path on the device. In other words, when the data content definition is a URI, an application can send the data's storage path to another application, but not directly send the data's content. When another application uses the data, it can retrieve the data's content based on the URI.

[0244] When the data type is non-file data, the data content definition can include the text content of the data. That is, when the data content definition is plain text content, the application can directly send the content of the data to another application.

[0245] It should be noted that Table 1 only exemplifies the standard type definitions and standard content definitions for a portion of the data. It may also include standard type definitions and standard content definitions for many other types of data, and this application does not limit this.

[0246] Optionally, before application A sends the redefined shared data to the sharing path, a unified management protocol for the shared data needs to be generated. The unified management protocol for the shared data is used to describe the sharing path of the shared data.

[0247] Application A can obtain the unified management protocol standard from the unified data management framework and generate a unified management protocol for sharing data based on the unified management protocol standard. The unified management protocol standard may include preset fields.

[0248] For example, a unified management protocol standard could be as follows: udmf: / / intension / bundleName / groupName / guid.

[0249] The “udmf” field can be a protocol name, which is an abbreviation for Unified Data Management Framework.

[0250] The "intension" field can be the name of the sharing path. When the shared data is determined automatically by the application rather than by user action, the content of the "intension" field can be the name of a cross-application automatic channel or a cross-device automatic path. For example, the name of a cross-application automatic channel could be "automatic1," and the name of a cross-device automatic path could be "automatic2." When the shared data is determined by user action, the content of the "intension" field can be any of the following: the name of a drag-and-drop path, the name of a clipboard path, the name of a cross-application manual path, or the name of a cross-device manual path. For example, the name of a drag-and-drop path could be "drag," the name of a clipboard path could be "clipboard," the name of a cross-application manual path could be "manual1," and the name of a cross-device manual path could be "manual2."

[0251] It should be noted that the "intension" field may also include the names of other sharing paths. The names of the sharing paths mentioned above are only used to explain this application, and this application does not limit them.

[0252] It should be noted that the names of the drag-and-drop path and clipboard path between two applications on the same device can be the same or different from the names of the drag-and-drop path and clipboard path between two applications on different devices.

[0253] The “bundleName” field can be the name of the data source, such as the name of the application.

[0254] The "groupName" field can be a group name. An application can share multiple data entries at once, and these multiple data entries belong to the same group. Different groups will have different group names.

[0255] The "guid" field can be a system-generated data ID. Each data entry has a unique data ID, used to identify different data entries within the same group.

[0256] The unified management protocol standard may also include other fields or other formats, which are not limited in this application.

[0257] Application A can generate a unified management protocol for shared data based on the unified management protocol standard. Application A can also generate usage instructions for shared data based on specified data definition standards. Application A sends the unified management protocol and usage instructions to the unified data management framework, which can then bind and store these two documents together. For example, the unified management protocol and usage instructions can be stored in a key-value format, allowing the unified data management framework to retrieve the usage instructions based on the unified management protocol.

[0258] Optionally, the instructions for using the shared data can also be generated by application A based on a specified data definition standard. In other words, multiple fields in the instructions for using the shared data are defined within the specified data definition standard.

[0259] Instructions for sharing data can include multiple fields, such as the mission field, source app field, source os field, and data type field.

[0260] The "permission" field can specify personalized permissions for the data. Personalized permissions can include public permissions, system permissions, and application permissions.

[0261] Public access refers to data that is not subject to access restrictions; any application, any device, and any operating system can use this publicly accessible data. The identifier for public access can be "public".

[0262] System permissions refer to the ability of devices with a fixed operating system installed to use the data. A fixed operating system can include, but is not limited to: , , , , Etc. System permission identifiers can be... , , , , Any one of them.

[0263] Application permissions specify which data a target application on the device can use. The identifier for application permissions can be the name of the target application.

[0264] The "source app" field is used to specify which application the shared data originates from. This field can include the application identifier of the application from which the data originates. For example, when the data is application-defined, such as application-defined graphics, application A can enter the application identifier of the application from which this application-defined data originates in the "source app" field.

[0265] The `source os` field specifies the operating system from which the shared data originates. This field can include the operating system identifier of the source operating system. For example, when the data is system-defined, such as desktop icon controls, data cards, and high-performance bitmaps, application A can enter the operating system identifier installed on the electronic device on which application A is installed in the `source os` field.

[0266] For example, when the data is basic data such as text data and file data, application A can also fill in the application identifier of the source application in the source app field and the operating system identifier of the source operating system in the source os field.

[0267] The `source app` and `source os` fields, managed by the unified user data framework, determine whether application B has the ability to access the data. For specific judgment rules, please refer to [link / reference needed]. Figure 8 The description of step 2 is omitted here.

[0268] The data type field is used to describe the type of data being shared. For example, when sharing images, the data type field can include the image type "file.image".

[0269] Optionally, the user manual for sharing data may also include a life field, which describes the lifecycle of the data.

[0270] Optionally, in other embodiments, one or more fields in the usage instructions for shared data can also be incorporated into a unified management protocol for shared data. This unified management protocol can then be used to specify the personalized permissions for shared data, the application from which the shared data originates, the operating system from which the shared data originates, and the type of shared data. This application does not impose any limitations on this.

[0271] Different apps on the device can set different personalized permissions for different data within the app. Furthermore, personalized permissions for shared data can be specified based on the "permission" field.

[0272] For example, the personalized permissions for the aforementioned plain text data, formatted text data, rich text data, link data, image data, video data, audio data, document data, presentation file data, table data, and portable file format data can be set to public permissions.

[0273] Personalized permissions for system-customized data such as application project data, window data, and high-performance bitmap data can be set as system permissions.

[0274] The personalized permissions for custom data in the above applications can be set as application permissions.

[0275] For example, before sharing the first data in application A on electronic device 100 to application B on electronic device 200 or application B on electronic device 100, application A needs to define the first data based on a specified data definition standard to obtain the redefined first data. Application A also needs to generate a unified management protocol for the first data based on a unified management protocol standard and a usage manual for the first data based on the specified data definition standard, so that the recipient can obtain the sharing path of the first data based on the unified management protocol and obtain personalized permissions for the first data based on the usage manual.

[0276] For example, when the first data is an image, redefining the first data can include defining its type and content. The type definition of the first data could be "image", the content definition could be "the URI of the first data", and the unified management protocol for the first data could be "udmf: / / drag / library application / 123 / 123456". The usage instructions for the first data could be... / library application / / file.image.

[0277] For example, when the first data is plain text, redefining the first data can include defining its type and content. The type definition of the first data could be "plain-text," and the content definition could be "Department meeting at 4 PM." The sharing protocol for the first data could be "udmf: / / drag / wechatapplication / 123 / 123456 / ". The instructions for using the first data can be: / wechat application / / text. plain-text.

[0278] Based on the unified management protocol of First Data, the sharing path of First Data can be determined as a drag-and-drop path.

[0279] Based on the user manual for First Data, it can be seen that the personalized permissions for First Data are limited to those of devices that have been installed. The operating system's devices can use the first data.

[0280] Optionally, in other embodiments, one or more fields in the usage instructions of the first data may also be incorporated into the unified management protocol of the first data. The unified management protocol of the first data can then be used to describe the personalized permissions of the first data, the application from which the first data originates, the operating system from which the first data originates, and the type of the first data. This application does not limit this aspect.

[0281] The following sections will introduce the specific implementation of data sharing scenarios between two applications on the same device and between two applications on different devices.

[0282] Data sharing between two applications on the same device Figure 7 and Figure 8 ) For example, these two applications can be application A on electronic device 100 and application B on electronic device 100. In some embodiments, application A can receive a user's operation to share first data in application A to application B. In other embodiments, application A can also automatically share the first data in application A to application B.

[0283] Figure 7 This diagram illustrates a specific implementation of a unified data management framework for storing first data shared by application A on electronic device 100.

[0284] The steps for storing the first data shared by application A using the unified data management framework are as follows (steps 1-18): 1. Application A obtains the unified management protocol standard and the specified data definition standard from the data definition standard model.

[0285] Application A, after being installed on electronic device 100, can obtain the unified management protocol standard and the specified data definition standard from the data definition standard model. Application A can also obtain the unified management protocol standard and the specified data definition standard from the data definition standard model when data sharing is required. This application does not limit this aspect.

[0286] In some embodiments, the unified management protocol standard and the specified data definition standard can also be a single protocol standard.

[0287] 2. Application A determines the first data to be shared.

[0288] In some embodiments, application A may determine the first data to be shared based on user actions. In this case, application A can share the data with other applications on electronic device 100 under user operation.

[0289] In other embodiments, application A may also automatically determine the first data to be shared without user intervention. In this case, application A can automatically share the data with other applications on electronic device 100.

[0290] 3. Apply A to define the first data based on the specified data definition standard to obtain the redefined first data.

[0291] For an introduction to the specified data definition standards, please refer to the description in Table 1.

[0292] This application provides a set of data definition standards. Before applications share data, different applications can define the shared data based on this unified data definition standard, and the recipient of the shared data can also parse and obtain the shared data based on this unified data definition standard. This reduces the data transmission and reception processing steps.

[0293] In other embodiments, the sharing data is not limited to being defined according to the unified data definition standard; the application can also be instructed to define the data within the application according to the unified data definition standard when generating application data. In this way, once the application determines the sharing data, the sharing data is already defined according to the unified data definition standard, and the application does not need to define it again.

[0294] Application A defines the first data based on a specified data definition standard. This can be the definition of the attributes of the first data based on the specified data definition standard, including but not limited to the definition of the type of the first data, the definition of the size of the first data, the definition of the creation time of the first data, and the definition of the content of the first data.

[0295] For example, when the first data is non-text data (or file data), such as an image, redefining the first data can include both a type definition and a content definition. The type definition of the first data could be "image", and the content definition could be "the URI of the first data".

[0296] For example, when the first data is text data, redefining the first data can include defining the type of the first data and defining its content. The type definition of the first data could be "plain-text", and the content definition could be "department meeting at 4 pm".

[0297] 4. Use A to generate a unified management protocol for the first data and instructions for using the first data.

[0298] Application A can generate a unified management protocol for the first data based on the unified management protocol standard and a user manual for the first data based on the specified data definition standard. The unified management protocol for the first data describes the sharing path of the first data, and the user manual for the first data describes the personalized rights of the first data. For an introduction to the unified management protocol standard, please refer to the description in the embodiments in Table 1, which will not be repeated here.

[0299] For example, if the sharing path of the first data is a drag-and-drop path, the personalization permissions of the first data are limited to those installed by the system. Applications on the operating system device can use this first data. Therefore, the unified management protocol for the first data could be "udmf: / / drag / library application / 123 / 123456". The instructions for using the first data could be... / library application / / file.image.

[0300] It should be noted that step 4 can be executed before step 3, or step 4 can be executed simultaneously with step 3. Step 1 can also be executed after step 2; this application does not limit this.

[0301] 5. Application A will send the redefined first data, the unified management protocol of the first data, and the usage instructions of the first data to the data access / access module.

[0302] After receiving the redefined first data, the unified management protocol for the first data, and the usage instructions for the first data, Application A sends these documents to the data access / access module within the unified data management framework. This allows the data access / access module to verify the redefined first data.

[0303] 6. The data access / access module obtains the specified data definition standard from the data definition standard model.

[0304] 7. The data access / access module verifies the redefinition of the first data based on the specified data definition standard and determines that the definition of the redefinition of the first data meets the requirements.

[0305] After receiving the redefined first data sent by application A, the data access / access module can retrieve the specified data definition standard from the data definition standard model and verify the redefined first data based on this standard. The primary verification step is to confirm whether the redefined first data is defined according to the unified data management framework. Only data that passes verification can be shared with other applications through the unified data management framework, preventing situations where application A has not defined the first data according to the specified data definition standard.

[0306] The data access / access module validates the redefined first data based on the specified data definition standard according to the following rules: This section redefines whether the first data is defined according to the data attribute and data content definitions specified in the designated data definition standard. For example, when the first data is image data, the type of the image data included in the first data is redefined as "image" instead of "picture". The content of the image data included in the first data is redefined as the URI of the image data, instead of including the image file. Following this rule, the data access / access module can determine whether the definition of the first data meets the requirements.

[0307] In other embodiments, the data access / access module can also verify the unified management protocol and usage instructions of the first data. Specifically, the data access / access module can obtain the unified management protocol standard from the data definition standard model, and verify the unified management protocol of the first data and the usage instructions of the first data based on the specified data definition standard.

[0308] The rules for the data access / access module to verify the unified management protocol of the first data based on the unified management protocol standard and the usage instructions of the first data based on the specified data definition standard are as follows: Do the unified management protocol and user manual for First Data include the preset fields included in the unified management protocol standard and the specified data definition standard? Have the contents of each preset field been filled in and validated?

[0309] 8. The data access / access module will redefine the first data and send it to the data security module.

[0310] If the data access / access module determines that the redefined first data meets the requirements, it will then send the redefined first data to the data security module. If it does not meet the requirements, the data access / access module may skip steps 8, 13, and 15, and may indicate to application A that data sharing has failed. Alternatively, the data access / access module may prompt application A to redefine the first data according to the specified data definition standard.

[0311] 9. The data security module encrypts the first redefinition data to obtain encrypted first redefinition data.

[0312] 10. The data security module will send the encrypted and redefined first data to the storage management module.

[0313] 11. The storage management module stores encrypted redefinition of the first data.

[0314] After the data access / access module verifies the redefined first data, or after the data access / access module verifies the unified management protocol of the first data, the data access / access module can send the redefined first data to the data security module, so that the data security module can encrypt the redefined first data and ensure the security of the data stored in the unified data management framework.

[0315] After receiving the first data for redefinition, the data security module can encrypt the first data for redefinition to obtain encrypted first data.

[0316] The data security module then sends the encrypted and redefined first data to the storage management module.

[0317] The storage management module can store encrypted, redefined initial data.

[0318] Optionally, the data access / access module may also store the unified management protocol and usage instructions for the first data in the storage management module, or store them in the storage management module after encryption by the data security module.

[0319] Optionally, the unified data management framework may not include a data security module. After the data access / access module verifies the redefined first data, it can directly send the redefined first data to the storage management module, which only needs to store the redefined first data.

[0320] 12. The data access / access module sends the unified management protocol of the first data and the instructions for using the first data to the data permission management module.

[0321] 13. The data permission management module obtains personalized permissions for the first data based on the user manual of the first data.

[0322] The data access / access module can also send the unified management protocol and usage instructions for the first data to the data access control module. The data permission management module can obtain personalized permissions for First Data based on its usage instructions. This allows for subsequent verification of whether applications requiring First Data have the necessary permissions.

[0323] Optionally, the "peimission" field in the First Data usage instructions describes the personalized permissions for First Data. First Data's personalized permissions include, but are not limited to, public permissions, system permissions, and application permissions.

[0324] The data permission management module can obtain personalized permissions for First Data from the First Data user manual.

[0325] 14. The data permission management module can determine the usage permissions of the first data based on the personalized permissions of the first data, the permission rules of the sharing path of the first data, and the permission rules of the unified data management framework.

[0326] Personalized permissions for First Data include, but are not limited to, public permissions, system permissions, and application permissions.

[0327] The permission rules for the sharing path of the first data include, but are not limited to, the target application being able to use the first data.

[0328] The unified data management framework's permission rules include, but are not limited to, all or some applications on the device being able to use this first data.

[0329] The priority of personalized permissions for First Data is higher than the priority of permission rules for First Data's sharing paths, and the priority of permission rules for First Data's sharing paths is higher than the priority of permission rules for the unified data management framework.

[0330] The data access control module can determine the usage permissions of the first data based on the personalized permissions of the first data, the access rules of the first data's sharing path, and the access rules of the unified data management framework.

[0331] The first data can be used by one or more applications on the electronic device 100.

[0332] Specifically, if the instructions for using the first data specify that the personalized permissions of the first data are not public permissions, then the usage permissions of the first data are the personalized permissions of the first data as specified in the instructions for using the first data.

[0333] When the instructions for using First Data specify that its personalized permissions are public, we then query the permission rules for First Data's sharing path. As described above, sharing paths between two applications on the same device include, but are not limited to, drag-and-drop paths, clipboard paths, cross-application manual paths, and cross-application automatic paths. Drag-and-drop paths, clipboard paths, and cross-application manual paths all restrict First Data to the target application only. For example, if a user shares First Data from application A to application B via drag-and-drop, then the drag-and-drop path restricts First Data to application B only. Clipboard paths and cross-application manual paths are similar to drag-and-drop paths. Cross-application automatic paths restrict First Data to all or some applications on the device; that is, the permissions for cross-application automatic paths are public, with no usage permission restrictions.

[0334] When the sharing path of the first data is not a cross-application automatic path, the permissions specified by the sharing path of the first data shall prevail, and the usage permissions of the first data shall be the permissions specified by the sharing path of the first data.

[0335] When the sharing path of the first data is a cross-application automatic path, the permission rules of the unified data management framework are then queried. The usage permissions of the first data are then determined by the permission rules of the unified data management framework. If the permission rules of the unified data management framework are public permissions with no usage restrictions, then the first data can be used by all applications on the Electronic Pen 100. If the permission rules of the unified data management framework are partial application permissions, then the first data can be used by those specific applications on the Electronic Pen 100.

[0336] It should be noted that the personalized permissions of First Data, the permission rules for First Data's sharing path, and the permission rules for the unified data management framework can be preset or user-defined, and this application does not impose any restrictions on them.

[0337] It should be noted that steps 12-14 can be performed before, after, or simultaneously with step 8, and this application does not limit this.

[0338] 15. The data access / access module sends the unified management protocol of the first data and the instructions for using the first data to the data lifecycle management module.

[0339] 16. The data lifecycle management module determines the lifecycle of the first data based on the lifecycle rules of the first data, the lifecycle rules of the sharing path of the first data, and the lifecycle rules of the unified data management framework.

[0340] 17. The data lifecycle management module sends a notification to the storage management module based on the lifecycle of the first data.

[0341] 18. The storage management module continues to store or deletes the encrypted and redefined first data.

[0342] The data lifecycle management module can determine, based on the determined lifecycle of the first data, whether the storage management module should continue to save the encrypted and redefined first data or delete the encrypted and redefined first data.

[0343] The lifecycle rules for the first data include, but are not limited to, immediate deletion or permanent storage. Specifically, the lifecycle for unused first data is permanent storage. The lifecycle for used first data is immediate deletion.

[0344] The lifecycle rules for the sharing path of First Data include, but are not limited to, periodic cleanup or permanent storage.

[0345] The access rules of the unified data management framework include, but are not limited to, periodic cleanup or permanent storage.

[0346] The lifecycle rules for the first data have a higher priority than the lifecycle rules for the sharing path of the first data, which in turn have a higher priority than the lifecycle rules for the unified data management framework.

[0347] The data lifecycle management module can determine the lifecycle of the first data based on the lifecycle rules of the first data, the lifecycle rules of the sharing path of the first data, and the lifecycle rules of the unified data management framework.

[0348] Specifically, once the first piece of data has been used, its lifecycle rule is immediate deletion. The data lifecycle management module does not need to query the lifecycle rules of the first piece of data's sharing path or the lifecycle rules of the unified data management framework. The data lifecycle management module can send a message to the storage management module, which can then delete the encrypted and redefined first piece of data.

[0349] If the first piece of data is not used, then its lifecycle rule is to continue saving. The data lifecycle management module can then query the lifecycle rules of the first piece of data's sharing path.

[0350] When the lifecycle rule of the sharing path of the first data is periodic cleanup, the data lifecycle management module can send a message to the storage management module if the storage encryption redefinition time of the first data reaches the preset time and the first data has not been used. The storage management module can then delete the encrypted redefinition of the first data.

[0351] Optionally, the periodic cleanup rules for different sharing paths can be different or the same. For example, the preset duration for drag-and-drop paths is 1 hour, and the preset duration for clipboard paths is 2 hours.

[0352] Optionally, the lifecycle rules for different sharing paths can be different or the same. For example, the lifecycle rules for drag-and-drop paths include, but are not limited to, periodic cleanup or permanent saving, while the lifecycle rules for clipboard paths include, but are not limited to, overwrite on write, periodic cleanup, or permanent saving, or one or more of these.

[0353] When the lifecycle rule for the sharing path of the first data is to be permanently saved, the data lifecycle management module can continue to query the lifecycle rules of the unified data management framework.

[0354] When the lifecycle rule of the unified data management framework is permanent storage, the storage management module can continue to store the encrypted redefinition first data. When the lifecycle rule of the unified data management framework is periodic cleanup, the data lifecycle management module can send a message to the storage management module to delete the encrypted redefinition first data if the storage time for the encrypted redefinition first data reaches the preset time and the first data has not been used.

[0355] It should be noted that the lifecycle rules of the first data, the lifecycle rules of the first data sharing path, and the lifecycle rules of the unified data management framework can be preset or user-defined, and this application does not limit them.

[0356] It should be noted that steps 15-18 can be performed before, after, or simultaneously with step 8, and this application does not limit this.

[0357] The data lifecycle management module allows for the management of data stored in the storage management module. On one hand, it can periodically clean up used data to free up memory. On the other hand, it can promptly clean up data that has not been used for a long time, ensuring data security and preventing data leaks.

[0358] Figure 7 The steps described are only used to illustrate the specific implementation of how the unified data management framework stores the first data shared by application A, but should not be limited to the steps to be executed.

[0359] Figure 8 This diagram illustrates a specific implementation of how application B on an electronic device 100 reads first data shared by application A from a unified data management framework.

[0360] For example, after application A stores the first data to be shared in the storage management module of the unified data management framework on electronic device 100, application B on electronic device 100 can obtain the first data from the storage management module of the unified data management framework, thus realizing data sharing between two applications on the same device.

[0361] The steps for application B to read the first data shared by application A from the unified data management framework are as follows (steps 1-11): 1. Application B sends a read notification to the data access control module.

[0362] This read notification is used to read the first data shared by application A from the unified data management framework.

[0363] Optionally, the read notification may carry the application identifier of application B, so that the data permission management module can verify whether application B has permission to access the first data shared by application A.

[0364] 2. The data permission management module checks whether application B has permission to use the first data.

[0365] If application B has permission to use the first data, proceed to step 4.

[0366] The process ends if application B does not have permission to use the first data.

[0367] Depend on Figure 7 As shown in step 14 of the embodiment, the data permission management module can determine the usage permissions of the first data based on the personalized permissions of the first data, the permission rules of the sharing path of the first data, and the permission rules of the unified data management framework. For details, please refer to... Figure 7 Description of step 14 in the embodiment.

[0368] First, the data access control module can determine whether application B has the capability to use the first data based on its usage instructions. If application B has the capability to use the first data, it can then determine whether it has the permission to use the first data based on its usage permissions. If application B has the permission to use the first data, the data access control module sends a notification to the data access / access module, instructing the data access / access module to redefine the first data and send it to application B.

[0369] The data access control module determines whether application B has the ability to use the first data, specifically including: The data access control module obtains the type of the first data from the user manual. The types of the first data include, but are not limited to, basic classes, system-defined classes, and application-defined classes.

[0370] The data access control module then determines the application source or operating system source of the first data based on its type.

[0371] With the data permission management module as a basic class, it means that the first data is available to any operating system, any application, and any device. In this case, the data permission management module does not need to determine the application or operating system source of the first data; it can directly determine whether application B has permission to use the first data based on the usage permissions of the first data.

[0372] When the data permission management module is a system-defined class, it then obtains the operating system source of the first data. Only applications on devices with the same operating system as the source can use this first data. For example, if the operating system source is... If the device with application B installed also has application B installed... If the operating system allows application B to use the first data, then the data permission management module will determine whether application B has permission to use the first data based on the usage permissions of the first data. If the device on which application B is installed also does not have the correct operating system... If the operating system is not configured, then application B will not be able to use the first data. The data permission management module will also no longer need to determine whether application B has permission to use the first data, or whether application B cannot use the first data, based on the usage permissions of the first data.

[0373] When the data permission management module is a custom application class, it first obtains the application source of the first data. Only applications with the same application source can use this first data. If application B has the same application source or is a family application of the application source, application B has the ability to use the first data. The data permission management module then determines whether application B has permission to use the first data based on its usage permissions. If application B has a different application source or is not a family application of the application source, then application B does not have the ability to use the first data. In this case, the data permission management module no longer needs to determine whether application B has permission to use the first data based on its usage permissions, and determines that application B cannot use the first data.

[0374] If application B has the capability to use the first data, then based on the access permissions for the first data, it is determined whether application B has permission to use the first data. Access permissions for the first data include the ability to use it by one or more applications. If application B is included in this list of one or more applications, then application B has access permissions for the first data.

[0375] For example, if the access permission for the first data is public, then application B has permission to use the first data.

[0376] The access permission for the first data is channel permission (meaning the target application sending the data through this sharing channel has access to the first data). If application B is the target application, then application B has permission to use the first data. If application B is not the target application, then application B does not have permission to use the first data.

[0377] 3. The data access control module sends a notification to the data access / access module.

[0378] This notification instructs the data access / access module to select the corresponding sharing path and send the first data to application B.

[0379] Optionally, the notification may include the identifier of application B, so that the data access / access module can send the redefined first data based on the identifier of application B to application B through the corresponding sharing path after determining the sharing path.

[0380] 4. The data access / access module obtains the first data for redefinition from the storage management module.

[0381] Optionally, the data access / access module may obtain the redefining first data from the storage management module after receiving the first notification sent by the data permission management module.

[0382] 5. The data access / access module obtains the sharing path of the first data from the unified management protocol of the first data.

[0383] 6. The data access / access module selects the corresponding sharing path based on the sharing path of the first data.

[0384] Optionally, the data access / access module can obtain the unified management protocol for the first data from the storage management module.

[0385] Optionally, it could be a unified management protocol that allows the data access / access module to obtain the first data from the storage management module after receiving the first notification from the data permission management module.

[0386] Optionally, the unified management protocol of First Data includes an "intension" field, in which the name of the sharing path is entered. Therefore, the data access / access module obtains the sharing path of First Data from the unified management protocol of First Data.

[0387] Specifically, when the name of the sharing path is entered as automatic1 in the "intension" field, the sharing path of the first data can be a cross-application automatic path.

[0388] When the name of the sharing path in the "intension" field is "clipboard", the sharing path of the first data can be the clipboard path.

[0389] When the name of the sharing path is "drag" in the "intension" field, the sharing path of the first data can be the drag-and-drop path.

[0390] When the name of the sharing path is entered as manual1 in the "intension" field, the sharing path of the first data can be a cross-application manual path.

[0391] After the data access / access module obtains the sharing path of the first data from the unified management protocol of the first data, it can select the corresponding sharing path based on the sharing path and send the first data to the target application through the corresponding sharing path.

[0392] Optionally, step 4 can be performed before, after, or simultaneously with steps 5 and 6; this application does not impose any restrictions on this. Step 4 simply needs to be performed before step 7.

[0393] For example, the data access / access module can obtain the sharing path of the first data from the unified management protocol of the first data, which can be a drag-and-drop path. Therefore, the data access / access module can choose the drag-and-drop path.

[0394] 7. The data access / access module will redefine the drag path of the first data sent to the drag channel.

[0395] For example, after the data access / access module selects a drag path, the data access / access module can redefine the first data and send it to the drag path in the drag channel.

[0396] Optionally, the data access / access module can also send the identifier of application B to the drag-and-drop channel, so that the drag-and-drop channel can send the redefined first data to application B based on the identifier of application B.

[0397] 8. Dragging the path will redefine the first data sent to application B.

[0398] After receiving the identifier of application B and the first data of redefinition sent by the data access / access module, the drag-and-drop path can send the first data of redefinition to application B based on the identifier of application B.

[0399] 9. Application B obtains the specified data definition standard from the data definition standard model.

[0400] 10. Application B parses the redefined first data based on the specified data definition standard to obtain the first data.

[0401] 11. Application B uses the first data.

[0402] After obtaining the first data of the redefinition sent by the drag-and-drop path, application B can obtain the specified data definition standard from the data definition standard model.

[0403] In other words, regardless of whether the path is dragged and dropped, manually navigated across applications, or automatically navigated across applications, application B only needs to obtain a single data definition standard—that is, a specified data definition standard—and parse the redefined first data based on this standard to obtain the first data. Application B can then use this first data. This achieves data sharing between two applications on the same device.

[0404] Application B can use the first data, specifically including: when the first data is text data, application B on electronic device 100 can directly obtain the text content of the first data from the first data and use the text content of the first data.

[0405] When the first data is non-text data (or file data), and application B on electronic device 100 needs to use the first data, application B on electronic device 100 can obtain the URI of the first data from the first data, obtain the file data of the first data based on the URI of the first data, and use the file data of the first data.

[0406] pass Figure 11 The data sharing method between two applications on the same device provided in this embodiment requires each application to define the shared data according to this standard before data sharing. After receiving the shared data, each application also needs to parse the shared data based on this standard. In other words, the data definition standard is unified for different applications and different sharing paths, achieving a unified format for shared data.

[0407] 12. The data lifecycle management module determines that the first data needs to be deleted.

[0408] 13. The data lifecycle management module sends a notification to the storage management module.

[0409] 14. The storage management module deletes the first data of the redefinition in the storage.

[0410] Optionally, after application B uses the first data, the data lifecycle management module can determine to promptly delete the used redefined first data to prevent data leakage.

[0411] Specifically, after application B uses the first data, the data lifecycle management module can send a notification to the storage management module. Upon receiving the notification, the storage management module can delete the stored redefined first data in response. This allows the storage management module to promptly delete the used redefined first data, preventing data leaks and freeing up memory occupied by the data.

[0412] It should be noted that, Figure 8 The steps described are only used to illustrate the specific implementation of how application B reads the first data from the unified data management framework, but should not be limited to the steps to be executed.

[0413] Data sharing between two applications on different devices Figure 9 and Figure 10 ) For example, the different devices can be electronic device 100 and electronic device 200, and the two applications can be application A on electronic device 100 and application B on electronic device 200, respectively. In some embodiments, application A on electronic device 100 can receive a user's operation to share first data in application A to application B on electronic device 200. In other embodiments, application A on electronic device 100 can also automatically share the first data in application A to application B on electronic device 200.

[0414] Figure 9This diagram illustrates a specific implementation of a unified data management framework on electronic device 200 that stores first data shared by application A on electronic device 100.

[0415] The steps for storing the first data shared by application A on electronic device 200 using the unified data management framework are as follows (steps 1-20): Electronic device 100 sends the first data from application A to electronic device 200 (steps 1-8).

[0416] The descriptions of steps 1-6 can be found in [reference needed]. Figure 7 The descriptions of steps 1-6 in the embodiments will not be repeated here.

[0417] Optionally, electronic device 100 may not perform steps 5 and 6, and steps 5 and 6 may be performed by electronic device 200. This application does not limit this.

[0418] 7. The unified data management framework on electronic device 100 will redefine the first data, the unified management protocol of the first data, and the instructions for using the first data and send them to the communication module on electronic device 100.

[0419] 8. The communication module on electronic device 100 is used to send the redefinition of first data, the unified management protocol of the first data, and the usage instructions of the first data to the communication module on electronic device 200.

[0420] This enables data sharing across devices.

[0421] 9. The communication module on the electronic device 200 will send the redefined first data, the unified management protocol of the first data, and the usage instructions of the first data to the data access / access module in the unified data management framework on the electronic device 200.

[0422] 10. The data access / access module on electronic device 200 will redefine the first data to be sent to the data security module on electronic device 200.

[0423] 11. The data security module on the electronic device 200 encrypts the redefining first data to obtain encrypted redefining first data.

[0424] 12. The data security module on the electronic device 200 will send the encrypted and redefined first data to the storage management module stored on the electronic device 200.

[0425] 13. The storage management module on electronic device 200 stores encrypted redefinition of the first data.

[0426] After receiving the first data for redefinition, the data security module on the electronic device 200 can encrypt the first data for redefinition to obtain encrypted first data.

[0427] The data security module on the electronic device 200 then sends the encrypted redefinition first data to the storage management module.

[0428] The storage management module on the electronic device 200 can store encrypted redefinition first data.

[0429] Optionally, the data access / access module on the electronic device 200 may also store the unified management protocol of the first data and the instructions for using the first data in the storage management module on the electronic device 200, or store them in the storage management module on the electronic device 200 after encryption by the data security module on the electronic device 200.

[0430] Optionally, the unified data management framework on electronic device 200 may not include a data security module on electronic device 200. After the data access / access module on electronic device 200 verifies the redefined first data, the data access / access module on electronic device 200 can directly send the redefined first data to the storage management module on electronic device 200, and the storage management module on electronic device 200 only needs to store the redefined first data.

[0431] 14. The data access / access module on the electronic device 200 sends the unified management protocol of the first data and the instructions for using the first data to the data access control module on the electronic device 200.

[0432] 15. The data permission management module on the electronic device 200 obtains personalized permissions for the first data based on the usage instructions of the first data.

[0433] The data access / access module on the electronic device 200 can also send the usage instructions of the first data to the data access control module on the electronic device 200. The data permission management module on electronic device 200 can obtain personalized permissions for the first data based on its usage instructions. This allows for subsequent verification of whether applications requiring the first data have the necessary permissions.

[0434] Optionally, the "peimission" field in the First Data usage instructions describes the personalized permissions for First Data. First Data's personalized permissions include, but are not limited to, public permissions, system permissions, and application permissions.

[0435] The data permission management module on the electronic device 200 can obtain the personalized permissions of the first data from the user manual of the first data.

[0436] 16. The data permission management module on the electronic device 200 can determine the usage permissions of the first data based on the personalized permissions of the first data, the permission rules of the sharing path of the first data, and the permission rules of the unified data management framework.

[0437] Step 16 and Figure 7 Step 14 in the embodiment is similar, except that... Figure 7 In the embodiment, the access rights to the first data obtained in step 14 may be that one or more applications on the electronic device 100 may use the first data.

[0438] Figure 9 In the embodiment, the access rights to the first data obtained in step 16 may be that one or more applications on the electronic device 200 may use the first data.

[0439] For a detailed explanation of step 16, please refer to [link / reference]. Figure 7 The description of step 14 in the embodiments will not be repeated here.

[0440] 17. The data access / access module on the electronic device 200 sends the unified management protocol of the first data and the usage instructions of the first data to the data lifecycle management module on the electronic device 200.

[0441] 18. The data lifecycle management module on the electronic device 200 determines the lifecycle of the first data based on the lifecycle rules of the first data, the lifecycle rules of the sharing path of the first data, and the lifecycle rules of the unified data management framework on the electronic device 200.

[0442] 19. The data lifecycle management module on the electronic device 200 sends a notification to the storage management module on the electronic device 200 based on the lifecycle of the first data.

[0443] 20. The storage management module on electronic device 200 continues to store or delete the encrypted and redefined first data.

[0444] The data lifecycle management module on the electronic device 200 can determine, based on the determined lifecycle of the first data, whether the storage management module should continue to save the encrypted and redefined first data or delete the encrypted and redefined first data.

[0445] Detailed explanation of steps 16-20, and Figure 7 The implementation of steps 15-18 in the embodiment is similar and can be referred to Figure 7The descriptions of steps 15-18 in the embodiments will not be repeated here.

[0446] Figure 10 This diagram illustrates a specific implementation of how application B on electronic device 200 reads first data shared by application A on electronic device 100 from a unified data management framework on electronic device 200.

[0447] For example, after application A on electronic device 100 stores the first data to be shared in the storage management module of the unified data management framework on electronic device 200, application B on electronic device 200 can obtain the first data from the storage management module of the unified data management framework on electronic device 200, thereby realizing data sharing between two applications on different devices.

[0448] The steps for application B on electronic device 200 to read the first data shared by application A on electronic device 100 from the unified data management framework on electronic device 200 are as follows (steps 1-14): 1. Application B on electronic device 200 sends a read notification to the data access control module on electronic device 200.

[0449] 2. The data access control module on electronic device 200 checks whether application B has the right to use the first data.

[0450] 3. The data access control module on electronic device 200 sends a notification to the data access / access module on electronic device 200.

[0451] 4. The data access / access module on the electronic device 200 obtains the redefinition first data from the storage management module on the electronic device 200.

[0452] 5. The data access / access module on the electronic device 200 obtains the sharing path of the first data from the unified management protocol of the first data.

[0453] 6. The data access / access module on the electronic device 200 selects the corresponding sharing path based on the sharing path of the first data.

[0454] for Figure 10 The description of steps 1-6 in the embodiment can be found in [reference]. Figure 8 The description of steps 1-6 in the embodiment differs in that, for Figure 10 Steps 1-6 in this embodiment describe the specific implementation of how application B on electronic device 200 reads the first data from the unified data management framework on electronic device 200. Figure 8In this embodiment, steps 1-6 are specific implementations of how application B on electronic device 100 reads the first data from the unified data management framework on electronic device 100. The principle is similar, and this application will not repeat it here.

[0455] 7. The data access / access module on the electronic device 200 will redefine the drag path in the drag channel on the electronic device 200 to send the first data.

[0456] For example, after the data access / access module on the electronic device 200 selects the drag path on the electronic device 200, the data access / access module on the electronic device 200 can send the redefined first data to the drag path in the drag channel on the electronic device 200.

[0457] Optionally, the data access / access module on the electronic device 200 can also send the identifier of application B to the drag channel on the electronic device 200, so that the drag channel on the electronic device 200 can send the redefined first data to application B based on the identifier of application B.

[0458] 8. The drag path on electronic device 200 will redefine the first data sent to application B.

[0459] After receiving the identifier of application B and the first data of redefinition sent by the data access / access module on electronic device 200, the drag path on electronic device 200 can send the first data of redefinition to application B based on the identifier of application B.

[0460] 9. Application B on electronic device 200 obtains the specified data definition standard from the data definition standard model on electronic device 200.

[0461] 10. Application B on electronic device 200 parses the redefined first data based on the specified data definition standard to obtain the first data.

[0462] 11. Application B on electronic device 200 uses the first data.

[0463] After obtaining the first data of redefining the drag path sent by the electronic device 200, the application B on the electronic device 200 can obtain the specified data definition standard from the data definition standard model.

[0464] In other words, regardless of whether it's a drag-and-drop path, a clipboard path, a manual cross-device path, or an automatic cross-device path, application B on electronic device 200 only needs to obtain one data definition standard, i.e., a specified data definition standard, and parse the redefined first data based on the specified data definition standard to obtain the first data. Application B on electronic device 200 can then use the first data. This achieves data sharing between two applications on different devices.

[0465] Application B on electronic device 200 can use the first data, specifically including: When the first data is text data, application B on electronic device 200 can directly obtain the text content of the first data from the first data and use the text content of the first data.

[0466] When the first data is non-text data (or file data), and application B on electronic device 200 needs to use the first data, application B on electronic device 200 can obtain the URI of the first data from the first data and obtain the file data of the first data based on the URI. Specifically, application B on electronic device 200 can send the URI of the first data to the communication module on electronic device 100 through the communication module. After receiving the acquisition notification, the communication module on electronic device 100 can obtain the file data of the first data based on the URI of the first data, and then send the file data of the first data to the communication module on electronic device 200. The communication module on electronic device 200 then sends the file data of the first data to application B on electronic device 200, and application B on electronic device 200 can use the file data of the first data.

[0467] 12. The data lifecycle management module on electronic device 200 determines that the first data needs to be deleted.

[0468] 13. The data lifecycle management module on electronic device 200 sends a notification to the storage management module on electronic device 200.

[0469] 14. The storage management module on electronic device 200 deletes the stored redefinition first data.

[0470] Optionally, after application B on electronic device 200 uses the first data, the data lifecycle management module on electronic device 200 can determine to delete the used redefinition first data in a timely manner to avoid data leakage.

[0471] Specifically, after application B on electronic device 200 uses the first data, the data lifecycle management module on electronic device 200 can send a notification to the storage management module on electronic device 200. Upon receiving the notification, the storage management module on electronic device 200 can delete the stored redefined first data in response. In this way, the storage management module on electronic device 200 can promptly delete the used redefined first data, which on the one hand can prevent data leakage, and on the other hand can release the memory occupied by the used redefined first data in a timely manner.

[0472] It should be noted that, Figure 10 The steps described herein are only intended to illustrate the specific implementation of how application B on electronic device 200 reads the first data from the unified data management framework, but should not be limited to the steps to be executed.

[0473] Figure 11 This is a schematic diagram illustrating a method for application A on electronic device 100 to share data with application B on electronic device 100, as provided in an embodiment of this application.

[0474] S1101, Application A obtains the first data, which is the data to be shared to Application B.

[0475] In some embodiments, application A may receive a user's action to share first data from application A to application B. For example, this can be achieved through... Figures 1A-1J The drag-and-drop path, clipboard path, and cross-application path shown in the diagram will share the first data in application A to application B.

[0476] In other embodiments, application A may also automatically share the first data in application A to application B. For example, the first data in application A can be shared to application B via an automatic cross-application path.

[0477] The first data in application A can also be shared to application B through other sharing paths. This application does not limit this.

[0478] S1102. Application A obtains the specified data definition standard and unified management protocol standard from the unified data management framework.

[0479] Optionally, S1102 can also be performed before S1101, and this application does not limit this.

[0480] For an introduction to the specified data definition standards and unified management protocol standards, please refer to the description in Table 1. This application will not repeat them here.

[0481] It should be noted that all sharing paths on electronic device 100 need to adapt to this specified data definition standard and unified management protocol standard. When applications on electronic device 100 share data through different sharing paths, they only need to define the data according to this one standard. When other applications on electronic device 100 use this shared data, they also only need to redefine the data parsing according to this one standard to obtain the shared data. This achieves a unified definition standard for shared data across different paths.

[0482] S1103. Application A defines the first data based on the specified data definition standard to obtain the redefined first data.

[0483] This application provides a set of data definition standards (specified data definition standards). Before applications share data, different applications can define the shared data based on the specified data definition standards, and the recipient of the shared data can also parse the shared data based on the specified data definition standards. This reduces the data transmission and reception processing steps.

[0484] In other embodiments, the sharing data is not limited to being defined according to a specified data definition standard; the application can also be instructed to define the data within the application according to the specified data definition standard when generating application data. In this way, once the application determines the sharing data, the sharing data is already defined according to the specified data definition standard, and the application does not need to define it again.

[0485] Application A defines the first data based on a specified data definition standard. This can be the definition of the attributes of the first data based on the specified data definition standard, including but not limited to the definition of the type of the first data, the definition of the size of the first data, the definition of the creation time of the first data, and the definition of the content of the first data.

[0486] For example, when the first data is non-text data (or file data), such as an image, redefining the first data can include both a type definition and a content definition. The type definition of the first data could be "image", and the content definition could be "the URI of the first data".

[0487] For example, when the first data is text data, redefining the first data can include defining the type of the first data and defining its content. The type definition of the first data could be "plain-text", and the content definition could be "department meeting at 4 pm".

[0488] S1104, Application A: Instructions for using the unified management protocol to generate first data based on the unified management protocol standard and the specified data definition standard to generate first data.

[0489] Application A can generate a unified management protocol for the first data based on the unified management protocol standard and a user manual for the first data based on the specified data definition standard. The unified management protocol for the first data specifies the sharing path of the first data, and the user manual for the first data specifies the personalized rights of the first data.

[0490] For example, if the sharing path of the first data is a drag-and-drop path, the personalization permissions of the first data are limited to those installed by the system. Applications on the operating system device can use this first data. Therefore, the unified management protocol for the first data could be "udmf: / / drag / library application / 123 / 123456". The instructions for using the first data could be... / WeChat application / / text. plain-text.

[0491] It should be noted that S1104 can be executed before S1103, or S1104 can be executed simultaneously with S1103. This application does not limit this.

[0492] S1105. Application A sends the redefinition of the first data, the unified management protocol of the first data, and the usage instructions of the first data to the unified data management framework.

[0493] After receiving the redefinition of the first data, the unified management protocol for the first data, and the usage instructions for the first data, application A sends the redefinition of the first data, the unified management protocol for the first data, and the usage instructions for the first data to the unified data management framework. This allows the unified data management framework to verify the redefinition of the first data, or the redefinition of the first data, the unified management protocol for the first data, and the usage instructions for the first data.

[0494] S1106. The unified data management framework verifies the redefinition of the first data based on the specified data definition standard and determines whether the definition of the redefinition of the first data meets the requirements.

[0495] If the redefinition of the first data does not meet the requirements, execute S1107.

[0496] If the redefinition of the first data meets the requirements, execute S1108.

[0497] The unified data management framework validates the redefined primary data, primarily verifying whether it conforms to the framework's definition. Only data that passes validation can be shared with other applications through the framework, preventing situations where application A fails to define the primary data according to the specified data definition standards.

[0498] The unified data management framework uses the following rules to validate the redefinition of the first data based on specified data definition standards: This section redefines whether the first data is defined according to the data attribute and data content definitions specified in the designated data definition standard. For example, when the first data is image data, the type of the image data included in the first data is defined as "image" instead of "picture". The content of the image data included in the first data is defined as the URI of the image data, instead of including the image file. The content of the text data included in the first data is defined as the plain text content of the text data, instead of including other content. Following this rule, the unified data management framework can determine whether the definition of the first data meets the requirements.

[0499] Optionally, the unified data management framework can also verify the unified management protocol of the first data based on the unified management protocol standard and the usage instructions of the first data based on the specified data definition standard, and determine whether the unified management protocol and usage instructions of the first data meet the requirements.

[0500] The unified data management framework validates the unified management protocol of the first data based on the unified management protocol standard and validates the usage instructions of the first data based on the specified data definition standard, according to the following rules: Does the unified management protocol of First Data and the First Data user manual include the preset fields specified in the unified management protocol standard and the data definition standard? Have the contents of each preset field been filled in and validated?

[0501] The listing verification rules can also take other forms, and this application does not limit them.

[0502] S1107, Process Ended.

[0503] If it is determined that the redefinition of the first data meets the requirements, it means that the first data can no longer be shared, and the process ends.

[0504] Optionally, the unified data management framework can also send a notification to application A, which can then indicate that the application does not meet the requirements of the unified data management framework and cannot share data.

[0505] S1108, Unified Data Management Framework Storage Redefinition First Data, Unified Management of First Data, and Instructions for Use of First Data.

[0506] Optionally, to ensure the security of the redefinition of the first data, the unified management of the first data, and the instructions for use of the first data, the redefinition of the first data, the unified management of the first data, and the instructions for use of the first data can be stored in encrypted form.

[0507] Optionally, the unified data management framework can also manage the stored redefinition of first data, the unified management protocol for first data, and the usage instructions for first data. For example, it can continue storing the redefinition of first data, the unified management protocol for first data, and the usage instructions for first data, or delete the redefinition of first data, the unified management protocol for first data, and the usage instructions for first data. For details, please refer to... Figure 7 The description of step 18 in the embodiments will not be repeated here.

[0508] S1109. The unified data management framework determines the usage permissions of the first data based on the personalized permissions of the first data, the permission rules of the sharing path of the first data, and the permission rules of the unified data management framework.

[0509] The first data can be used by one or more applications on the electronic device 100.

[0510] The personalized permissions and sharing path permission rules of First Data can be determined by the unified data management framework based on the unified management protocol and usage instructions of First Data.

[0511] Optionally, the "peimission" field in the First Data usage instructions describes the personalized permissions for First Data. First Data's personalized permissions include, but are not limited to, public permissions, system permissions, and application permissions. The unified data management framework can obtain First Data's personalized permissions from its unified management protocol.

[0512] Optionally, the "intension" field in the unified management protocol of First Data describes the sharing path of First Data. The unified data management framework can obtain the permission rules for different sharing paths, then obtain the sharing path of First Data from the "intension" field, and determine the permission rules for the sharing path of First Data from the permission rules of multiple different sharing paths.

[0513] The permission rules of the unified data management framework can be preset by the unified data management framework, and the unified data management framework can obtain the permission rules of the unified data management framework.

[0514] The unified data management framework can determine the usage permissions of the first data based on the personalized permissions of the first data, the permission rules of the sharing path of the first data, and the permission rules of the unified data management framework.

[0515] Personalized permissions for First Data include, but are not limited to, public permissions, system permissions, and application permissions.

[0516] The permission rules for the sharing path of the first data include, but are not limited to, the target application being able to use the first data.

[0517] The unified data management framework's permission rules include, but are not limited to, all or some applications on the device being able to use this first data.

[0518] The priority of personalized permissions for First Data is higher than the priority of permission rules for First Data's sharing paths, and the priority of permission rules for First Data's sharing paths is higher than the priority of permission rules for the unified data management framework.

[0519] Specifically, when the unified management protocol of the first data specifies that the personalized permissions of the first data are not public permissions, then the usage permissions of the first data are the personalized permissions of the first data as defined in the unified management protocol of the first data.

[0520] When the unified management protocol for First Data specifies that the personalized permissions for First Data are public, the permission rules for the sharing path of First Data are then queried. As described above, the sharing path between two applications on the same device includes, but is not limited to, drag-and-drop paths, clipboard paths, cross-application manual paths, and cross-application automatic paths. Drag-and-drop paths, clipboard paths, and cross-application manual paths all restrict First Data to be usable only by the target application. For example, if a user shares First Data from application A to application B via drag-and-drop, then the drag-and-drop path restricts First Data to be usable only by application B. Clipboard paths and cross-application manual paths are similar to drag-and-drop paths. Cross-application automatic paths restrict First Data to be available to all or some applications on the device; that is, the permissions for cross-application automatic paths are public, with no usage permission restrictions.

[0521] When the sharing path of the first data is not a cross-application automatic path, the permissions specified by the sharing path of the first data shall prevail, and the usage permissions of the first data shall be the permissions specified by the sharing path of the first data.

[0522] When the sharing path of the first data is a cross-application automatic path, the permission rules of the unified data management framework are then queried. The usage permissions of the first data are then determined by the permission rules of the unified data management framework. If the permission rules of the unified data management framework are public permissions with no usage restrictions, then the first data can be used by all applications on the Electronic Pen 100. If the permission rules of the unified data management framework are partial application permissions, then the first data can be used by those specific applications on the Electronic Pen 100.

[0523] It should be noted that the personalized permissions of the first data, the permission rules for the sharing path of the first data, and the permission rules of the unified data management framework can be preset or user-defined. The aforementioned personalized permissions of the first data, the permission rules for the sharing path of the first data, and the permission rules of the unified data management framework are only used to interpret this application, and this application does not limit them.

[0524] Optionally, S1109 can be performed before, after, or simultaneously with S1109; this application does not limit this.

[0525] S1110, Application B on Electronic Device 100 sends a read notification to the Unified Data Management Framework.

[0526] When an application on electronic device 100 (e.g., application B) needs to read data shared by application A on electronic device 100 from the unified data management framework, application B can send a read notification to the unified data management framework.

[0527] In some embodiments, the read notification may carry an identifier for application B. In other embodiments, the identifier for application B may be sent separately from the read notification to the unified data management framework.

[0528] S1111: The unified data management framework determines whether application B has permission to use the first data based on the access permissions of the first data.

[0529] As shown in S1109, the unified data management framework has determined the usage permissions of the first data based on the personalized permissions of the first data, the permission rules of the sharing path of the first data, and the permission rules of the unified data management framework.

[0530] The first data can be used by one or more applications on the electronic device 100.

[0531] The unified data management framework can first determine whether application B is capable of using the first data based on its usage instructions. If application B is capable of using the first data, the unified data management framework can then determine whether one or more applications that can use the first data contain an identifier for application B.

[0532] If the identifier of application B is not included in one or more applications that can use the first data, it indicates that application B has the right to use the first data, and S1112 is executed.

[0533] If the identifier of application B is included in one or more applications that can use the first data, it indicates that application B has the right to use the first data, and S1113 is executed.

[0534] S1112, Process ends.

[0535] If the identifier of application B is not included in one or more applications that can use the first data, it indicates that application B has the right to use the first data, and the process ends.

[0536] Optionally, the unified data management framework can also send a notification to application B, which can then indicate that the first data cannot be used.

[0537] S1113. The unified data management framework obtains the sharing path of the first data from the unified management protocol of the first data.

[0538] Optionally, the unified management protocol of First Data includes an "intension" field, in which the name of the sharing path is entered. Therefore, the unified data management framework can obtain the sharing path of First Data from the unified management protocol of First Data.

[0539] Specifically, when the name of the sharing path is entered as automatic1 in the "intension" field, the sharing path of the first data can be a cross-application automatic path.

[0540] When the name of the sharing path in the "intension" field is "clipboard", the sharing path of the first data can be the clipboard path.

[0541] When the name of the sharing path is "drag" in the "intension" field, the sharing path of the first data can be the drag-and-drop path.

[0542] When the name of the sharing path is entered as manual1 in the "intension" field, the sharing path of the first data can be a cross-application manual path.

[0543] For example, the unified data management framework can obtain the sharing path of the first data from the unified management protocol of the first data, which can be a drag-and-drop path.

[0544] S1114, The unified data management framework will redefine the first data to be sent to the drag-and-drop path.

[0545] S1115, Drag and drop the path to redefine the first data and send it to application B.

[0546] S1116. Application B obtains the specified data definition standard from the unified data management framework.

[0547] Optionally, S1116 is not limited to being executed after S1115; S1116 can also be executed at any step before S1117.

[0548] S1117. Application B parses the redefined first data based on the specified data definition standard to obtain the first data.

[0549] S1118, Application B uses the first data.

[0550] Optionally, the unified data management framework can also manage the stored redefinition first data. For example, after sending the redefinition first data to application B or after application B uses the first data, the unified data management framework can determine and promptly delete the redefinition first data. In this way, the unified data management framework can promptly delete the redefinition first data that has been used, which on the one hand can prevent data leakage, and on the other hand can release the memory occupied by the redefinition first data that has been used in a timely manner.

[0551] Once the sharing path (e.g., drag-and-drop path) is determined, the unified data management framework can send the redefined first data to application B via the drag-and-drop path.

[0552] Application B can obtain the specified data definition standard from the unified data management framework, and parse the redefined first data based on the specified data definition standard to obtain the first data.

[0553] Then, application B can use the first data.

[0554] Application B can use the first data, specifically including: when the first data is non-file data, application B on electronic device 100 can directly obtain the text content of the first data from the first data and use the text content of the first data.

[0555] When the first data is file data, and application B on electronic device 100 needs to use the first data, application B on electronic device 100 can obtain the URI of the first data from the first data, obtain the file data of the first data based on the URI of the first data, and use the file data of the first data.

[0556] pass Figure 11 The data sharing method between two applications on the same device provided in this embodiment requires each application to define the shared data according to this standard before data sharing. After receiving the shared data, each application also needs to parse the shared data based on this standard. In other words, the data definition standard is unified for different applications and different sharing paths, achieving a unified format for shared data.

[0557] Figure 12This is a schematic diagram illustrating a method for application A on electronic device 100 to share data with application B on electronic device 200, as provided in an embodiment of this application.

[0558] S1201, Application A on electronic device 100 obtains first data, which is data shared to application B on electronic device 200.

[0559] In some embodiments, application A may receive a user's action to share first data from application A to application B. For example, this can be achieved through... Figures 2A-2G The drag-and-drop paths between different devices, the clipboard paths between different devices, and the cross-device paths between different devices will share the first data in application A to application B.

[0560] In other embodiments, application A may also automatically share the first data in application A to application B. For example, the first data in application A can be shared to application B via an automatic cross-device path.

[0561] The first data in application A on electronic device 100 can also be shared to application B on electronic device 200 via other sharing paths. This application does not limit this.

[0562] S1202-S1207: After obtaining the first data, application A on electronic device 100 can generate a redefined first data based on a specified data definition standard, or it can generate a unified management protocol for the first data and usage instructions for the first data based on a unified management protocol standard. Application A then sends the redefined first data, the unified management protocol for the first data, and the usage instructions for the first data to the unified data management framework on electronic device 100. The unified data management framework on electronic device 100 verifies whether the redefined first data meets the requirements.

[0563] Figure 12 For a description of S1202-S1207 in the embodiments, please refer to... Figure 11 The descriptions of S1102-S1107 in the embodiments will not be repeated here.

[0564] S1208, the unified data management framework on electronic device 100 will redefine the first data, the unified management protocol of the first data, and the instructions for using the first data and send them to the communication module on electronic device 100.

[0565] S1209, the communication module on electronic device 100 sends the redefinition of the first data, the unified management protocol of the first data, and the usage instructions of the first data to the communication module on electronic device 200.

[0566] S1210, the communication module on electronic device 200 will redefine the first data, the unified management protocol of the first data, and the instructions for using the first data and send them to the unified data management framework on electronic device 200.

[0567] After verifying that the redefined first data meets the requirements, the unified data management framework on electronic device 100 can send the redefined first data, the unified management protocol of the first data, and the usage instructions of the first data to the communication module on electronic device 200 through the communication module on electronic device 100.

[0568] The communication module on electronic device 200 then sends the redefined first data, the unified management protocol for the first data, and the usage instructions for the first data to the unified data management framework on electronic device 200. This allows the unified data management framework on electronic device 200 to store the redefined first data, the unified management protocol for the first data, and the usage instructions for the first data, so that applications on electronic device 200 can obtain and use the first data from the unified data management framework on electronic device 200.

[0569] Optionally, S1206-S1207 can also be executed by the unified data management framework on the electronic device 200, and this application does not limit this.

[0570] S1211-S1220: After obtaining the required redefinition of first data, the unified management protocol for the first data, and the usage instructions for the first data, the unified data management framework on electronic device 200 allows one or more applications on electronic device 200 to obtain the first data shared by application A on electronic device 100 from the unified data management framework on electronic device 200. The unified data management framework on electronic device 200 can verify whether one or more applications on electronic device 200 have the capability and permission to access the first data shared by application A on electronic device 100. If they have the capability and permission, the unified data management framework on electronic device 200 can send the redefinition of the first data to one or more applications on electronic device 200.

[0571] Figure 12 For a description of S1211-S1220 in the embodiments, please refer to... Figure 11 The descriptions of S1108-S1117 in the embodiments will not be repeated here.

[0572] S1221, Application B on electronic device 200 uses the first data.

[0573] When the first data is text data, application B on electronic device 200 can directly obtain the text content of the first data from the first data and use the text content of the first data.

[0574] When the first data is file data, if application B on electronic device 200 needs to use the first data, application B on electronic device 200 can obtain the URI of the first data from the first data and obtain the file data of the first data based on the URI. Specifically, application B on electronic device 200 can send the URI of the first data to the communication module on electronic device 100 through the communication module. After receiving the acquisition notification, the communication module on electronic device 100 can obtain the file data of the first data based on the URI of the first data, and then send the file data of the first data to the communication module on electronic device 200. The communication module on electronic device 200 then sends the file data of the first data to application B on electronic device 200, and application B on electronic device 200 can use the file data of the first data.

[0575] pass Figure 12 The data sharing method between two applications on different devices provided in this embodiment requires each application to define the shared data according to this standard before data sharing. After receiving the shared data, each application also needs to parse the shared data based on this standard. In other words, the data definition standard is unified for different applications and different sharing paths, achieving a unified format for shared data.

[0576] This application provides an electronic device, comprising: one or more processors, one or more memories, and one or more cameras; the one or more cameras and one or more memories are coupled to the one or more processors, the one or more memories being used to store computer program code, the computer program code including computer instructions, and the one or more processors calling the computer instructions to cause the electronic device to execute. Figure 11 A data sharing method is provided in the embodiments.

[0577] This application provides a computer-readable storage medium for storing computer instructions, which, when executed on an electronic device, cause the electronic device to perform... Figure 11 A data sharing method is provided in the embodiments.

[0578] This application provides a computer program product that, when run on an electronic device, causes the electronic device to perform... Figure 11 A data sharing method is provided in the embodiments.

[0579] This application provides an electronic device, comprising: one or more processors, one or more memories, and one or more cameras; the one or more cameras and one or more memories are coupled to the one or more processors, the one or more memories being used to store computer program code, the computer program code including computer instructions, and the one or more processors calling the computer instructions to cause the electronic device to... Figure 12 A data sharing method is provided in the embodiments.

[0580] This application provides a computer-readable storage medium for storing computer instructions, which, when executed on an electronic device, cause the electronic device to perform... Figure 12 A data sharing method is provided in the embodiments.

[0581] This application provides a computer program product that, when run on an electronic device, causes the electronic device to perform... Figure 12 A data sharing method is provided in the embodiments.

[0582] The various embodiments of this application can be combined arbitrarily to achieve different technical effects.

[0583] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).

[0584] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.

[0585] In summary, the above description is merely an embodiment of the technical solution of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made according to the disclosure of the present invention should be included within the scope of protection of the present invention.

Claims

1. A data sharing system, characterized in that, The system includes a first electronic device and a second electronic device, which establish a communication connection. The first electronic device is used to acquire first data; The first electronic device is further configured to: First definition data corresponding to the first data is generated based on the specified data definition standard. The first definition data includes the attributes of the first data and the first data, or the first definition data includes the attributes of the first data and the storage path of the first data. The first defined data is sent to the second electronic device through the first sharing path and the communication connection; The second electronic device is used to obtain the first defined data through the first sharing path; The second electronic device is further configured to parse the first data or the storage path of the first data from the first defined data based on the specified data definition standard; The first electronic device is further configured to: The second data was obtained; The second definition data corresponding to the second data is generated based on the specified data definition standard. The second definition data includes the attributes of the second data and the second data, or the second definition data includes the attributes of the second data and the storage path of the second data. The second defined data is sent to the second electronic device via the second sharing path and the communication connection; The second electronic device is also used for: The second defined data is obtained through the second sharing path; Based on the specified data definition standard, the second data or the storage path of the second data is parsed from the second defined data; The second sharing path is different from the first sharing path.

2. The system according to claim 1, characterized in that, The first electronic device includes a first application and a first data management framework, and the second electronic device includes a second application and a second data management framework; The first electronic device is specifically used for: The first application sends the first defined data to the first data management framework via the first sharing path. The first defined data is sent to the second data framework through the communication connection via the first data management framework; The second electronic device is also used to send the first defined data to the second application based on the first sharing path through the second data management framework.

3. The system according to claim 1 or 2, characterized in that, The first electronic device includes a first application and a first data management framework; the second electronic device includes a second application and a second data management framework; the first electronic device is further configured to: The first application generates a unified management protocol for the first data based on the unified management protocol standard, wherein the unified management protocol for the first data includes the identifier of the first sharing path; The unified management protocol for the first data is sent to the first data management framework via the first application: The unified management protocol of the first data is sent to the second data framework through the communication connection via the first data management framework; The second electronic device is also used for: The identifier of the first sharing path is obtained from the unified management protocol of the first data through the second data management framework; The second data management framework determines that the first defined data is sent to the second application via the first sharing path based on the identifier of the first sharing path.

4. The system according to claim 2 or 3, characterized in that, The first electronic device is further configured to: generate usage instructions for the first data based on the specified data definition standard through the first application, wherein the usage instructions for the first data include personalized permissions for the first sharing path; The first application sends the usage instructions for the first data to the first data management framework: The instructions for using the first data are sent to the second data management framework via the communication connection through the first data management framework. The second electronic device is also used for: The first notification sent by the second application is obtained through the second data management framework. The first notification is used to read the first data and includes the identifier of the second application. The second data management framework obtains the permission rules of the first sharing path based on the identifier of the first sharing path in the unified management protocol of the first data; The personalized permissions for the first data are obtained from the usage instructions of the first data through the second data management framework; After determining that the second application has the ability to access the first data based on the usage instructions of the first data, when the first data management framework determines that the second application has the right to access the first data based on the personalized permissions of the first data, the permission rules of the first sharing path, the permission rules of the second data management framework, and the identifier of the second application, it determines that the first defined data will be sent to the second application through the first sharing path by the second data management framework based on the identifier of the first sharing path.

5. The system according to claim 4, characterized in that, The second electronic device is also used for: The second data management framework validates the first defined data based on the specified data definition standard; If the verification passes, the first defined data, the unified management protocol of the first data, and the usage instructions of the first data are stored through the second data management framework.

6. A data sharing method, characterized in that, The method includes: The second electronic device obtains the first defined data sent by the first electronic device through the first sharing path and communication connection. The first defined data is generated based on a specified data definition standard and first data. The first defined data includes the attributes of the first data and the first data, or the first defined data includes the attributes of the first data and the storage path of the first data. The second electronic device is different from the first electronic device. The first electronic device and the second electronic device have established the communication connection. The second electronic device parses the first data or the storage path of the first data from the first defined data based on the specified data definition standard; The second electronic device obtains the second defined data sent by the first electronic device through the second sharing path and the communication connection. The second defined data is generated by the first electronic device based on the specified data definition standard and the second data. The second defined data includes the attributes of the second data and the second data, or the second defined data includes the attributes of the second data and the storage path of the second data. The second electronic device parses the second data or the storage path of the second data from the second defined data based on the specified data definition standard; The second sharing path is different from the first sharing path.

7. The method according to claim 6, characterized in that, The second electronic device includes a second data management framework and a second application; The second electronic device obtains the first defined data sent by the first electronic device through the first sharing path and the communication connection, specifically including: The second electronic device receives the first defined data sent by the first data management framework in the first electronic device through the second data management framework based on the communication connection, wherein the first defined data stored in the first data management framework is sent by the first application in the first electronic device; The second electronic device sends the first defined data to the second application based on the first sharing path through the second data management framework.

8. The method according to claim 6 or 7, characterized in that, The second electronic device includes a second data management framework and a second application; the method further includes: The second electronic device receives the unified management protocol of the first data sent by the first data management framework in the first electronic device through the second data management framework based on the communication connection. The unified management protocol of the first data is generated by the first application in the first electronic device based on the unified management protocol standard. The unified management protocol of the first data includes the identifier of the first sharing path. The second electronic device obtains the identifier of the first sharing path from the unified management protocol of the first data through the second data management framework. The identifier of the first sharing path is used by the second data management framework to determine the path to send the first defined data to the second application.

9. The method according to claim 8, characterized in that, The method further includes: The second electronic device receives the unified management protocol of the second data sent by the first data management framework through the second data management framework based on the communication connection. The unified management protocol of the second data is generated by the first application in the first electronic device based on the unified management protocol standard. The unified management protocol of the second data includes the identifier of the second sharing path. The second electronic device obtains the identifier of the second sharing path from the unified management protocol of the second data through the second data management framework. The identifier of the second sharing path is used by the second data management framework to determine the path to send the second defined data to the second application. The unified management protocol for the second data is different from that for the first data.

10. The method according to claim 8 or 9, characterized in that, The method further includes: The second electronic device receives the usage instructions of the first data sent by the first data management framework through the second data management framework based on the communication connection. The usage instructions of the first data are generated by the first application in the first electronic device based on the specified data definition standard and sent to the first data management framework. The usage instructions of the first data include the personalized permissions of the first data. The second electronic device obtains a first notification sent by the second application through the second data management framework. The first notification is used to read the first data and includes the identifier of the second application. The second electronic device obtains the permission rules of the first sharing path through the second data management framework based on the identifier of the first sharing path in the unified management protocol of the first data; The second electronic device obtains personalized permissions for the first data from the usage instructions of the first data through the second data management framework. In the second data management framework, after determining that the second application has the ability to access the first data based on the usage instructions of the first data, when the first data management framework determines that the second application has the permission to access the first data based on the personalized permissions of the first data, the permission rules of the first sharing path, the permission rules of the first data management framework, and the identifier of the second application, the second electronic device determines to send the first defined data to the second application through the first sharing path based on the identifier of the first sharing path through the second data management framework.

11. The method according to claim 10, characterized in that, After the second electronic device receives the first defined data and the unified management protocol of the first data through the second data management framework, the method further includes: The second electronic device verifies the first defined data based on the specified data definition standard through the second data management framework; If the verification passes, the second electronic device stores the first defined data, the unified management protocol of the first data, and the usage instructions of the first data through the second data management framework.

12. The method according to any one of claims 6-11, characterized in that, The specified data definition standard is stored in the second data management framework; the method further includes: The second electronic device sends the specified data definition standard to the second application in the second electronic device through the second data management framework.

13. The method according to any one of claims 6-12, characterized in that, After the second electronic device parses the storage path of the first data from the first defined data based on the specified data definition standard, the method further includes: The second electronic device sends the storage path of the first data to the first application in the first electronic device through the communication connection via the second application in the second electronic device; The second electronic device receives the first data sent by the first application in the first electronic device through the second application based on the communication connection. The first data is obtained by the first application in the first electronic device based on the storage path of the first data.

14. The method according to any one of claims 6-13, characterized in that, The attributes of the first data include one or more of the following: the type of the first data, the size of the first data, and the creation time of the first data.

15. An electronic device, characterized in that, The electronic device includes: one or more processors and one or more memories; the one or more memories are coupled to the one or more processors, the one or more memories are used to store computer program code, the computer program code including computer instructions, and the one or more processors call the computer instructions to cause the electronic device to perform the method of any one of claims 6-14.

16. A computer-readable storage medium, characterized in that, Used to store computer instructions that, when executed on an electronic device, cause the electronic device to perform the method described in any one of claims 6-14.

17. A computer program product, characterized in that, When the computer program product is run on an electronic device, it causes the electronic device to perform the method described in any one of claims 6-14.