Data object processing method and apparatus, electronic device, computer-readable storage medium, and computer program product
Patent Information
- Application Number
- CN202510421415.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-01
- Publication Date
- 2026-10-16
AI Technical Summary
相关技术中,仅支持将多个数据对象(如文件或文件夹)以独立消息的形式发送,导致用户在查找特定文件时需要翻阅大量历史记录,难以高效定位所需数据对象,不便于管理文件
[0056] At least one data object can be added to the first window by moving it. This simple movement operation allows data objects (such as files and folders) to be added to a specified window in an intuitive way that conforms to users' daily operating habits. Compared with selecting and adding one by one, it can significantly save time and improve operational efficiency. In response to a sharing trigger operation for at least one data object in the first window, at least one data object is sent to the server as a data object collection, which facilitates unified management and operation of the data objects in the data object collection. A sharing control is displayed, which carries the storage location of the data object collection on the server. This allows users to share the data object collection with other users or platforms simply by clicking the sharing control. At the same time, the storage location of the data object collection on the server carried by the sharing control ensures that the recipient can accurately access and retrieve this data.
Smart Images

Figure CN122924640A_ABST
Abstract
Description
Technical Field
[0001] This application relates to computer technology, and more particularly to a data object processing method, apparatus, electronic device, computer-readable storage medium, and computer program product. Background Technology
[0002] With the rapid development of internet information technology, people's demand for cross-platform file transfer in different scenarios is increasing day by day. How to share files efficiently and conveniently has become an urgent problem to be solved in the field of data transmission. In related technologies, it is only possible to send multiple data objects (such as files or folders) in the form of independent messages. This causes users to have to browse through a lot of history when searching for a specific file, making it difficult to efficiently locate the required data object and making it inconvenient to manage files. Summary of the Invention
[0003] This application provides a data object processing method, apparatus, electronic device, computer-readable storage medium, and computer program product that enable more efficient and convenient file sharing.
[0004] The technical solution of this application embodiment is implemented as follows:
[0005] This application provides a data object processing method, the method comprising:
[0006] In response to a movement operation on at least one first data object in the human-computer interaction interface, the at least one first data object is displayed in a first window of the human-computer interaction interface;
[0007] In response to a share-triggered operation for at least one of the first data objects in the first window, a set of data objects is sent to the server, wherein the set of data objects includes the at least one of the first data objects in the first window, and
[0008] A sharing control is displayed, wherein the sharing control carries the storage location of the data object collection in the server.
[0009] In the above scheme, the second dimension is a fixed dimension, or the second dimension is a dynamic dimension;
[0010] When the second size is a dynamic size, the second size is positively correlated with the number of first data objects moved to the first window.
[0011] In the above scheme, displaying the at least one first data object in the first window of the human-computer interaction interface includes:
[0012] The stacking identifier of the at least one first data object is displayed in the first window;
[0013] The stacking identifier is determined in the following way:
[0014] Obtain multiple identifier templates;
[0015] Based on the number of the at least one first data object, determine the matching probability between the at least one first data object and each of the identifier templates;
[0016] Use the identifier template with the highest matching probability as the stacking identifier of the at least one first data object; or...
[0017] In response to the selection operation for the plurality of identifier templates, the selected identifier template is used as the stack identifier for the plurality of first data objects.
[0018] In the above scheme, before stitching together the thumbnails of some of the first data objects in the at least one first data object to obtain the stitched image of the at least one first data object, the method further includes:
[0019] In response to a selection operation on the at least one first data object, the selected first data object is designated as part of the first data objects; or,
[0020] Based on the file type of each first data object, the at least one first data object is classified to obtain at least one classified file;
[0021] Select a first data object from each of the classification files as the partial first data object.
[0022] In the above scheme, before displaying the at least one first data object in the first window of the human-computer interaction interface, the method further includes:
[0023] Displays multiple candidate processing methods;
[0024] In response to the selection operation for the plurality of candidate processing methods, the selected candidate processing method is taken as the target processing method;
[0025] Displaying the at least one first data object in the first window includes:
[0026] According to the target processing method, the at least one first data object is displayed in the first window.
[0027] In the above scheme, the step of sending a set of data objects to the server and displaying a sharing control in response to a sharing trigger operation for at least one of the first data objects in the first window includes:
[0028] In response to a sharing trigger operation for at least one of the first data objects in the first window, a set of data objects is sent to the server, and a storage location is received from the server after receiving the set of data objects, wherein the storage location represents the location of the storage space in the server where the set of data objects is stored;
[0029] Displays a sharing control that carries the storage location.
[0030] In the above scheme, when displaying the at least one first data object in the first window of the human-computer interaction interface, the method further includes:
[0031] Display a remove control for each of the first data objects in the first window;
[0032] In response to a trigger operation on the remove control, the first data object corresponding to the remove control is removed from the first window.
[0033] In the above scheme, sending the data object set to the server includes:
[0034] According to the order in which each of the first data objects in the data object set was added to the first window, each of the first data objects is sent to the server sequentially, or...
[0035] The at least one first data object in the data object set is sent to the server simultaneously in parallel.
[0036] In the above scheme, sending the data object set to the server includes:
[0037] Obtain the file information of each of the first data objects in the data object set;
[0038] Based on the file information, a pre-trained machine learning model is invoked to predict the probability of each of the first data objects being shared;
[0039] According to the sharing probability, the first data objects are sorted in descending order, and starting from the first first data object in the descending order, the first data objects are sent to the server sequentially.
[0040] In the above scheme, the second window includes a transmission history tab;
[0041] When displaying the second window, the method further includes:
[0042] When the transmission history tab is in the foreground display state in the second window, in response to a movement operation for at least one third data object, the first window is displayed, and the at least one third data object is displayed in the first window.
[0043] In the above scheme,
[0044] The first window is a window independent of the operating program in the terminal; or,
[0045] The first window is the file sending function built into the instant messaging program on the terminal.
[0046] This application provides a data object processing apparatus, the apparatus comprising:
[0047] A first display module is configured to display the at least one first data object in a first window of the human-computer interaction interface in response to a movement operation of at least one first data object in the human-computer interaction interface.
[0048] A data sending module is configured to send a set of data objects to a server in response to a sharing trigger operation for at least one of the first data objects in the first window, wherein the set of data objects includes the at least one of the first data objects in the first window;
[0049] The second display module is used to display a sharing control, wherein the sharing control carries the storage location of the data object set in the server.
[0050] This application provides an electronic device, the electronic device comprising:
[0051] Memory is used to store executable instructions or computer programs.
[0052] The processor, when executing computer-executable instructions or computer programs stored in the memory, implements the data object processing method provided in the embodiments of this application.
[0053] This application provides a computer-readable storage medium storing a computer program or computer-executable instructions, which, when executed by a processor, implements the data object processing method provided in this application.
[0054] This application provides a computer program product, including a computer program or computer executable instructions. When the computer program or computer executable instructions are executed by a processor, they implement the data object processing method provided in this application.
[0055] The embodiments of this application have the following beneficial effects:
[0056] At least one data object can be added to the first window by moving it. This simple movement operation allows data objects (such as files and folders) to be added to a specified window in an intuitive way that conforms to users' daily operating habits. Compared with selecting and adding one by one, it can significantly save time and improve operational efficiency. In response to a sharing trigger operation for at least one data object in the first window, at least one data object is sent to the server as a data object collection, which facilitates unified management and operation of the data objects in the data object collection. A sharing control is displayed, which carries the storage location of the data object collection on the server. This allows users to share the data object collection with other users or platforms simply by clicking the sharing control. At the same time, the storage location of the data object collection on the server carried by the sharing control ensures that the recipient can accurately access and retrieve this data. Attached Figure Description
[0057] Figure 1 This is a schematic diagram of the architecture of the data object processing system 100 provided in an embodiment of this application;
[0058] Figure 2 This is a schematic diagram of the structure of the terminal 400 provided in the embodiments of this application;
[0059] Figure 3A This is a first flowchart illustrating the data object processing method provided in the embodiments of this application;
[0060] Figure 3B This is a second flowchart illustrating the data object processing method provided in the embodiments of this application;
[0061] Figure 3C This is a third flowchart illustrating the data object processing method provided in the embodiments of this application;
[0062] Figure 3D This is a schematic diagram of the fourth process of the data object processing method provided in the embodiments of this application;
[0063] Figure 3E This is a fifth flowchart illustrating the data object processing method provided in this application embodiment;
[0064] Figure 3F This is a sixth flowchart illustrating the data object processing method provided in the embodiments of this application;
[0065] Figure 3G This is a schematic diagram of the seventh process of the data object processing method provided in the embodiments of this application;
[0066] Figure 3HThis is the eighth flowchart of the data object processing method provided in the embodiments of this application;
[0067] Figure 3I This is a ninth flowchart illustrating the data object processing method provided in the embodiments of this application;
[0068] Figure 3J This is a schematic diagram of the tenth process of the data object processing method provided in the embodiments of this application;
[0069] Figure 3K This is a schematic diagram of the eleventh step of the data object processing method provided in the embodiments of this application;
[0070] Figure 3L This is a schematic diagram of the twelfth step of the data object processing method provided in the embodiments of this application;
[0071] Figure 3M This is a schematic diagram of the thirteenth step of the data object processing method provided in the embodiments of this application;
[0072] Figure 4A This is a first schematic diagram of the file transfer process provided in the embodiments of this application;
[0073] Figure 4B This is a first schematic diagram of the movement operation provided in the embodiments of this application;
[0074] Figure 4C This is a second schematic diagram of the movement operation provided in the embodiments of this application;
[0075] Figure 4D This is a third schematic diagram of the movement operation provided in the embodiments of this application;
[0076] Figure 5 This is a second schematic diagram of the file transfer process provided in the embodiments of this application;
[0077] Figure 6 This is a third schematic diagram of the file transfer process provided in the embodiments of this application;
[0078] Figure 7 This is the fourth schematic diagram of the file transfer process provided in the embodiments of this application;
[0079] Figure 8 This is the fifth schematic diagram of the file transfer process provided in the embodiments of this application;
[0080] Figure 9 This is the sixth schematic diagram of the file transfer process provided in the embodiments of this application;
[0081] Figure 10 This is the seventh schematic diagram of the file transfer process provided in the embodiments of this application;
[0082] Figure 11 This is the eighth schematic diagram of the file transfer process provided in the embodiments of this application;
[0083] Figure 12 This is the ninth schematic diagram of the file transfer process provided in the embodiments of this application;
[0084] Figure 13 This is the tenth schematic diagram of the file transfer process provided in the embodiments of this application;
[0085] Figure 14 This is the eleventh schematic diagram of the file transfer process provided in the embodiments of this application;
[0086] Figure 15 This is a flowchart of file transfer provided in an embodiment of this application.
[0087] It should be noted that the terms "first" and "second" mentioned above are only used to distinguish between different options and do not represent the degree of superiority or inferiority of the options or their priority in the implementation process. Detailed Implementation
[0088] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0089] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0090] In the following description, the terms "first / second / third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0091] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0092] Unless otherwise specified, "at least one" as used below refers to one or more cases, and "multiple" can refer to two or more cases.
[0093] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the embodiments of this application is for the purpose of describing the embodiments of this application only and is not intended to limit this application.
[0094] In the implementation of this application, the collection and processing of relevant data should strictly comply with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.
[0095] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.
[0096] 1) First window: refers to a dynamic interface element that is independent of the operating program in the terminal and always sits above all applications. For example, it can be a floating window.
[0097] 2) Data object: refers to a data entity that can be manipulated and processed by a computer program. It can be a file or a folder. Data objects can contain various types of data, such as text, images, audio, video, program code, etc.
[0098] 3) Data object collection: A collection obtained by integrating multiple data objects. The collection can contain data objects of various types. For example, a data object collection can include data objects of types such as images, audio, video, and text, which is convenient for sharing and management at one time.
[0099] 4) Second window: The window for sending files built into the instant messaging program on the terminal.
[0100] 5) Storage space: refers to the storage service space provided by the server for users to store data objects, allowing users to upload data objects to these spaces for storage and management without occupying a large amount of physical storage space on local devices.
[0101] 6) Storage location: refers to the location of the storage space in the server, representing the specific location or area occupied by the data object in the storage space, and is a key identifier for determining data storage and retrieval.
[0102] 7) Responding to: used to indicate the conditions or states on which the operation performed depends. When the conditions or states on which it depends are met, one or more operations performed can be performed in real time or with a set delay. Unless otherwise specified, there is no restriction on the order in which the multiple operations are performed.
[0103] 8) Human-computer interaction interface, an interface used to provide human-computer interaction functions. Examples include graphical user interfaces (GUIs), augmented reality (AR) interfaces, virtual reality (VR) interfaces, voice user interfaces (VUIs), interactive projection interfaces (using projection technology to display information on a flat surface), eye-tracking interfaces (interfaces controlled by detecting the user's gaze), holographic interfaces (three-dimensional holograms formed by projecting images using holographic projection technology, allowing viewing of stereoscopic images without special glasses), multimodal interfaces (interfaces combining multiple interaction methods, such as tactile, visual, and auditory interaction), and brain-machine interfaces (BMIs).
[0104] In related technologies, only sending multiple data objects (such as files or folders) as independent messages is supported. This causes users to have to browse through a large amount of history when searching for a specific file, making it difficult to efficiently locate the required data object and inconvenient for file management.
[0105] Based on the above analysis, the applicant found that the data object processing methods of related technologies cannot share files efficiently and conveniently. In response to the above problems, the embodiments of this application provide a data object processing method, apparatus, electronic device, computer-readable storage medium, and computer program product that can share files more efficiently and conveniently.
[0106] The following describes exemplary applications of the electronic devices provided in the embodiments of this application. These electronic devices can be implemented as various types of terminals such as laptops, tablets, desktop computers, set-top boxes, smartphones, smart speakers, smartwatches, smart TVs, and in-vehicle terminals, or as servers. Exemplary applications of the electronic devices as terminals will be described below.
[0107] See Figure 1 , Figure 1This is a schematic diagram of the architecture of the data object processing system 100 provided in the embodiments of this application. In order to support a data object processing application, the terminal 400 (exemplarily showing the human-computer interaction interface 411) connects to the server 200 through the network 300. The network 300 can be a wide area network or a local area network, or a combination of the two.
[0108] Terminal 400 is used to display a first window on human-computer interaction interface 411. In response to a move operation of at least one data object to the first window, at least one data object is displayed in the first window. In response to a sharing trigger operation for at least one data object, at least one data object is sent to server 200 in the form of a data object set. Server 200 is used to allocate storage location for the received data object set and send the storage location to terminal 400. A sharing control carrying the storage location is displayed in the human-computer interaction interface 411 of terminal 400. The sharing control is used to share the data object set with the target object when triggered.
[0109] Taking a teaching scenario as an example, during the teaching process, teachers need to share teaching materials with students, such as courseware, assignment documents, and reference books. In response, the teacher adds these teaching-related data objects to the first window on their terminal 400 (e.g., a computer), triggering a sharing operation. The data is then sent to the server 200, which allocates storage locations for these materials and sends them back to the terminal 400. A sharing control displaying the storage location is then displayed on the teacher's terminal 400, allowing the teacher to share the materials with students. Students can then access and download these teaching materials by clicking the share link on their own terminals (e.g., mobile phones, tablets).
[0110] Taking an advertising design scenario as an example, a design team needs to collaborate on a large advertising project. In response to designers adding their respective design materials, such as initial poster drafts, font files, and image assets, to the first window of the human-computer interaction interface 411 of terminal 400, when the project leader initiates a sharing command, terminal 400 responds to this sharing trigger by sending the materials from multiple designers as a collection of data objects to server 200. Server 200 allocates storage locations for the data object collection and sends these locations to terminal 400. A sharing control carrying the storage location is displayed in the human-computer interaction interface 411 of terminal 400. When triggered, this control allows sharing of the material collection with other team members, facilitating easy viewing and modification.
[0111] Taking an online shopping scenario as an example, during the collaboration between sellers and suppliers, in response to the seller adding data objects such as product sales data and replenishment needs to the first window of the human-computer interaction interface 411 of the terminal 400, the terminal 400, in response to a sharing trigger operation for the data objects, sends the data object set to the server 200. The server 200 allocates storage locations for the data object set and provides feedback to the terminal 400. The human-computer interaction interface 411 of the terminal 400 displays a sharing control carrying the storage location, which is used to share the data with the supplier when triggered. This allows the supplier to obtain relevant information and arrange replenishment and production in a timely manner.
[0112] Taking a scientific research and innovation scenario as an example, in response to research team members adding their experimental data files, research reports, and other data objects to the first window of the human-computer interaction interface 411 of the terminal 400, the terminal 400 responds to the sharing trigger operation and sends the data of multiple members as a collection of data objects to the server 200. The server 200 allocates storage locations for the collection of data objects and sends them to the terminal 400. The human-computer interaction interface 411 of the terminal 400 displays a sharing control carrying the storage location, which, when triggered, allows access to the research data of other members for joint analysis and discussion.
[0113] In some embodiments, server 200 may be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. Terminals and servers can be connected directly or indirectly via wired or wireless communication, which is not limited in this embodiment.
[0114] See Figure 2 , Figure 2 This is a schematic diagram of the structure of the terminal 400 provided in the embodiment of this application. Figure 2 The terminal 400 shown includes at least one processor 410, a memory 450, at least one network interface 420, and a user interface 430. The various components in the terminal 400 are coupled together via a bus system 440. It is understood that the bus system 440 is used to implement communication between these components. In addition to a data bus, the bus system 440 also includes a power bus, a control bus, and a status signal bus. However, for clarity, ... Figure 2 The general labeled all buses as Bus System 440.
[0115] The processor 410 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc.
[0116] User interface 430 includes one or more output devices 431 that enable the presentation of media content, including one or more speakers and / or one or more visual displays. User interface 430 also includes one or more input devices 432, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.
[0117] The memory 450 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state storage, hard disk drives, optical disk drives, etc. The memory 450 may optionally include one or more storage devices physically located away from the processor 410.
[0118] The memory 450 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), and the volatile memory may be random access memory (RAM). The memory 450 described in this application embodiment is intended to include any suitable type of memory.
[0119] In some embodiments, memory 450 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below.
[0120] Operating system 451 includes system programs for handling various basic system services and performing hardware-related tasks, such as the framework layer, core library layer, driver layer, etc., for implementing various basic business functions and handling hardware-based tasks;
[0121] The network communication module 452 is used to reach other electronic devices via one or more (wired or wireless) network interfaces 420, exemplary network interfaces 420 including: Bluetooth, WiFi, and Universal Serial Bus (USB), etc.
[0122] Presentation module 453 is configured to enable the presentation of information (e.g., a user interface for operating peripheral devices and displaying content and information) via one or more output devices 431 (e.g., a display screen, a speaker, etc.) associated with user interface 430;
[0123] The input processing module 454 is used to detect and translate one or more user inputs or interactions from one or more input devices 432.
[0124] In some embodiments, the apparatus provided in this application can be implemented in software. Figure 2 A data object processing device 455 stored in memory 450 is shown. This device can be software in the form of programs and plug-ins, and includes the following software modules: a first display module 4551, a data transmission module 4552, and a second display module 4553. These modules are logically connected and can therefore be arbitrarily combined or further separated according to the functions they implement. The functions of each module will be described below.
[0125] In some embodiments, the terminal or server can implement the data object processing method provided in this application by running various computer-executable instructions or computer programs. For example, computer-executable instructions can be microprogram-level commands, machine instructions, or software instructions. Computer programs can be native programs or software modules in an operating system; they can be native applications (APPs), i.e., programs that need to be installed in the operating system to run, such as instant messaging APPs; or they can be applets that can be embedded in any APP, i.e., programs that only need to be downloaded to a browser environment to run. In summary, the aforementioned computer-executable instructions can be any form of instruction, and the aforementioned computer programs can be any form of application, module, or plugin.
[0126] The data object processing method provided in this application will be described in conjunction with exemplary applications and implementations of the terminals provided in the embodiments of this application.
[0127] See Figure 3A , Figure 3A This is a first flowchart illustrating the data object processing method provided in this application embodiment. Taking the terminal as the execution subject as an example, it will be combined with... Figure 3A The steps shown are explained.
[0128] In step 101, in response to a movement operation on at least one first data object in the human-computer interaction interface, at least one first data object is displayed in a first window of the human-computer interaction interface.
[0129] Here, the first window can be displayed in a fixed position on the human-computer interaction interface, floating with a preset transparency so as not to obscure other elements in the human-computer interaction interface; or it can change position to avoid other elements in the human-computer interaction interface. The shape and size (including length and width) of the first window can also change adaptively.
[0130] In some embodiments, before performing step 101 above, the following process may be performed: displaying a first window of a first size in the human-computer interaction interface.
[0131] As an example, see Figure 4A , Figure 4A This is a first schematic diagram of the file transfer process provided in an embodiment of this application. For example... Figure 4A As shown in the top-level diagram, the human-computer interaction interface displays a first window 461 of a first size, a data object 462, a preset area 463, and other elements 464. At this time, the first window 461 of the first size is displayed in the upper right corner of the human-computer interaction interface, without obscuring other elements 464.
[0132] In some embodiments, when a first window of a first size is displayed in the human-computer interaction interface, a first prompt message is displayed, wherein the first prompt message is used to prompt that at least one first data object be moved to the first window of the first size to trigger the file sharing function.
[0133] As an example, see further. Figure 4A ,like Figure 4A As shown in the top-level diagram, the human-computer interaction interface displays a first window 461 of a first size, a data object 462, a preset area 463, and other elements 464. At this time, the data object 462 is outside the preset area 463, and a first prompt message is displayed in the first window 461 of the first size. The first prompt message is used to prompt the user to move the data object 462 into the first window 461 of the first size to trigger the file sharing function.
[0134] In some embodiments, a first data object is displayed in a first window and stored in the local storage space of the first terminal. Since the local storage space of the terminal does not have the storage limit of the network storage space, the network storage limit can be exceeded. The first data object is displayed in the first window of the human-computer interaction interface in the form of a name or thumbnail.
[0135] In some embodiments, see Figure 3B , Figure 3B This is a second flowchart illustrating the data object processing method provided in this application embodiment. When a first window of a first size is displayed in the human-computer interaction interface, step 101 above can be executed... Figure 3BSteps 1011 and 1012 are implemented, and will be explained in detail below.
[0136] In step 1011, in response to a movement operation of at least one first data object in the human-computer interaction interface toward a first window, the first window is expanded from a first size to a second size.
[0137] Here, the second size is larger than the first size. For example, the second size can be 70 pixels long and 50 pixels wide, while the first size is 50 pixels long and 20 pixels wide.
[0138] In some embodiments, the second size is a fixed size, or the second size is a dynamic size; when the second size is a dynamic size, the second size is positively correlated with the number of first data objects moved to the first window.
[0139] Here, the second size can be a fixed size, for example, the second size is always 70 pixels long and 50 pixels wide; or, the second size is a dynamic size; when the number of first data objects moved to the first window is 3, the length of the second size is 70 pixels and the width is 50 pixels; when the number of first data objects moved to the first window is 6, the length of the second size is 140 pixels and the width is 100 pixels.
[0140] In the above scheme, when the second size is dynamic and positively correlated with the number of first data objects moved to the first window, the window can automatically adjust its size according to the actual amount of content, making the interface layout more flexible and reasonable, and avoiding the problems of content overflow or wasted space that may occur with fixed-size windows. The dynamic changes of the window correspond to the addition of data objects, keeping the entire interface coordinated and consistent during user operation. This consistency helps users form a stable operational understanding, improving their familiarity with the interface and operational efficiency.
[0141] In some embodiments, step 1011 above can be implemented by performing the following process: when at least one first data object is located in a first area of the human-computer interaction interface, and the first window is located in a second area of the human-computer interaction interface, and the first area and the second area do not overlap, in response to moving at least one first data object from the first area to the second area, the first window is expanded from a first size to a second size.
[0142] As an example, see further. Figure 4A ,like Figure 4A As shown in the upper-level diagram, data object 462 is outside the preset area 463 (i.e., the first area). In response to continuing to move data object 462 into the preset area 463 (i.e., the second area), as... Figure 4AAs shown in the human-computer interaction interface in the middle, the first window 461 of the first size becomes the first window 465 of the second size.
[0143] In this embodiment, when a data object is moved from outside a preset area to within the preset area, a first window of a first size is transformed into a first window of a second size. This allows the user to change the window size through a simple movement operation. This interaction method conforms to natural human operating habits and requires no additional complex instructions or operating steps. Simultaneously, the change in window size provides clear visual feedback, allowing the user to clearly perceive that their operation has been successfully responded to by the system, enhancing the user's sense of interaction and the certainty of their operation during the human-computer interaction process.
[0144] In some embodiments, see Figure 3C , Figure 3C This is a schematic diagram of the third process of the data object processing method provided in the embodiments of this application. Step 1011 above can also be achieved through... Figure 3C Steps 10111 and 10112 are implemented, and are explained in detail below.
[0145] In step 10111, in response to a move operation of at least one first data object in the human-computer interaction interface toward the first window, at least one first data object is moved toward the first window according to the direction and trajectory of the move operation.
[0146] In some embodiments, the direction and trajectory of a movement operation can be determined by detecting the operation trajectory during the movement process, such as mouse dragging or touchscreen gesture swiping. Then, at least one first data object is moved towards the first window according to the direction and trajectory of the movement operation. For example, the data object is moved to the upper right corner.
[0147] In step 10112, if the distance between at least one first data object and the first window is less than a distance threshold, the first window is expanded from a first size to a second size.
[0148] Here, the distance threshold can be a preset distance, such as 70 pixels; or it can be determined based on a preset ratio of the distance between the current first data object and the first window. For example, if the distance between the first data object and the first window is 200 pixels and the preset ratio is 30%, then the distance threshold is 60 pixels.
[0149] As an example, see Figure 4B , Figure 4B This is a first schematic diagram of the movement operation provided in an embodiment of this application. For example... Figure 4B As shown, the human-computer interaction interface displays a first window 461 of a first size, a data object 462, and other elements 464. Among them, in Figure 4BIn the upper-level image, the distance L1 between the first window 461 of the first size and the data object 462 is 100 pixels. If the distance threshold is 70 pixels, in response to the data object 462 along... Figure 4B The indicated direction and trajectory move towards the first window 461 of the first size until it reaches the point shown. Figure 4B When the position shown in the lower bitmap is such that the distance L2 between the first window 461 of the first size and the data object 462 is 60 pixels, the first window 461 of the first size becomes the first window 465 of the second size.
[0150] In some embodiments, step 101 above may also be implemented by performing the following processes: in response to a movement operation on at least one first data object in the human-computer interaction interface, displaying a first window of a first size in the human-computer interaction interface; when the distance between at least one data object and the first window is less than a distance threshold, expanding the first window from the first size to a second size; and in response to at least one first data object being moved to the first window of the second size and then released, displaying at least one first data object in the first window of the second size.
[0151] Here, in response to a movement operation on at least one first data object in the human-computer interaction interface, the position of the first window of the first size displayed in the human-computer interaction interface can correspond to the direction of the movement operation on at least one first data object in the human-computer interaction interface. For example, in response to moving at least one first data object to the left of the current position, the position of the first window of the first size is displayed on the left side of the human-computer interaction interface; in response to moving at least one first data object to the right of the current position, the position of the first window of the first size is displayed on the right side of the human-computer interaction interface.
[0152] As an example, see Figure 4D See Figure 4D , Figure 4D This is a third schematic diagram of the movement operation provided in the embodiments of this application. For example... Figure 4D As shown, the human-computer interaction interface for the four stages of the movement operation is displayed from top to bottom. In the first stage of the human-computer interaction interface, data object 462 and other elements 464 are displayed. In response to a movement operation on data object 462, a first window 461 of a first size is displayed in the second stage of the human-computer interaction interface. The distance L1 between the first window 461 of the first size and the data object 462 is 100 pixels.
[0153] If the distance threshold is 70 pixels, the response is for data object 462 along... Figure 4D The indicated direction and trajectory move towards the first window 461 of the first size until it reaches the point shown. Figure 4DWhen the position shown in the third stage is reached, at this time, the distance L2 between the first window 461 of the first size and the data object 462 is 60 pixels, then the first window 461 of the first size becomes the first window 465 of the second size.
[0154] In response to data object 462 being moved to the second-sized first window 465 and then released, as... Figure 4D The fourth stage of the human-computer interaction interface shows that data object 462 is displayed in the first window 465 of the second size.
[0155] In this embodiment, based on the movement distance of the data object, when the data object approaches the first window and the distance is less than a distance threshold, the window automatically expands from a first size to a second size, providing the user with clear and timely visual feedback. This allows the user to clearly perceive that their operation is being responded to correctly, enhancing the user's sense of interaction and participation.
[0156] In some embodiments, when the first window is expanded from a first size to a second size, a second prompt message is displayed, wherein the second prompt message is used to prompt that at least one first data object be moved to the first window of the second size.
[0157] As an example, see further. Figure 4A In response, continue moving the data object 462 to the preset area 463, such as Figure 4A As shown in the human-computer interaction interface in the middle, the first window 461 of the first size becomes the first window 465 of the second size. At the same time, a second prompt message is displayed in the first window 465 of the second size, which prompts the data object 462 to be moved into the first window 465 of the second size.
[0158] See also Figure 3B The following will be an explanation following step 1011 above.
[0159] In step 1012, at least one first data object is displayed in the first window of the second size after being moved to and released from the first window of the second size.
[0160] In some embodiments, a third prompt message is displayed in response to moving at least one first data object into a first window of a second size, wherein the third prompt message prompts the release of at least one first data object to add at least one first data object into the first window of the second size.
[0161] As an example, see further. Figure 4A In response to continue moving the data object 462 into the first window 465 of the second size, such as Figure 4AAs shown in the human-computer interaction interface in the lower bitmap, a third prompt message is displayed in the first window 465 of the second size, which prompts the release of data object 462 so that data object 462 can be added to the first window 465 of the second size, that is, data object 462 is displayed in the first window 465 of the second size.
[0162] This application provides different prompts for different stages of the sharing process, helping users easily understand each operation step. These prompts precisely guide users to the next step, effectively preventing errors caused by user misoperation. By providing staged prompts, users can complete the operation step-by-step according to the instructions. This visual guidance makes complex sharing operations simple and easy to understand, meeting users' needs at different stages and enabling them to move and add data objects more efficiently, thus improving file addition efficiency.
[0163] In some embodiments, see Figure 3D , Figure 3D This is a schematic diagram of the fourth process of the data object processing method provided in the embodiments of this application. Figure 3A Step 101 can also be performed by executing Figure 3D Steps 1013 and 1014 are implemented, and will be explained in detail below.
[0164] In step 1013, in response to the operation of moving at least one first data object in the human-computer interaction interface to the first window, a first window of a first size is displayed in the human-computer interaction interface, and a fourth prompt message is displayed, wherein the fourth prompt message is used to prompt that at least one first data object be moved to the first window by a preset distance so as to display at least one first data object in the first window.
[0165] In some embodiments, when the distance between the data object and the first window is large, in response to the operation of moving at least one first data object toward the first window, a fourth prompt message is displayed to prompt that at least one first data object be moved toward the first window by a preset distance so that at least one first data object can be displayed in the first window.
[0166] As an example, see Figure 4C , Figure 4C This is a second schematic diagram of the movement operation provided in the embodiments of this application; as shown Figure 4C As shown, the human-computer interaction interface displays a first window 461 of a first size, a data object 462, and other elements 464. Among them, in Figure 4CIn the upper part of the image, the distance L3 between the first window 461 of the first size and the data object 462 is 150 pixels. At this time, a fourth prompt message 466 is displayed, which prompts that at least one first data object is moved a preset distance L4 towards the first window (i.e., from point P to point Q) so that the data object 462 can be displayed in the first window.
[0167] In step 1014, in response to the move operation, at least one first data object is moved a preset distance toward the first window, and at least one first data object is displayed in the first window.
[0168] In some embodiments, the preset distance at which at least one first data object is moved toward the first window can be a distance set by the user according to their needs; or it can be a preset ratio of the original distance between at least one first data object and the first window, such as 20%.
[0169] As an example, see further. Figure 4C In response to moving data object 462 from point P to point Q, the following can be triggered: Figure 4C As shown in the lower bit diagram, the first window 461 of the first size becomes the first window 465 of the second size, and at least one first data object is displayed in the first window 465 of the second size.
[0170] Here, if multiple first data objects are selected and dragged in batches, the distance between the multiple first data objects and the first window is taken as the distance between the geometric center of the multiple first data objects and the geometric center of the first window.
[0171] The above settings are applicable when the distance between the first data object and the first window in the human-computer interaction interface is large, which can save operation time. That is, the fourth prompt message is only displayed when the distance is large; otherwise, the first data object needs to be dragged into the first window before it will be displayed in the first window.
[0172] In some embodiments, when there are multiple first data objects, the "displaying at least one first data object in the first window of the human-computer interaction interface" in step 101 above can be presented in any of the following ways:
[0173] Method 1: In the first window of the human-computer interaction interface, multiple thumbnails of the first data objects are displayed in a stacked manner. The thumbnail displayed on top corresponds to any of the following first data objects: the first data object that was last moved to the first window, or the first data object with the highest sharing frequency.
[0174] As an example, the multiple first data objects displayed in the first window are data object 1, data object 2, and data object 3 in the order they were added. Data object 1 is shared 3 times, data object 2 is shared 5 times, and data object 3 is shared 1 time. Therefore, according to the first data object that was last moved to the first window, the first data object corresponding to the thumbnail displayed at the top is data object 3. According to the first data object with the highest sharing frequency, the first data object corresponding to the thumbnail displayed at the top is data object 2.
[0175] Method 2: Display thumbnails of multiple categories of first data objects in a stacked manner. The thumbnail displayed at the top of a category of first data objects corresponds to any of the following first data objects: the first data object that was last moved to the first window, or the first data object with the highest sharing frequency.
[0176] As an example, the multiple first data objects displayed in the first window can be divided into two categories: video and audio. In the video category, the data objects are listed as data object 1, data object 2, and data object 3 in the order they were added. Data object 1 is shared 3 times, data object 2 is shared 5 times, and data object 3 is shared once. In the audio category, the data objects are listed as data object 4 and data object 5 in the order they were added. Data object 4 is shared 4 times, and data object 5 is shared 2 times.
[0177] Based on the first data object that was last moved to the first window, the first data object corresponding to the thumbnail displayed at the top in the video category is data object 3, and the first data object corresponding to the thumbnail displayed at the top in the audio category is data object 4; based on the first data object with the highest sharing frequency, the first data object corresponding to the thumbnail displayed at the top in the video category is data object 2, and the first data object corresponding to the thumbnail displayed at the top in the audio category is data object 4.
[0178] Method 3: Display a stitched image of at least one first data object in the first window of the human-computer interaction interface; wherein, if the number of at least one first data object is less than or equal to the number threshold, the stitched image is obtained by stitching together all the thumbnails of at least one first data object; if the number of at least one first data object is greater than the number threshold, the stitched image is obtained by stitching together the thumbnails of some of the first data objects.
[0179] Here, the data threshold for the data object can be preset by the user, for example, it can be 9.
[0180] As an example, see Figure 11 , Figure 11This is the eighth schematic diagram of the file transfer process provided in the embodiments of this application. Figure 11 The image shows a stitched image of thumbnails when the first window contains 1 data object, 2 data objects, 3 data objects, 4 data objects, 5 data objects, 6 data objects, 7 data objects, 8 data objects, and 9 data objects respectively.
[0181] This application supports displaying at least one data object in the first window in a stacked or spliced manner, allowing users to freely choose the stacking or splicing display method according to their current tasks and needs. The stacking method, by overlapping data objects, greatly reduces the space occupied on the interface, allowing more data objects to be displayed within a limited window area. This is particularly important for situations with large amounts of data, preventing the interface from appearing crowded and cluttered due to excessive data and improving space utilization efficiency. While the splicing method occupies relatively more horizontal or vertical space, it can rationally organize data when multiple data objects need to be displayed simultaneously, making data management more orderly. When quickly locating a specific data object, the stacking method may be easier to find; while when detailed comparisons of multiple data objects are required, the splicing method is more advantageous. This flexibility gives users more control, improving the convenience and comfort of user interaction with the system.
[0182] In some embodiments, before stitching together the thumbnails of at least one first data object to obtain a stitched image of at least one first data object according to method three described above, the partial first data object can be determined by: in response to a selection operation on at least one first data object, the selected first data object is taken as a partial first data object; or, at least one first data object is classified according to the file type of each first data object to obtain at least one classified file; and a first data object is selected from each classified file as a partial first data object.
[0183] As an example, if the number of at least 10 first data objects is 10, then in response to a selection operation on the 10 data objects, the 5 selected data objects out of the 10 data objects can be used as part of the first data objects. Alternatively, the 10 data objects can be categorized, for example, resulting in 3 categories: video, audio, and text. The video category includes data object 1, data object 3, and data object 4; the audio category includes data object 2, data object 6, data object 7, and data object 8; and the text category includes data object 5, data object 9, and data object 10. In this case, data object 1 from the video category, data object 2 from the audio category, and data object 5 from the text category can be used as part of the first data objects.
[0184] In some embodiments, step 101 above, "displaying at least one first data object in the first window of the human-computer interaction interface," can also be presented in the following manner: displaying a stacking identifier of at least one first data object in the first window. See also Figure 3E , Figure 3E This is a schematic diagram of the fifth process of the data object processing method provided in the embodiments of this application. It can be executed... Figure 3E Steps 201 to 204 determine the stack identifier of at least one first data object, as described in detail below.
[0185] In step 201, multiple identifier templates are obtained.
[0186] As an example, see Figure 12 , Figure 12 This is the ninth schematic diagram of the file transfer process provided in the embodiments of this application. Figure 12 Three different logo templates are shown.
[0187] In some embodiments, steps 202 to 203, or step 204, can be performed to determine a stack identifier for at least one first data object from a plurality of identifier templates.
[0188] In step 202, the matching probability of at least one first data object with each identifier template is determined based on the number of at least one first data object.
[0189] In some embodiments, the matching probability between at least one first data object and each identifier template can be determined using a predefined responsive template matching algorithm based on the number of at least one first data object.
[0190] In step 203, the identifier template with the highest matching probability is used as the stack identifier of at least one first data object.
[0191] As an example, if the matching probability of at least one first data object with identifier template 1 is 0.6, the matching probability of at least one first data object with identifier template 2 is 0.1, and the matching probability of at least one first data object with identifier template 3 is 0.3, then identifier template 3 can be used as a stack identifier for at least one first data object.
[0192] In some embodiments, step 204 may also be performed to determine at least one stack identifier of a first data object from a plurality of identifier templates.
[0193] In step 204, in response to the selection operation for multiple identifier templates, the selected identifier template is used as the stack identifier of multiple first data objects.
[0194] As an example, for identifier template 1, identifier template 2 and identifier template 3, in response to a selection operation for the three identifier templates, the selected identifier template 2 can be used as a stacked identifier for multiple first data objects.
[0195] This application embodiment achieves intelligent identifier allocation by acquiring multiple identifier templates and determining the matching probability between each identifier template and the number of first data objects. The identifier template with the highest matching probability is used as the stacked identifier. This process automatically selects the most suitable identifier based on the quantity characteristics of data objects, reducing manual intervention and improving the automation level of identifier generation. In response to the selection operation for multiple identifier templates, the selected identifier template is used as the stacked identifier for multiple first data objects, providing users with the right to manually intervene and allowing them to participate in the identifier selection process, thus enhancing user participation in system use. Users can select the most suitable data object identifier based on their own judgment and experience, thereby improving the user experience.
[0196] In some embodiments, the move operation in step 101 above is used to trigger the display of at least one first data object in the first window in any of the following ways: cutting at least one first data object from its original storage location to the first window; copying at least one first data object to the first window; or creating a shortcut to at least one first data object in the first window.
[0197] It should be noted that when a shortcut to at least one first data object is created in the first window, in response to a share trigger operation for at least one first data object in the first window, when a collection of data objects is sent to the server, it is at least one first data object that is sent, not a shortcut to at least one first data object.
[0198] This application provides three different processing methods: cut, copy, and create shortcuts, which can meet the diverse needs of different users in different scenarios. For situations requiring data movement, cut can be selected; for situations requiring the original data to be retained and a copy created, copy can be selected; for situations requiring quick access but without wanting to move or copy data, create shortcuts can be selected, facilitating data management and operation for users in different system environments.
[0199] In some embodiments, before performing step 101 above, "displaying at least one first data object in the first window of the human-computer interaction interface", the following processing may be performed: displaying multiple candidate processing methods; in response to the selection operation for the multiple candidate processing methods, the selected candidate processing method is taken as the target processing method.
[0200] As an example, if the displayed multiple candidate processing methods are cut, copy, and create shortcut, then in response to the selection operation of multiple candidate processing methods, copy can be selected as the target processing method.
[0201] At this point, the step 101 above, "displaying at least one first data object in the first window of the human-computer interaction interface", can be achieved by performing the following process: displaying at least one first data object in the first window according to the target processing method.
[0202] As an example, at least one first data object can be copied from another location to the first window to display at least one first data object in the first window.
[0203] In some embodiments, a default processing method may also be used to display at least one first data object in the first window. For example, if the default processing method is cut, the data object can be cut from another location and placed into the first window for display.
[0204] In some embodiments, when displaying the first data objects in the first window of the human-computer interaction interface, the following processing can be performed: displaying a move-out control for each first data object in the first window; and moving the first data object corresponding to the move-out control out of the first window in response to a trigger operation on the move-out control.
[0205] Here, when displaying the first data object in the first window of the human-computer interaction interface, a scroll bar or directional control can be displayed in the first window to switch the display of the first data object that was not previously displayed in the first window.
[0206] As an example, see Figure 7 , Figure 7 This is the fourth schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 7 As shown, in Figure 7 The upper view on the right shows a scroll bar 481 and file information 480 of the data objects added in the first window, including the total number of added data objects and the total data volume. Simultaneously, the first six data objects out of the current twelve data objects are displayed on the screen: File 1, File 2, File 3, File 4, File 5, and File 6. At this time, scroll bar 481 is displayed at the top of the screen. Responding to moving scroll bar 481 to the bottom of the screen, the following can be displayed: Figure 7 The lower-level image on the right shows the last six of the twelve data objects displayed on the interface: file 7, file 8, file 9, file 10, file 11, and file 12. Meanwhile, in... Figure 7The upper view on the right shows a move-out control 482 for file 4. In response to a trigger operation on the move-out control 482, file 4 can be moved out of the first window.
[0207] This application embodiment displays a scroll bar or directional control in the first window, enabling users to easily switch between previously undisplayed first data objects. When there are many first data objects that cannot all be displayed on one screen, users can quickly view hidden data objects by dragging the scroll bar or clicking the directional control. Each first data object is equipped with a remove control, which can respond to trigger actions to remove the corresponding data object from the first window. This allows users to easily remove data objects they no longer need by simply clicking the remove control, without complicated procedures. This simple and intuitive interaction method conforms to user operating habits, reduces user operating costs, and enables users to interact with the human-computer interface more smoothly.
[0208] In some embodiments, when displaying the first data objects in the first window, the following processing may be performed:
[0209] See also Figure 3A The following will be an explanation following step 101 above.
[0210] In step 102, in response to a share trigger operation for at least one first data object in the first window, a data object set is sent to the server, wherein the data object set includes at least one first data object in the first window and a display share control, wherein the share control carries the storage location of the data object set in the server.
[0211] In some embodiments, before sending a set of data objects to the server in response to a sharing trigger operation for multiple first data objects in a first window, at least one first data object to be shared can be determined by: in response to a selection operation for multiple first data objects, determining a target data object and using the target data object as at least one first data object.
[0212] As an example, the first window includes data object 1, data object 2, and data object 3. Before sending a set of data objects to the server in response to a sharing trigger operation for multiple first data objects in the first window, in response to a selection operation for data object 2 and data object 3, data object 2 and data object 3 can be selected as at least one first data object to be shared.
[0213] In some embodiments, step 102 above, "in response to a sharing trigger operation for at least one first data object in the first window, sending a data object set to the server and displaying a sharing control," can be implemented by performing the following processing: in response to a sharing trigger operation for at least one first data object in the first window, sending a data object set and a volume parameter of the data object set to the server, receiving a storage location returned by the server after it starts receiving the data object set, wherein the storage location is the location of a pre-allocated storage space for the data object set, and the volume parameter of the storage space is greater than or equal to the volume parameter of the data object set; and displaying a sharing control carrying the storage location.
[0214] Here, in response to a sharing trigger operation targeting at least one first data object in the first window, the terminal can receive a storage location pre-allocated by the server for the data object set. That is, it doesn't need to wait for the data upload to complete before receiving the pre-allocated storage location from the server. The terminal can then display a sharing control based on the received storage location, and data upload and sharing can occur simultaneously. For example, if the storage space has a volume parameter of 10 gigabytes (GB) and the data object set has a volume parameter of 6 gigabytes, the terminal can display a sharing control carrying the storage location after receiving the pre-allocated storage location from the server. It is not necessary to wait for the entire data object set to be sent to the server.
[0215] In some embodiments, the human-computer interaction interface is displayed on a first terminal, and the sharing control is used by a second terminal to perform the following processes: extracting the storage location from the sharing control, the storage location including a start storage location and an end storage location, and sending a file request carrying the storage location to the server.
[0216] See Figure 3F , Figure 3F This is a schematic diagram of the sixth process of the data object processing method provided in this application embodiment. The above file request triggers server execution. Figure 3F The processing steps 301 to 302 are explained in detail below.
[0217] In step 301, if the first data object in the data object set has not been fully received, the currently received first data object in the data object set is read from between the start storage position and the end storage position of the server, the currently sent first data object is sent to the second terminal, and the remaining first data object is sent to the second terminal when the remaining first data object has been fully received.
[0218] As an example, if the storage location of the data object set obtained from the server is [r0, r1, r2, r3, r4, r5], with the starting storage location being r0 and the ending storage location being r5, where [r0, r1] is used to store data object 1, [r1, r2] is used to store data object 2, [r2, r3] is used to store data object 3, [r3, r4] is used to store data object 4, and [r4, r5] is used to store data object 5. If the first data object in the data object set has not been fully received, and storage location r3 is read from between the starting and ending storage locations on the server, then the currently received first data object is determined to be the data object before storage location r3, corresponding to data object 1, data object 2, and data object 3. Data object 1, data object 2, and data object 3 are then sent to the second terminal. After the remaining data objects 4 and 5 are received, they are also sent to the second terminal.
[0219] In step 302, after all the first data objects in the data object set have been received, each first data object in the data object set is read from the storage location on the server and sent to the second terminal.
[0220] As an example, if the storage location of the data object set obtained from the server is [r0, r1, r2, r3, r4, r5], with the starting storage location being r0 and the ending storage location being r5, where [r0, r1] is used to store data object 1, [r1, r2] is used to store data object 2, [r2, r3] is used to store data object 3, [r3, r4] is used to store data object 4, and [r4, r5] is used to store data object 5. After all the first data objects in the data object set have been received, data object 1, data object 2, data object 3, data object 4, and data object 5 corresponding to each storage location are read according to their respective storage locations and sent to the second terminal.
[0221] In this embodiment, the server pre-allocates storage locations, allowing storage space to be planned before data upload, avoiding performance bottlenecks that may occur due to temporary resource allocation during the upload process. When a user triggers a sharing operation, they receive the pre-allocated storage location from the server without waiting for the entire data upload to complete, and the terminal can immediately display a sharing control carrying that location. This provides users with instant feedback, enabling simultaneous data upload and sharing, and giving users greater operational flexibility. Users can send the sharing link to the target during data upload, significantly reducing user waiting time and improving operational efficiency.
[0222] In some embodiments, step 102 above, "in response to a sharing trigger operation for at least one first data object in the first window, sending a data object set to the server and displaying a sharing control", can also be implemented by performing the following process: in response to a sharing trigger operation for at least one first data object in the first window, sending a data object set to the server, receiving a storage location returned by the server after receiving the data object set, wherein the storage location represents the location of the storage space in the server that stores the data object set; and displaying a sharing control carrying the storage location.
[0223] Here, the storage location returned by the server after receiving the data object set includes the starting and ending storage locations of the data object set in the server's storage space, or it includes the starting storage location and offset of the data object set in the server's storage space.
[0224] In this embodiment, the server only returns the storage location after receiving the entire data object set. This means the server has the opportunity to comprehensively check and verify the data, confirming that the received data is completely consistent with the data sent by the client. The storage location returned after data reception is certain and reliable. Simultaneously, after receiving the data object set, the server can accurately understand the size and characteristics of the data, thereby allocating storage resources more rationally. It can select the most suitable storage location and storage method based on factors such as data type and importance, improving the utilization efficiency of storage resources. During data transmission, the server does not need to allocate resources for additional operations such as managing temporary storage locations and generating sharing links. The determination of the storage location and the processing of sharing controls are only performed after data reception is complete, reducing the server's resource consumption during data transmission and improving the overall performance of the server.
[0225] In some embodiments, step 102 above, "in response to a sharing trigger operation for at least one first data object in the first window, sending a data object set to the server and displaying a sharing control," can also be implemented by performing the following processing: in response to a sharing trigger operation for at least one first data object in the first window, generating a storage location of the data object set in the server based on an address generation rule pre-negotiated with the server, and displaying a sharing control carrying the storage location, wherein the address generation rule includes: using the data object set identifier of the data object set as the storage location, the data object set identifier being the integrated result of the hashes of each first data object in the data object set; sending the data object set to the server, wherein the data object set identifier is used for the server to obtain the first data object corresponding to the hash.
[0226] Here, the combined hash result of each first data object in the data object set refers to the concatenation result of the first n bits of the hash of each first data object.
[0227] As an example, if n is 8, the hash representation of data object 1 is Hash1 = a1b2c3d4, the hash representation of data object 2 is Hash2 = e5f6g7h8, and the hash representation of data object 3 is Hash3 = i9j0k1l2. Then, by integrating the hashes of data object 1, data object 2, and data object 3, the integrated result is FinalHash = a1b2c3d4e5f6g7h8i9j0k1l2.
[0228] In some embodiments, the human-computer interaction interface is displayed on a first terminal, and the sharing control is used by a second terminal to perform the following processes: extracting the storage location from the sharing control, the storage location including the hash of each first data object, and sending a file request carrying the storage location to the server.
[0229] See Figure 3G , Figure 3G This is a schematic diagram of the seventh process of the data object processing method provided in this application embodiment. The above file request triggers server execution. Figure 3G The processing steps 303 to 304 are explained in detail below.
[0230] In step 303, if the first data object in the data object set has not been fully received, the currently received first data object corresponding to the hash in the data object set is read from the storage location of the server according to the hash of each first data object, and the currently received first data object is sent to the second terminal. When the remaining first data objects are fully received, the remaining first data objects are sent to the second terminal.
[0231] As an example, if the first data object in the data object set has not been fully received, and the hash value in the data object set is read as e5f6g7h8, corresponding to data object 2, then the already received data object 1 and data object 2 are sent to the second terminal, and when data object 3 is fully received, it is sent to the second terminal.
[0232] In step 304, after all the first data objects in the data object set have been received, each first data object corresponding to each hash in the data object set is read from the storage location in the server, and each first data object in the data object set is sent to the second terminal.
[0233] As an example, if all the first data objects in the data object set have been received, and the hash value in the data object set is read as i9j0k1l2, corresponding to data object 3, then the received data objects 1, 2, and 3 will all be sent to the second terminal.
[0234] This application's embodiments determine the data object corresponding to the hash by reading the hash from the storage location. Based on the hash value, the data object set identifier allows the server to quickly retrieve data objects, improving data transmission efficiency. Each data object has a unique hash value, which the receiver can use to verify data integrity and consistency, ensuring that the data has not been tampered with during transmission. The hash-based storage location supports a distributed storage architecture, enabling efficient caching mechanisms and reducing the transmission of duplicate data, making it particularly suitable for large-scale data transmission.
[0235] In some embodiments, before performing step 102 above, "in response to a sharing trigger operation for at least one first data object in the first window, send a set of data objects to the server and display a sharing control", the following processing may be performed: after any first data object moves to the first window, send the first data object and the volume parameter of the first data object to the server, and receive the storage location returned by the server after it starts receiving the first data object, wherein the storage location is the location of a pre-allocated storage space, and the volume parameter of the storage space adaptively scales according to the volume parameter of the received first data object.
[0236] Here, the storage space volume parameter adaptively scales based on the volume parameter of the received first data object. For example, if the volume parameter of the received data object is 100 megabytes, then the storage space volume parameter is 100 megabytes; if the volume parameter of the received data object is 200 megabytes, then the storage space volume parameter is 200 megabytes. It should be noted that when reading the storage location, reading begins from the starting position, and the reading is complete when the end symbol is encountered.
[0237] In this embodiment, the volume parameters of the pre-allocated storage space adaptively scale based on the volume parameters of the received data objects. This adaptive scaling and on-demand allocation ensures that storage space is dynamically allocated according to the volume parameters of the received data objects. This means that storage space is not wasted; space is allocated only for the data that is actually needed, and there is no need to reserve extra storage space for unused data. By allocating only the required amount of storage space, storage resources can be utilized more efficiently, reducing costs.
[0238] In this case, the above step 102, "in response to a sharing trigger operation for at least one first data object in the first window, send a set of data objects to the server and display a sharing control", can be achieved by performing the following process: in response to a sharing trigger operation for at least one first data object in the first window, display a sharing control carrying the storage location.
[0239] In some embodiments, the human-computer interaction interface is displayed on a first terminal, and the sharing control is used by a second terminal to perform the following processes: extracting a storage location from the sharing control, the storage location including a starting storage location, and sending a file request carrying the storage location to a server.
[0240] See Figure 3H , Figure 3H This is a schematic diagram of the eighth process of the data object processing method provided in this application embodiment. The above file request triggers server execution. Figure 3H The processing steps 305 to 306 are explained in detail below.
[0241] In step 305, if the first data object in the data object set has not been fully received, the first data object that has been fully received is read from the storage space between the start storage location and the end symbol, the first data object that has been fully received is sent, and the remaining first data objects are sent to the second terminal when the remaining first data objects have been fully received.
[0242] As an example, if the storage location of the data object set obtained from the server is [r0, r1, r2, r3, end], with the starting storage location being r0 and the ending symbol being end, where [r0, r1] is used to store data object 1, [r1, r2] is used to store data object 2, [r2, r3] is used to store data object 3, and [r3, end] is used to store data object 4. If the first data object in the data object set has not been fully received, starting from the server's starting storage location and reading to the ending symbol end, it is determined that the currently received first data objects are data object 1, data object 2, and data object 3. Data object 1, data object 2, and data object 3 are then sent to the second terminal. After the remaining data objects 4 and 5 are received, they are also sent to the second terminal.
[0243] In step 306, after the first data object in the data object set has been received, each first data object in the data object set is read from the storage space between the start storage location and the end symbol, and each first data object in the data object set is sent to the second terminal.
[0244] As an example, if the storage location of the data object set obtained from the server is [r0, r1, r2, r3, r4, r5, end], with the starting storage location being r0 and the ending symbol being end, where [r0, r1] is used to store data object 1, [r1, r2] is used to store data object 2, [r2, r3] is used to store data object 3, [r3, r4] is used to store data object 4, and [r4, r5] is used to store data object 5, after the first data object in the data object set has been received, data object 1, data object 2, data object 3, data object 4, and data object 5 corresponding to each position interval are read from the storage space between the starting storage location and the ending symbol, and sent to the second terminal.
[0245] This application embodiment determines successfully received data objects before the end symbol by reading the start and end storage locations in the storage location, and then sends the received data objects to the second terminal. The explicit start and end storage locations simplify the data transmission logic and reduce the complexity of the transmission process. It can send received data objects to the second terminal even when the data has not been fully received, providing a real-time data transmission experience and reducing waiting time. Sending received data objects in batches can more effectively utilize network bandwidth and avoid bandwidth waste. Marking the start and end storage locations ensures the transmission order of data objects and maintains data consistency.
[0246] In some embodiments, the "display sharing control" in step 102 above can be achieved by displaying at least one of the following types of sharing controls:
[0247] Type 1: Copy Link Control. The Copy Link Control is used to automatically paste the storage location of a collection of data objects when triggered.
[0248] Here, the copy link control is used to automatically copy the storage location of a collection of data objects when triggered, so that it can be pasted into the target window. For example, it can be pasted into the instant messaging session window of the target object, or pasted into a webpage.
[0249] As an example, see Figure 8 , Figure 8 This is the fifth schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 8 As shown in the left-hand interface, in response to the triggered operation for file sharing entry 473, the following is displayed: Figure 8 The sharing interface on the right, in Figure 8The sharing interface on the right displays file information 491 for the data object collection, along with three sharing controls corresponding to different sharing methods: a copy link control 492, an instant messaging control 493, and a graphic code control 494. It also displays a create share control 495, used to create a new shared file when triggered. In response to a trigger action on copy link 492, the link to the created shared file can be automatically copied. By copying the link in the target session window with the target object, the data object collection can be shared with the target object.
[0250] Type 2: Instant Messaging Control. When triggered, the instant messaging control displays candidate sessions in the instant messaging session window. In response to the selection of a candidate session, the storage location of a collection of data objects is sent to the target session, which is the selected candidate session.
[0251] As an example, see Figure 9 , Figure 9 This is the sixth schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 9 As shown on the left side of the interface, in response to a trigger operation on the instant messaging control 493, the instant messaging interface shown on the right side of 9 is displayed. Figure 9 The instant messaging interface on the right displays four conversation windows: conversation window 1, conversation window 2, conversation window 3, and conversation window 4. In response to a trigger operation on conversation window 4, a collection of data objects can be shared with the target object corresponding to conversation window 4.
[0252] Type 3: Graphic code control. When triggered, the graphic code control displays a graphic code (such as a barcode or QR code) that carries the storage location of a collection of data objects. The graphic code is used to be scanned or saved locally.
[0253] As an example, see Figure 10 , Figure 10 This is the seventh schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 10 As shown on the left side of the interface, in response to a trigger operation on the graphic code control 494, the following is displayed: Figure 10 The graphic code 496 on the right displays file information (including data size and validity period) of the shared file created by user A, and shows a copy control 497 and a graphic code save control 498. The copy control 497 is used to copy the graphic code to other session windows, and the graphic code save control 498 is used to save it to the local terminal for later sharing.
[0254] In response to a sharing trigger operation targeting at least one data object, embodiments of this application can display at least one of a copy link control, an instant messaging control, and a graphic code control. The copy link control is suitable for sharing data to various platforms that support text input, such as forums and email; the instant messaging control facilitates direct sharing to contacts in an instant messaging client; and the graphic code control enables quick sharing between mobile devices via scanning. These diverse sharing methods help data objects spread more widely, allowing users to choose the most suitable sharing method according to their needs, greatly improving sharing efficiency and promoting rapid data dissemination.
[0255] In some embodiments, see Figure 3I , Figure 3I This is a schematic diagram of the ninth process of the data object processing method provided in this application embodiment. Before displaying at least one type of sharing control, the following can be executed: Figure 3I Steps 401 to 405 are explained in detail below.
[0256] In step 401, at least one of the following is displayed: a file sharing entry, a file adding entry, and a file viewing entry.
[0257] As an example, see Figure 5 , Figure 5 This is a second schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 5 As shown, the first window of the second size displays three function entry points: file addition entry 471, file viewing entry 472, and file sharing entry 473. In response to a trigger operation for each function entry point, the addition, viewing, and sharing of data objects can be achieved respectively.
[0258] In step 402, in response to a trigger operation on the file sharing entry, the process jumps to the step of displaying at least one type of sharing control.
[0259] As an example, see Figure 8 , Figure 8 This is the fifth schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 8 As shown in the left-hand interface, in response to the triggered operation for file sharing entry 473, the following is displayed: Figure 8 The sharing interface on the right, in Figure 8 The sharing interface on the right displays file information 491 of a collection of data objects, as well as three sharing controls corresponding to different sharing methods: a copy link control 492, an instant messaging control 493, and a graphic code control 494. It also displays a create share control 495, which is used to create a new shared file when triggered.
[0260] In step 403, in response to a triggering operation that adds an entry to a file, at least one candidate data object is displayed.
[0261] As an example, see Figure 6 , Figure 6 This is a third schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 6 As shown in the interface on the left, the first window displays stack markers for 11 files. In response to the trigger operation of adding entry 471 to the file, the following display appears: Figure 6 The middle candidate file list includes candidate file 1, candidate file 2, and candidate file 3.
[0262] In step 404, in response to a selection operation for at least one candidate data object, the selected candidate data object is added to the first window.
[0263] As an example, see further. Figure 6 For candidate file 1, candidate file 2, and candidate file 3 in the candidate file list, in response to the selection operation for candidate file 2, candidate file 2 is used as the target data object. In response to the trigger operation for the confirmation control 474, the following is displayed: Figure 6 On the right side of the interface, the first window displays stack markers for 12 files, indicating that the data objects added in the first window include the newly added target data objects.
[0264] In step 405, in response to a trigger operation on the file viewing entry, the identifier of each first data object is displayed.
[0265] As an example, see Figure 7 , Figure 7 This is the fourth schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 7 As shown, in response to Figure 7 The trigger operation for file viewing entry 472 in the left-hand interface is... Figure 7 The upper view on the right shows a scroll bar 481 and file information 480 of the data objects added in the first window, including the total number of added data objects and the total data volume. Simultaneously, the first six data objects out of the current twelve data objects are displayed on the screen: File 1, File 2, File 3, File 4, File 5, and File 6. At this time, scroll bar 481 is displayed at the top of the screen. Responding to moving scroll bar 481 to the bottom of the screen, the following can be displayed: Figure 7 The lower-level image on the right shows the last 6 of the 12 data objects displayed on the interface, including file 7, file 8, file 9, file 10, file 11, and file 12.
[0266] The first window of this application embodiment displays a file addition entry, a file viewing entry, and a file sharing entry. In response to the trigger operation for each function entry, the addition, viewing, and sharing of data objects can be realized respectively. Common functions such as file sharing, addition, and viewing are intuitively displayed in the first window as entry points, eliminating the need for users to search for corresponding functions in complex menus or settings. This reduces the complexity and difficulty of operation, meets diverse user scenarios, and provides users with a more personalized operating experience.
[0267] In some embodiments, the "sending a set of data objects to the server" step 102 above can be achieved by performing the following processing: sending each first data object to the server in the order in which each first data object in the data object set is added to the first window, or sending at least one first data object in the data object set to the server simultaneously in parallel.
[0268] As an example, if the data objects added to the first window are data object 1, data object 2, and data object 3, they can be sent to the server sequentially according to the order in which they were added, or the three data objects can be sent to the server simultaneously in parallel.
[0269] This application embodiment sends data objects sequentially according to the order in which they were added to the data object set, ensuring data orderliness and consistency. This is crucial for application scenarios that require maintaining data order (such as logging and transaction processing). Sequential sending simplifies error handling; if a problem occurs during transmission, only the current data object needs to be processed without affecting the transmission of subsequent data objects. Sequential sending typically has lower requirements for network bandwidth and server resources, making it suitable for resource-constrained environments. Parallel sending of multiple data objects can significantly improve data transmission efficiency, especially in environments handling large amounts of data or high-latency networks, reducing overall transmission time. Through the above solutions, different sending methods can be selected based on the user's resource environment, thereby ensuring data transmission performance.
[0270] In some embodiments, see Figure 3J , Figure 3J This is a schematic diagram of the tenth process of the data object processing method provided in this application embodiment. The step 102 above, "sending a set of data objects to the server," can also be executed by... Figure 3J Steps 1021 to 1023 are implemented, and the details are explained below.
[0271] In step 1021, file information for each first data object in the data object set is obtained.
[0272] In some embodiments, the corresponding parsing tool can be invoked to parse the first data object according to its type.
[0273] As an example, you can use Python's built-in modules and third-party libraries to parse different types of data objects. For example, you can use the Python image processing library (Pillow) to obtain image information, the Python video processing library (moviepy) to obtain video information, and the Python audio processing library (pydub) to obtain audio information. For text files, you can call the built-in open function to read the text information directly.
[0274] In step 1022, based on the file information, a pre-trained machine learning model is invoked to predict the probability of each first data object being shared.
[0275] In some embodiments, a pre-trained machine learning model can be invoked to extract features from the file information, obtain information features, and predict the sharing probability of each first data object based on the information features. The pre-trained machine learning model can achieve this by performing the following processes: obtaining sample file information and a reference probability of each sample file being shared; invoking an initialized machine learning model to predict the sample file information, obtaining a predicted probability of each sample file being shared; determining a loss value based on the difference between the reference probability and the predicted probability of each sample file being shared; and updating the parameters of the machine learning model using a backpropagation algorithm based on the loss value.
[0276] As an example, the machine learning model can be a pre-trained deep learning model, such as a fully connected neural network (Multilayer Perceptron, MLP), a convolutional neural network (CNN), a recurrent neural network (RNN), a variational autoencoder (VAE), a Transformer, a long short-term memory network (LSTM), and a proximal policy optimization (PPO) model, etc.
[0277] As an example, the loss function used to determine the loss value can be a loss function such as Mean Squared Error (MSE), Root Mean Squared Error (RMSE), Mean Absolute Error (MAE), or Cross-Entropy Loss.
[0278] In step 1023, the first data objects are sorted in descending order according to the sharing probability, and the first data objects are sent to the server sequentially, starting from the first first data object in descending order.
[0279] As an example, the sharing probabilities of the three first data objects in the first window are as follows: the sharing probability of data object 1 is 0.15, the sharing probability of data object 2 is 0.6, and the sharing probability of data object 3 is 0.25. Then, according to the sharing probability, the first data objects are arranged in descending order as data object 2, data object 3, and data object 1. Starting from the first first data object in descending order, the first data objects are sent to the server in sequence, that is, data object 2, data object 3, and data object 1 are sent to the server in sequence.
[0280] This application embodiment predicts the sharing probability of each data object by calling a pre-trained machine learning model, and determines the order in which data objects are sent to the server based on the sharing probability of each data object. During the data transmission process, these data objects with a high probability of being shared are sent first, which enables the server to receive the data needed by the user more quickly and speeds up the dissemination and utilization of data.
[0281] In some embodiments, see Figure 3K , Figure 3K This is a schematic flowchart of the eleventh step of the data object processing method provided in this application embodiment. During execution... Figure 3B After step 1011, "in response to the operation of moving at least one first data object in the human-computer interaction interface to the first window, expanding the first window from a first size to a second size", the following can be executed: Figure 3K Steps 501 to 504 are explained in detail below.
[0282] In step 501, a second window is displayed in response to a triggering operation on a file sending control in the instant messaging program.
[0283] As an example, see Figure 13 , Figure 13 This is the tenth schematic diagram of the file transfer process provided in the embodiments of this application, as shown below. Figure 13As shown in the upper diagram, the instant messaging interface 512 displays a friend adding control 513 and a file sending control 514. In response to a trigger operation on the file sending control 514 in the instant messaging interface 512, Figure 13 The second window 515 is displayed in the human-computer interaction interface at the bottom.
[0284] In some embodiments, when the second window is displayed, if the transfer history tab is in the foreground in the second window, the first window is displayed in response to a movement operation for at least one third data object, and at least one third data object is displayed in the first window.
[0285] Here, when the transmission history tab is in the foreground in the second window, in response to a move operation targeting at least one third data object, the first window can be redisplayed, and at least one third data object can be displayed in the first window.
[0286] As an example, see Figure 14 ,exist Figure 14 In the human-computer interaction interface on the lower side, a second window 515 is displayed. The second window 515 includes a file sending tab 516 and a transfer history tab 517. At this time, the transfer history tab 517 is in the foreground display state. In this case, in response to a movement operation for at least one third data object, the first window can be redisplayed. In response to continuing to move the third data object to the first window, at least one third data object is displayed in the first window.
[0287] In some embodiments, see Figure 3L , Figure 3L This is a schematic diagram of the twelfth step of the data object processing method provided in this application embodiment. After executing the "display second window" step 501 above, the following can be executed: Figure 3L Steps 601 to 602 are explained in detail below.
[0288] In step 601, in response to a move operation of at least one second data object to a second window, at least one second data object is displayed in the second window.
[0289] In some embodiments, the second window includes a file sending tab; step 601 above can be implemented by performing the following process: when the file sending tab in the second window is in the foreground display state and the second window is in the top display state, in response to the operation of moving at least one second data object to the file sending tab, at least one second data object is displayed in the file sending tab.
[0290] As an example, see Figure 14 ,exist Figure 14In the lower human-computer interaction interface, a second window 515 is displayed. The second window 515 includes a file sending tab 516 and a transfer history tab 517. At this time, the transfer history tab 517 is in the foreground display state. In this case, in response to the operation of moving at least one second data object to the file sending tab 516 of the second window 515, at least one second data object can be displayed in the file sending tab 516 of the second window 515.
[0291] In some embodiments, the second window includes a file sending tab and a transfer history tab; see also Figure 3M , Figure 3M This is a schematic diagram of the thirteenth step of the data object processing method provided in this application embodiment. Step 601 above can also be executed... Figure 3M Steps 6011 to 6013 are implemented, and the details are explained below.
[0292] In step 6011, when the file sending tab is in the foreground state in the second window and the second window is not in the top state, in response to a move operation for at least one second data object, the first window is displayed during the period when the move operation is held.
[0293] In some embodiments, after performing "display the first window" in step 6011, the following steps 6012 or 6013 may be performed.
[0294] In step 6012, in response to at least one second data object being moved to the first window and then released, the transfer history tab is switched to the foreground display state, and at least one second data object is displayed in the transfer history tab.
[0295] In some embodiments, when the file sending tab is in the foreground display state in the second window and the second window is not in the top display state, in response to a move operation for at least one second data object, after the first window is displayed during the period the move operation is held, in response to at least one second data object being moved to the first window and then released, the transmission history tab is switched to the foreground display state, and at least one second data object is displayed in the transmission history tab.
[0296] In step 6013, in response to at least one second data object being moved to the file sending tab and then released, at least one second data object is displayed on the file sending tab, and the first window is closed.
[0297] In some embodiments, when the file sending tab is in the foreground state in the second window and the second window is not in the top state, in response to a move operation for at least one second data object, after the first window is displayed during the period the move operation is held, in response to at least one second data object being moved to the file sending tab and then released, at least one second data object is displayed in the file sending tab and the first window is closed.
[0298] See also Figure 3L The following will be an explanation following step 601 above.
[0299] In step 602, in response to a share trigger operation for at least one second data object in the second window, a data object set is sent to the server, wherein the data object set includes at least one second data object in the second window and a display share control, wherein the share control carries the storage location of the data object set in the server.
[0300] In some embodiments, the implementation process of "sending a set of data objects to the server and displaying a sharing control in response to a sharing trigger operation for at least one second data object in the second window" in step 602 above is the same as in step 102 above, and will not be repeated here.
[0301] See also Figure 3K The following will be an explanation following step 501 above.
[0302] In step 502, if there is no first data object in the first window, the first window is closed.
[0303] In some embodiments, if the first data object is not present in the first window when the second window is displayed, the first window is closed directly.
[0304] In step 503, if there is a first data object in the first window and the first data object has not been sent to the server, then the first data object is synchronized to the second window and the first window is closed.
[0305] As an example, see Figure 13 ,like Figure 13 As shown in the upper diagram, an instant messaging interface 512 is displayed, which includes a friend-adding control 513 and a file-sending control 514. When the first window 511 is displayed, in response to a trigger operation on the file-sending control 514 in the instant messaging interface 512, Figure 13 The human-computer interaction interface at the bottom displays the second window 515. Since the first window 511 includes shared files, the first data object is first synchronized to the second window 515, and then the first window 512 is closed.
[0306] In step 504, if there is a first data object in the first window and the first data object is being sent to the server, the sending status of the first data object is displayed in the second window, and the first window is closed.
[0307] In some embodiments, if a first data object is present in the first window and the first data object is being sent to the server, the sending status of the first data object is displayed in the second window, and the first window is closed.
[0308] This application embodiment enables data linkage between the first and second windows. When the file sending tab is in the foreground and the second window is on top, the user can move at least one second data object to the file sending tab, and these data objects will be immediately displayed on that tab. This process aligns with the user's intuitive operational expectations; the user does not need to perform additional window switching or tab selection operations, and can quickly place data objects to the target location, greatly improving operational convenience. The second window has a file sending tab and a transmission history tab, and different operation response logic is designed for different tabs, helping users distinguish and utilize different functions, allowing users to perform multitasking according to their needs. Windows are displayed and closed appropriately based on their display status and user operations. The first window is displayed during data object movement operations to provide operational reference for the user; after the operation is completed, the first window is closed as needed to avoid interface clutter caused by too many windows. This window management method makes the interface more concise, allowing users to focus more on the current operation and optimizing the entire operation process.
[0309] In some embodiments, the first window is a window independent of the operating program in the terminal; or, the first window is a window for the file sending function built into the instant messaging program of the terminal.
[0310] When the first window is independent of the operating program in the terminal, it can be used in parallel with multiple operating programs without being restricted by other programs. When running and displaying, it will not affect the performance of other operating programs too much. Users can customize the independent window according to their own needs, such as adjusting the window size and position, to meet their personalized operating habits.
[0311] When the first window is the built-in file sending function window of the terminal's instant messaging program, it means that the first window is tightly integrated with the instant messaging program. Users can directly perform file sending operations within the communication interface without switching between multiple programs. During file sending, the system automatically associates with the instant messaging user, allowing for quick selection of the recipient. Due to its integration with the instant messaging program, the file sending process can utilize the instant messaging program's security mechanisms, such as encrypted transmission and authentication, to ensure the security of file transfer.
[0312] In summary, this embodiment adds at least one data object to a first window by moving it. This simple movement operation allows data objects (such as files and folders) to be added to a specified window in an intuitive way that aligns with users' daily operating habits. Compared to selecting and adding data one by one, this significantly saves time and improves operational efficiency. In response to a sharing trigger operation for at least one data object in the first window, the at least one data object is sent to the server as a data object collection, facilitating unified management and operation of the data objects within the collection. A sharing control is displayed, carrying the storage location of the data object collection on the server. This allows users to share the data object collection with other users or platforms simply by clicking the sharing control. Furthermore, the storage location of the data object collection on the server carried by the sharing control ensures that the recipient can accurately access and retrieve this data.
[0313] The following will describe an exemplary application of the embodiments of this application in a real-world instant messaging interactive scenario.
[0314] During instant messaging, users can only send files through the instant messaging client's session window; however, this method has some obvious limitations.
[0315] First, the amount of data that can be sent is limited; for example, only 4 gigabytes (GB) of data can be sent, which is particularly inconvenient for users who need to transfer large files.
[0316] Secondly, instant messaging clients do not support sending multiple files or folders simultaneously, requiring each file to be sent separately. This not only makes the chat window overly cluttered, negatively impacting user experience, but also forces users to sift through a large amount of history to find specific files, causing confusion in information management and making it difficult to efficiently locate the desired file. For example, if a user wants to send 20 photos, it will generate 20 separate messages, resulting in an overly cluttered chat window and making file searching and management extremely difficult.
[0317] Furthermore, cross-platform file transfer between different application platforms is limited by the amount of data that can be transferred. For example, some application platforms have a maximum file size limit of 1GB. This limitation poses numerous challenges for users when sharing files across different application platforms, increasing the complexity and time cost of the operation. Therefore, how to share files more efficiently and conveniently to improve the user experience and simplify the file management process has become an urgent problem to be solved in the file sharing process.
[0318] The data object processing method provided in this application offers a way to quickly create shared files via a floating window (corresponding to the first window mentioned above), enabling more efficient and convenient file sharing and significantly improving the overall experience of file management and sharing. First, it allows users to directly drag and drop multiple files or folders from the user interface into the floating window to easily add files or folders to be shared, avoiding the tedious steps of sending them one by one and significantly improving file sharing efficiency. Second, in response to a sharing trigger operation for an added file, during the process of uploading the file to the server, users do not need to wait for the upload to complete; they can share across applications by copying a link or QR code, or directly forward it to a target in an instant messaging session. This greatly simplifies the complexity of cross-platform file transfer and improves the user experience. Finally, multiple shared files are displayed as a file collection, making it easier for users to find and manage files, completely eliminating the scattered transmission experience.
[0319] The data object processing method provided in this application embodiment allows users to select files or folders (corresponding to data objects above) from different locations on the terminal. In response to moving any file into the floating window and releasing it, the file can be added to the floating window for later sharing. Simultaneously, the size of the floating window automatically adjusts according to the area where the user moves the file, ensuring convenient operation without interfering with other user activities. The data object processing method provided in this application embodiment is described below.
[0320] First, in response to a data object movement operation, a first window of a first size is displayed in the human-computer interaction interface, along with a first prompt message suggesting that the data object be moved into the first window of the first size to trigger file sharing. At this point, the data object is outside a preset area. In response to further moving the data object into the preset area, the first window expands from the first size to a second size. At this point, a second prompt message is displayed, suggesting that the data object be moved into the first window of the second size. In response to further moving the data object into the first window of the second size, a third prompt message is displayed, suggesting that the data object be released to add another data object.
[0321] As an example, see Figure 4A , Figure 4A This is a first schematic diagram of the file transfer process provided in an embodiment of this application. For example... Figure 4AAs shown in the top-level diagram, the human-computer interaction interface displays a first window 461 of a first size, a data object 462, a preset area 463, and other elements 464. At this time, the data object 462 is outside the preset area 463, and a first prompt message is displayed in the first window 461 of the first size. The first prompt message is used to prompt the user to move the data object 462 into the first window 461 of the first size to trigger the sharing function.
[0322] In response to continue moving data object 462 to the preset area 463, such as Figure 4A As shown in the human-computer interaction interface in the middle, the first window 461 of the first size becomes the first window 465 of the second size. At the same time, a second prompt message is displayed in the first window 465 of the second size, which prompts the data object 462 to be moved into the first window 465 of the second size.
[0323] In response to the continued movement of data object 462 into the first window 465 of the second size, such as Figure 4A As shown in the human-computer interaction interface in the lower bitmap, a third prompt message is displayed in the first window 465 of the second size, which prompts the release of data object 462 so that data object 462 can be added to the first window 465 of the second size and displayed.
[0324] After moving multiple data objects into the first window of the second size, the data objects in the first window of the second size can be presented in a stacked manner. This method conforms to the user's natural drag-and-drop and placement habits, which can improve the intuitiveness of the operation. At the same time, it supports sharing added data objects, adding new data objects, and viewing added data objects.
[0325] As an example, see Figure 5 , Figure 5 This is a second schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 5 As shown, the first window of the second size displays three function entry points: file addition entry 471, file viewing entry 472, and file sharing entry 473. In response to a trigger operation for each function entry point, the addition, viewing, and sharing of data objects can be achieved respectively.
[0326] See also: As an example of adding a data object Figure 6 , Figure 6 This is a third schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 6 As shown in the interface on the left, the first window displays stack markers for 11 files. In response to the trigger operation of adding entry 471 to the file, the following display appears: Figure 6The middle candidate file list includes candidate file 1, candidate file 2, and candidate file 3. In response to a selection operation on candidate file 2, candidate file 2 is used as the target data object. In response to a trigger operation on the confirmation control 474, the following is displayed: Figure 6 On the right side of the interface, the first window displays stack markers for 12 files, indicating that the data objects added in the first window include the newly added target data objects.
[0327] See also: As an example of viewing data objects Figure 7 , Figure 7 This is the fourth schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 7 As shown, in response to Figure 7 The trigger operation for file viewing entry 472 in the left-hand interface is... Figure 7 The upper view on the right shows a scroll bar 481 and file information 480 of the data objects added in the first window, including the total number of added data objects and the total data volume. Simultaneously, the first six data objects out of the current twelve data objects are displayed on the screen: File 1, File 2, File 3, File 4, File 5, and File 6. At this time, scroll bar 481 is displayed at the top of the screen. Responding to moving scroll bar 481 to the bottom of the screen, the following can be displayed: Figure 7 The lower-level image on the right shows the last 6 of the 12 data objects displayed on the interface, including file 7, file 8, file 9, file 10, file 11, and file 12.
[0328] See also: As an example of sharing data objects Figure 8 , Figure 8 This is the fifth schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 8 As shown in the left-hand interface, in response to the triggered operation for file sharing entry 473, the following is displayed: Figure 8 The sharing interface on the right, in Figure 8 The sharing interface on the right displays file information 491 of a collection of data objects, as well as three sharing controls corresponding to different sharing methods: a copy link control 492, an instant messaging control 493, and a graphic code control 494. It also displays a create share control 495, which is used to create a new shared file when triggered.
[0329] It's important to note that in response to a trigger action targeting the file sharing entry, the upload of a collection of data objects begins. Subsequent trigger actions targeting sharing controls can then automatically share the data collection according to the methods corresponding to each sharing control, without waiting for the data upload to complete. For example, simultaneously with the upload of the data collection, a sharing link or QR code is automatically generated, allowing users to select the target objects to share with across applications.
[0330] The three sharing controls displayed on the sharing interface can share a collection of data objects to the target object according to different sharing methods when triggered. Details are explained below.
[0331] As an example, see Figure 9 , Figure 9 This is the sixth schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 9 As shown in the left-hand interface, in response to a trigger operation on copy link 492, the link to the created shared file can be automatically copied. By copying the link in the target session window with the target object, the data object collection can be shared with the target object. In response to a trigger operation on the instant messaging control 493, the instant messaging interface shown on the right-hand side of 9 is displayed. Figure 9 The instant messaging interface on the right displays four conversation windows: conversation window 1, conversation window 2, conversation window 3, and conversation window 4. In response to a trigger operation on conversation window 4, a collection of data objects can be shared with the target object corresponding to conversation window 4.
[0332] As an example, see Figure 10 , Figure 10 This is the seventh schematic diagram of the file transfer process provided in the embodiments of this application. For example... Figure 10 As shown on the left side of the interface, in response to a trigger operation on the graphic code control 494, the following is displayed: Figure 10 The graphic code 496 on the right displays file information (including data size and validity period) of the shared file created by user A, and shows a copy control 497 and a graphic code save control 498. The copy control 497 is used to copy the graphic code to other session windows, and the graphic code save control 498 is used to save it to the local terminal for later sharing.
[0333] In some embodiments, the collection of data objects in the first window can be presented as a series of thumbnails to quickly convey the file content. Simultaneously, sharing files as a collection of data objects allows users to easily find and manage multiple files, avoiding the information disorganization problems inherent in traditional file transfers.
[0334] As an example, see Figure 11 , Figure 11 This is the eighth schematic diagram of the file transfer process provided in the embodiments of this application. Figure 11 The image shows a stitched image of thumbnails when the first window contains 1 data object, 2 data objects, 3 data objects, 4 data objects, 5 data objects, 6 data objects, 7 data objects, 8 data objects, and 9 data objects respectively.
[0335] Here, the dynamic image stitching is implemented based on an adaptive grid layout-based cover image dynamic compositing system, achieving multi-image stitching through a predefined responsive template matching algorithm. Nine standardized grid layout templates are built into the terminal backend, automatically selecting the optimal layout scheme based on the number of input data objects (1-9). The technical implementation employs an off-screen Canvas rendering engine, completing multi-image decoding, size normalization, anti-aliasing rendering, and pixel-level compositing in memory. It outputs a JPEG / PNG format binary data stream conforming to the DCI-P3 color gamut. Combined with Node.js's non-blocking I / O architecture, high-concurrency writing is achieved through the fs module's Stream pipeline and Buffer operations, persisting the stitched image to the terminal's storage medium. Simultaneously, an LRU caching strategy optimizes the memory reclamation mechanism.
[0336] As an example, see Figure 12 , Figure 12 This is the ninth schematic diagram of the file transfer process provided in the embodiments of this application. Figure 12 Three different mosaic layouts are shown (corresponding to the label templates mentioned above).
[0337] The first window in the above solution is a method for quickly creating and sharing files, which only appears when the user drags and drops a file. In addition, this application embodiment provides a centralized interface built into the instant messaging program on the terminal (corresponding to the second window mentioned above). The added files in the first window and the second window are interconnected, but the windows are mutually exclusive, allowing the user to focus on a single scenario.
[0338] In some embodiments, when the first window is displayed, in response to a triggering operation on a file transfer control in the instant messaging interface, a second window may be opened and the first window hidden.
[0339] As an example, see Figure 13 , Figure 13 This is the tenth schematic diagram of the file transfer process provided in the embodiments of this application, as shown below. Figure 13 As shown in the upper diagram, a first window 511 is displayed in the human-computer interaction interface. The first window 511 displays a file addition entry 471, a file viewing entry 472, and a file sharing entry 473. Simultaneously, an instant messaging interface 512 is displayed, which displays a friend addition control 513 and a file sending control 514. With the first window 511 displayed, in response to a trigger operation on the file sending control 514 in the instant messaging interface 512, Figure 13The lower human-computer interaction interface displays a second window 515, which includes a file sending tab 516 and a transfer history tab 517. At this time, the file sending tab 516 is in the foreground display state, and the file sending tab 516 displays a file adding entry 518, a file viewing entry 519, and a file sharing entry 520.
[0340] In some embodiments, in response to a trigger operation on the transfer history control of the first window, the transfer history tab of the second window can be opened directly, and the first window can be hidden.
[0341] As an example, see Figure 14 , Figure 14 This is the eleventh schematic diagram of the file transfer process provided in the embodiments of this application, as shown below. Figure 14 As shown in the upper diagram, the human-computer interaction interface displays a first window 511, which includes a transfer history control 521, a file addition entry 471, a file viewing entry 472, and a file sharing entry 473. Simultaneously, an instant messaging interface 512 is also displayed. In response to a trigger operation on the transfer history 521, in... Figure 14 The lower human-computer interaction interface displays a second window 515, which includes a file sending tab 516 and a transmission history tab 517. At this time, the transmission history tab 517 is in the foreground display state, and displays a collection of historically transmitted data objects, including shared file 1, shared file 2, shared file 3 and shared file 4.
[0342] In some embodiments, the mutual exclusion logic between the first window and the second window is as follows:
[0343] 1. When the first window is opened, in response to the opening operation of the second window, perform any of the following actions:
[0344] If there are no data objects in the first window, close the first window directly.
[0345] If there are data objects in the first window, but the data objects have not been sent to the server, synchronize the data objects in the first window to the second window and close the first window.
[0346] If there is a data object in the first window and the data object is being sent to the server (including the status of uploading and upload completed), close the first window and display the file upload status in the second window.
[0347] 2. When the second window opens, in response to a move operation on a data object, perform any of the following actions:
[0348] If the file sending tab in the second window is in the foreground and the second window is in the top view, then the first window will not appear.
[0349] If the file sending tab in the second window is in the foreground and the second window is not in the top position, the first window is displayed in response to a move operation on the data object; in response to a release operation on the data object, the file sending tab in the second window switches to the transfer history tab.
[0350] If the file sending tab in the second window is in the foreground, and the second window is not in the top position, the first window is displayed in response to a move operation on the data object; if the move operation is maintained, the data object is moved to the second window and released, and the first window is hidden.
[0351] When the transfer history tab in the second window is displayed in the foreground, the first window can be opened normally in response to a move operation on a data object.
[0352] In some embodiments, a multimodal event-driven architecture is adopted. Window state persistence is achieved through Document Object Model (DOM) event detection and Viewport coordinate system calculation. An activation maintenance mechanism based on user intent prediction is constructed. This involves multi-channel event fusion, including PointerEvent capture (click / long press / swipe), KeyboardEvent response (shortcut key binding), and MutationObserver state synchronization. Combined with anti-shake strategies and hierarchical weight calculation, this ensures that the first window maintains a modal state (non-hidden state) during interaction. The 3D interaction strategy can be implemented by the window control module: a) Hierarchical management, supporting dynamic Z-index stacking and window-on-top mode switching; b) Deformation control, dynamic scaling, and adaptive size adjustment based on the application programming interface ResizeObserver; c) Constraint mode, achieving safe area restrictions through boundary collision detection and minimizing size thresholds; d) Positioning system, integrating the Drag-and-Drop API and transform3D hardware acceleration to achieve sub-pixel-level drag positioning.
[0353] The first window provided in this embodiment utilizes Electron's window mechanism to implement an interactive, multi-state, and multi-functional application. This allows users to quickly preprocess file information by dragging and dropping files, upload files to the server after a simple operation, and finally share them with friends on an instant messaging interface via a message channel or with multiple devices via an HTTP link. The first window supports drag-and-drop file handling, dynamic calculations, window showing / hiding, user data management, file uploading, and link sharing. These are described in detail below.
[0354] In some embodiments, the Electron mechanism supports multi-window management and uses a BrowserWindow single-instance cross-platform window.
[0355] First, the initial state of the first window is set with fixed width and height and cannot be dragged. The window size can be dynamically adjusted later. For example, when editing and previewing, the window size can be adjusted to view the list of added files, but when returning to the editing state, the fixed width and height will be restored.
[0356] Secondly, the operating system's toolbar is hidden, and the window supports a frosted glass effect, allowing for a noticeable increase in the window's transparency when dragging it.
[0357] Next, set the window type of the first window to panel. This usually means that this window is lightweight and may have a special role in the user interface, such as a floating window or a toolbar. It plays a crucial role in handling focus issues between windows, as it may either cover the main window or remain visible while the user interacts with the main window.
[0358] Finally, the window supports initialization parameters, allowing for logical branching based on parameters passed from the main process when the window is opened later. Initialization parameters can set the window's width, height, title, style, and the URL to load, among other things.
[0359] In some embodiments, the window appears in different positions under different operating systems. The positioning algorithm has also been optimized. It obtains the coordinates of multiple monitors through the screen module to automatically adapt the window size. At the same time, it also detects changes in the screen and dynamically updates the coordinate position of the first window (including resolution, scaling, and Docker position). For example, the first window of operating system A is displayed in the upper right corner of the human-computer interaction interface, while the first window of operating system B is displayed in the lower right corner of the human-computer interaction interface.
[0360] In some embodiments, this application implements a unified state management module for the file transfer process. The display page at different stages corresponds to different operation states (such as adding, editing, sharing, etc.), and different operation states correspond to different window sizes. The size of the window is driven by state changes. In this case, when adding a new window, the window can be switched by adapting some state values.
[0361] As an example, see Figure 15 , Figure 15 This is a flowchart of file transfer provided in an embodiment of this application. Taking a terminal as the execution subject as an example, combined with... Figure 15 Steps 701 to 706 are described below.
[0362] In step 701, the first window is displayed.
[0363] In some embodiments, in response to a movement operation on a data object, when the movement distance is greater than a preset distance threshold, for example, the movement distance is 60 pixels and the preset distance threshold is 50 pixels, a first window is displayed in the human-computer interaction interface.
[0364] In step 702, a data object is added to the first window.
[0365] In some embodiments, a data object can be added to the first window in response to moving the data object to the first window and releasing the data object.
[0366] In step 703, the data object collection identifier is displayed.
[0367] In some embodiments, in response to adding multiple data objects to a first window, the data object collection identifiers corresponding to the multiple data objects can be displayed in a stacked manner.
[0368] In step 704, a preview of the data object is displayed.
[0369] In some embodiments, a file viewing entry can be displayed in the first window, and in response to a triggering operation on the file viewing entry, a preview of each data object can be displayed.
[0370] In step 705, the sharing control is displayed.
[0371] In some embodiments, in response to a sharing trigger operation for a data object, a sharing control can be displayed in the human-computer interaction interface.
[0372] In step 706, in response to a trigger operation on the sharing control, the sharing result is displayed.
[0373] In some embodiments, in response to a trigger operation on a sharing control, a collection of data objects can be shared to a target object according to the sharing method corresponding to the sharing control, and the sharing result can be displayed.
[0374] In some embodiments, for high-performance windows of a specific system, a combination of native and Electron windows can be used to improve drag-and-drop data parsing performance. After the first window is created, its window handle is passed to the New Technology (NT) architecture. The NT architecture provides a native transparent window that overlays the first window and detects changes in the size of the first window through its handle, updating the size of the first window accordingly. This allows the native window to handle all operations on the file dragged to the first window while it is still in the first window. After the drag is released, the New Technology architecture starts multi-threading to calculate the dragged file data, thus significantly improving the performance of Electron's single-threaded operation. This compensates for the shortcomings of Chrome's drag-and-drop performance, solves the problem of data parsing consuming a lot of system resources and causing the main thread to lag, and adds native file shrinking animations to improve user-friendliness.
[0375] In some embodiments, based on the characteristics of the operating system, native thumbnails of data objects in the operating system can be read. For example, thumbnails of data objects such as video, audio, and text can be read to display the thumbnail of each data object in the first window, instead of a regular icon, thus making the display in the user interface more intuitive and aesthetically pleasing. Simultaneously, a whitelist can be pre-configured to identify file types that support thumbnail generation, thereby filtering out file types that should not be given thumbnails. For example, the thumbnails of files with the .exe_folder extension are not aesthetically pleasing and can be directly filtered out.
[0376] In some embodiments, the drag handle can be customized to move the window. By setting parameters of the first window, such as the title portion of the first window or the size of the first window, the drag area can be freely customized to achieve the window drag function.
[0377] In some embodiments, the display state of the first window can be determined in real time by calculating the position of the moved file, thereby reducing the impact of the first window on other user operations. In response to a movement operation on a data object, the coordinates of the movement operation can be obtained in real time, the movement distance can be determined based on the coordinates, and the movement distance can be compared with a preset distance threshold (e.g., 60 pixels). The first window will only appear if the movement distance is greater than the distance threshold (e.g., the movement distance is 70 pixels).
[0378] In some embodiments, by specifying the starting position and coordinates of the movement operation, the display area and extended area of the first window can be divided into two regions: a red area (corresponding to the preset area mentioned above, see [link]). Figure 4A The system uses a preset area (463) and a blue area (i.e., all areas in the human-computer interaction interface other than the preset area). The position of the data object can be determined in real time by detecting the coordinates of the movement operation. If the data object is moved from the blue area to the red area, the first window changes from the first size to the second size, that is, from a small window to a large window. If the data object continues to move from the red area to the blue area, the first window changes from the second size to the first size, that is, from a large window to a small window. If the data object continues to move from the blue area to the red area, the first window remains at the first size. If the starting position of the movement operation is within the red area, the first window remains at the first size.
[0379] In some embodiments, this application employs an intelligent drag-and-drop recognition system that combines native drag and drop, HTML5 drag and drop API, and Electron inter-process communication (IPC) to implement a multi-scenario drag-and-drop system, enabling easy control of drag-and-drop capabilities even in complex scenarios.
[0380] In some embodiments, the following processing is performed by the file preprocessing module:
[0381] Type filtering system: Filters out files that cannot be sent or do not need to be sent. For example, files with the special .ds_store extension, or files with a size of 0.
[0382] Large and multi-file data parsing and preprocessing speed up data loading and enhance the user experience.
[0383] Data structuring provides efficient data support for subsequent, more complex logical calculations.
[0384] The embodiments of this application can achieve cross-process communication optimization by adopting cross-process communication technology based on windows. That is, a customized WebIPC communication channel is uniformly used to realize a high-performance communication mechanism between windows. There is no need for the main process to relay, and the rendering processes communicate directly. Data transmission (small data) can be significantly improved in terms of performance.
[0385] At the same time, event throttling is implemented to perform 20ms-level debouncing control for high-frequency operations. In high-frequency events, such as dragging, frequent calculations can pose a huge challenge to performance. Drag calculations are performed in the main process, and frequent inter-process communication is required to notify the rendering process. Throttling is implemented to reduce the frequency of inter-process communication and reduce performance loss.
[0386] This application provides the following performance optimization solutions: an idle-period preloading mechanism calculates file information, reads it all at once, generates a tree structure, and subsequent operations only perform memory operations, reducing the input / output (IO) read frequency and improving computational performance. Based on throttling, the event notification algorithm is also optimized, ensuring communication is only performed when truly needed, reducing unnecessary IPC consumption. A hybrid memory-disk caching system combines in-memory computation with disk data saving, reducing large data transfers across windows, improving data transfer performance, and enabling data synchronization between windows through human-computer interaction, ensuring data sharing in multi-window scenarios.
[0387] The data object processing method provided in this application allows users to share links or messages with friends immediately after creation, without waiting for the file upload to complete, achieving instant sharing without waiting. Technically, this is achieved as follows: First, a record is created. Then, this record is divided into two lines: upload and sharing, which are isolated from each other. Once the sharing record is generated, it can be shared with the target object at any time without waiting for the upload to complete. A multi-terminal status synchronization mechanism is also provided, allowing the receiver or sender to simultaneously view the real-time data transmission status on multiple platforms such as H5, desktop, and mobile devices.
[0388] The data object processing method provided in this application enables users to share files in a natural and intuitive way. The floating window design and guided animation effectively improve the convenience of operation and user experience. More importantly, users can share without waiting for the upload to complete, ensuring that users feel relaxed and efficient in the process of file management and sharing. This achieves the rapid creation of shareable files and significantly improves the overall experience of file management and sharing.
[0389] The following description continues to illustrate the exemplary structure of the data object processing apparatus 455 provided in the embodiments of this application as a software module. In some embodiments, such as Figure 2 As shown, the software modules stored in the data object processing device 455 in the memory 450 may include:
[0390] The first display module 4551 is used to display at least one first data object in a first window of the human-computer interaction interface in response to a movement operation of at least one first data object in the human-computer interaction interface.
[0391] The data sending module 4552 is used to send a set of data objects to the server in response to a sharing trigger operation for at least one first data object in the first window, wherein the set of data objects includes at least one first data object in the first window.
[0392] The second display module 4553 is used to display the sharing control, wherein the sharing control carries the storage location of the data object collection in the server.
[0393] In some embodiments, the first display module 4551 is further configured to display a first window of a first size in the human-computer interaction interface. In response to a movement operation of at least one first data object in the human-computer interaction interface toward the first window, the first window is expanded from a first size to a second size; and in response to the release of at least one first data object after it has been moved to the first window of the second size, at least one first data object is displayed in the first window of the second size.
[0394] In some embodiments, the second size is a fixed size, or the second size is a dynamic size; when the second size is a dynamic size, the second size is positively correlated with the number of first data objects moved to the first window.
[0395] In some embodiments, the first display module 4551 is further configured to expand the first window from a first size to a second size in response to moving at least one first data object from the first area to the second area when at least one first data object is located in a first area of the human-computer interaction interface, the first window is located in a second area of the human-computer interaction interface, and the first area and the second area do not overlap.
[0396] In some embodiments, the first display module 4551 is further configured to, in response to a movement operation of at least one first data object in the human-computer interaction interface toward the first window, move at least one first data object toward the first window in the direction and trajectory of the movement operation, and expand the first window from a first size to a second size if the distance between at least one first data object and the first window is less than a distance threshold.
[0397] In some embodiments, the first display module 4551 is further configured to, in response to a movement operation of at least one first data object in the human-computer interaction interface, display a first window of a first size in the human-computer interaction interface; expand the first window from a first size to a second size when the distance between at least one data object and the first window is less than a distance threshold; and, in response to at least one first data object being moved to the first window of the second size and then released, display at least one first data object in the first window of the second size.
[0398] In some embodiments, the first display module 4551 is further configured to display a first prompt message when displaying a first window of a first size in the human-computer interaction interface, wherein the first prompt message is used to prompt the user to move at least one first data object to the first window of the first size; to display a second prompt message when expanding the first window from the first size to the second size, wherein the second prompt message is used to prompt the user to move at least one first data object to the first window of the second size; and to display a third prompt message in response to moving at least one first data object into the first window of the second size, wherein the third prompt message is used to prompt the user to release at least one first data object to add at least one first data object into the first window of the second size.
[0399] In some embodiments, the first display module 4551 is further configured to, in response to a movement operation of at least one first data object in the human-computer interaction interface toward the first window, display a first window of a first size in the human-computer interaction interface and display a fourth prompt message, wherein the fourth prompt message is configured to prompt that at least one first data object be moved toward the first window by a preset distance so as to display at least one first data object in the first window; and to display at least one first data object in the first window in response to the movement operation of moving at least one first data object toward the first window by a preset distance.
[0400] In some embodiments, when the number of at least one first data object is multiple, the first display module 4551 is further configured to display thumbnails of multiple first data objects in a stacked manner in the first window, wherein the thumbnail displayed on top corresponds to any one of the following first data objects: the first data object that was last moved to the first window, the first data object with the highest sharing frequency; or, the thumbnails of multiple categories of first data objects are displayed in a stacked manner, wherein the thumbnail displayed on top of a category of first data objects corresponds to any one of the following first data objects: the first data object that was last moved to the first window, the first data object with the highest sharing frequency.
[0401] In some embodiments, the first display module 4551 is further configured to display a stack identifier of at least one first data object in a first window of the human-computer interaction interface; wherein the stack identifier is determined by: acquiring a plurality of identifier templates; determining the matching probability of at least one first data object with each identifier template based on the number of at least one first data object; using the identifier template with the highest matching probability as the stack identifier of at least one first data object; or, in response to a selection operation for a plurality of identifier templates, using the selected identifier template as the stack identifier of a plurality of first data objects.
[0402] In some embodiments, the first display module 4551 is further configured to display a stitched image of at least one first data object in a first window of the human-computer interaction interface; wherein, if the number of at least one first data object is less than or equal to a quantity threshold, the stitched image is obtained by stitching together all the thumbnails of at least one first data object; if the number of at least one first data object is greater than the quantity threshold, the stitched image is obtained by stitching together the thumbnails of some of the at least one first data object; the move operation is used to trigger the display of at least one first data object in the first window in any of the following ways: cutting at least one first data object from its original storage location to the first window; copying at least one first data object to the first window; creating a shortcut for at least one first data object in the first window.
[0403] In some embodiments, the first display module 4551 is further configured to, in response to a selection operation on at least one first data object, use the selected first data object as a partial first data object; or, classify at least one first data object according to the file type of each first data object to obtain at least one classified file; and select a first data object from each classified file as a partial first data object.
[0404] In some embodiments, the first display module 4551 is further configured to display a plurality of candidate processing methods; in response to a selection operation for the plurality of candidate processing methods, to use the selected candidate processing method as the target processing method; and in response to a movement operation of at least one first data object to the first window, to display at least one first data object in the first window according to the target processing method.
[0405] In some embodiments, the data sending module 4552 is further configured to, in response to a sharing trigger operation for at least one first data object in the first window, send a set of data objects and a volume parameter of the data object set to the server, and receive a storage location returned by the server after it begins receiving the data object set, wherein the storage location is the location of a pre-allocated storage space for the data object set, and the volume parameter of the storage space is greater than or equal to the volume parameter of the data object set; the second display module 4553 is further configured to display a sharing control carrying the storage location.
[0406] In some embodiments, the data sending module 4552 is further configured to send a set of data objects to the server in response to a sharing trigger operation for at least one first data object in the first window, and receive a storage location returned by the server after receiving the set of data objects, wherein the storage location represents the location of the storage space in the server where the set of data objects is stored; the second display module 4553 is further configured to display a sharing control carrying the storage location.
[0407] In some embodiments, the human-computer interaction interface is displayed on a first terminal, and the sharing control is used by a second terminal to perform the following processes: extracting a storage location from the sharing control, the storage location including a start storage location and an end storage location; sending a file request carrying the storage location to a server; the file request triggers the server to perform the following processes: if the first data object in the data object set has not been completely received, reading the currently received first data object from the data object set between the start and end storage locations on the server, sending the currently sent first data object to the second terminal, and sending the remaining first data object to the second terminal when the remaining first data object has been received; if all the first data objects in the data object set have been received, reading each first data object in the data object set from the storage location on the server, and sending each first data object in the data object set to the second terminal.
[0408] In some embodiments, the data sending module 4552 is further configured to, in response to a sharing trigger operation for at least one first data object in the first window, generate a storage location of the data object set in the server based on an address generation rule pre-negotiated with the server, and display a sharing control carrying the storage location, wherein the address generation rule includes: using a data object set identifier of the data object set as the storage location, the data object set identifier being the integrated result of the hashes of each first data object in the data object set; and sending the data object set to the server, wherein the data object set identifier is used for the server to obtain the first data object corresponding to the hash.
[0409] In some embodiments, the human-computer interaction interface is displayed on a first terminal, and the sharing control is used by a second terminal to perform the following processes: extracting the storage location from the sharing control, the storage location including the hash of each first data object, sending a file request carrying the storage location to the server, and the file request triggering the server to perform the following processes: if the first data objects in the data object set have not been fully received, according to the hash of each first data object, reading the currently received first data object corresponding to the hash in the data object set from the server's storage location, sending the currently sent first data object to the second terminal, and sending the remaining first data objects to the second terminal when the remaining first data objects have been fully received; if all the first data objects in the data object set have been fully received, reading each first data object corresponding to each hash in the data object set from the server's storage location, and sending each first data object in the data object set to the second terminal.
[0410] In some embodiments, the data sending module 4552 is further configured to send the first data object and its volume parameter to the server after any first data object is moved to the first window, and receive the storage location returned by the server after it starts receiving the first data object, wherein the storage location is the location of a pre-allocated storage space, and the volume parameter of the storage space adaptively scales according to the volume parameter of the received first data object; and display a sharing control carrying the storage location in response to a sharing trigger operation for at least one first data object in the first window.
[0411] In some embodiments, the human-computer interaction interface is displayed on a first terminal, and the sharing control is used by a second terminal to perform the following processes: extracting a storage location from the sharing control, the storage location including a starting storage location, sending a file request carrying the storage location to a server, and the file request triggering the server to perform the following processes: if the first data object in the data object set has not been completely received, reading the currently received first data object from the storage space between the starting storage location and the end symbol, sending the currently received first data object, and sending the remaining first data object to the second terminal when the remaining first data object has been received; if the first data object in the data object set has been completely received, reading each first data object in the data object set from the storage space between the starting storage location and the end symbol, and sending each first data object in the data object set to the second terminal.
[0412] In some embodiments, the second display module 4553 is further configured to display at least one of the following types of sharing controls: a copy link control, wherein the copy link control is used to automatically paste the storage location of the data object collection when triggered; an instant messaging control, wherein the instant messaging control is used to display candidate sessions in an instant messaging session window when triggered, and to send the storage location of the data object collection to a target session in response to a selection operation on the candidate session, the target session being the selected candidate session; and a graphic code control, wherein the graphic code control is used to display a graphic code carrying the storage location of the data object collection when triggered, the graphic code being used to be scanned or saved locally.
[0413] In some embodiments, the second display module 4553 is further configured to display at least one of a file sharing entry, a file adding entry, and a file viewing entry; in response to a trigger operation for the file sharing entry, jump to the step of displaying at least one type of sharing control; in response to a trigger operation for the file adding entry, display at least one candidate data object; in response to a selection operation for at least one candidate data object, add the selected candidate data object to the first window; and in response to a trigger operation for the file viewing entry, display the identifier of each first data object.
[0414] In some embodiments, the first display module 4551 is further configured to display a move-out control for each first data object in a first window; and in response to a trigger operation on the move-out control, move the first data object corresponding to the move-out control out of the first window.
[0415] In some embodiments, the data sending module 4552 is further configured to send each first data object to the server sequentially according to the order in which each first data object in the data object set is added to the first window, or to send at least one first data object in the data object set to the server simultaneously in parallel.
[0416] In some embodiments, the data sending module 4552 is further configured to obtain file information for each first data object in the data object set; based on the file information, call a pre-trained machine learning model to predict the sharing probability of each first data object; arrange the first data objects in descending order according to the sharing probability, and send the first data objects to the server sequentially starting from the first first data object in descending order.
[0417] In some embodiments, after the first window is displayed in the human-computer interaction interface, the first display module 4551 is further configured to display a second window in response to a trigger operation on the file sending control in the instant messaging program; if there is no first data object in the first window, the first window is closed; if there is a first data object in the first window and the first data object has not been sent to the server, the first data object is synchronized to the second window and the first window is closed; if there is a first data object in the first window and the first data object is being sent to the server, the sending status of the first data object is displayed in the second window and the first window is closed.
[0418] In some embodiments, the first display module 4551 is further configured to display at least one second data object in the second window in response to a move operation of at least one second data object to the second window; and to send a data object set to the server in response to a share trigger operation for at least one second data object in the second window, wherein the data object set includes at least one second data object in the second window, and a display share control, wherein the share control carries the storage location of the data object set in the server.
[0419] In some embodiments, the second window includes a file sending tab; the first display module 4551 is further configured to, in response to a movement operation of at least one second data object to the file sending tab, display at least one second data object in the file sending tab when the file sending tab in the second window is in a foreground display state and the second window is in a top-display state.
[0420] In some embodiments, the second window includes a file sending tab and a transfer history tab; the first display module 4551 is further configured to, in response to a movement operation on at least one second data object, display the first window during the period the movement operation is maintained, when the file sending tab is in the foreground display state in the second window and the second window is not in the top display state; in response to at least one second data object being moved to the first window and then released, switch the transfer history tab to the foreground display state and display at least one second data object in the transfer history tab, or, in response to at least one second data object being moved to the file sending tab and then released, display at least one second data object in the file sending tab and close the first window.
[0421] In some embodiments, the second window includes a transfer history tab; the first display module 4551 is further configured to display the first window in response to a movement operation for at least one third data object when the transfer history tab is in the foreground display state in the second window, and to display at least one third data object in the first window.
[0422] In some embodiments, the first window is a window independent of the operating program in the terminal; or, the first window is a window for the file sending function built into the instant messaging program of the terminal.
[0423] This application provides a computer program product, which includes a computer program or computer-executable instructions stored in a computer-readable storage medium. The processor of an electronic device reads the computer-executable instructions from the computer-readable storage medium and executes the computer-executable instructions, causing the electronic device to perform the data object processing method described in this application.
[0424] This application provides a computer-readable storage medium storing computer-executable instructions or a computer program. When the computer-executable instructions or the computer program are executed by a processor, the processor will execute the data object processing method provided in this application, for example, such as... Figure 3A The data object processing method is shown.
[0425] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.
[0426] In some embodiments, computer-executable instructions may take the form of programs, software, software modules, scripts, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.
[0427] As an example, computer-executable instructions may, but do not necessarily, correspond to files in a file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a Hyper Text Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple co-located files (e.g., files that store one or more modules, subroutines, or code sections).
[0428] As an example, computer-executable instructions can be deployed to execute on a single electronic device, or on multiple electronic devices located in one location, or on multiple electronic devices distributed across multiple locations and interconnected via a communication network.
[0429] In summary, this embodiment adds at least one data object to a first window by moving it. This simple movement operation allows data objects (such as files and folders) to be added to a specified window in an intuitive way that aligns with users' daily operating habits. Compared to selecting and adding data one by one, this significantly saves time and improves operational efficiency. In response to a sharing trigger operation for at least one data object in the first window, the at least one data object is sent to the server as a data object collection, facilitating unified management and operation of the data objects within the collection. A sharing control is displayed, carrying the storage location of the data object collection on the server. This allows users to share the data object collection with other users or platforms simply by clicking the sharing control. Furthermore, the storage location of the data object collection on the server carried by the sharing control ensures that the recipient can accurately access and retrieve this data.
[0430] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.
Claims
1. A method for processing data objects, characterized in that, Applied to a first terminal, the method includes: In response to a movement operation on at least one first data object in the human-computer interaction interface, the at least one first data object is displayed in a first window of the human-computer interaction interface; In response to a share-triggered operation for at least one of the first data objects in the first window, a set of data objects is sent to the server, wherein the set of data objects includes the at least one of the first data objects in the first window, and A sharing control is displayed, wherein the sharing control carries the storage location of the data object collection in the server.
2. The method according to claim 1, characterized in that, Before displaying the at least one first data object in a first window of the human-computer interaction interface in response to a movement operation on at least one first data object in the human-computer interaction interface, the method further includes: Display a first window of the first size in the human-computer interaction interface; The step of displaying the at least one first data object in a first window of the human-computer interaction interface in response to a movement operation on at least one first data object in the human-computer interaction interface includes: In response to an operation that moves at least one first data object in the human-computer interaction interface toward the first window, the first window is enlarged from the first size to the second size, and In response to the at least one first data object being moved to and released from the first window of the second size, the at least one first data object is displayed in the first window of the second size.
3. The method according to claim 2, characterized in that, The step of expanding the first window from the first size to the second size in response to an operation of moving at least one first data object in the human-computer interaction interface toward the first window includes: When at least one first data object is located in a first area of the human-computer interaction interface, and the first window is located in a second area of the human-computer interaction interface, and the first area and the second area do not overlap, in response to moving the at least one first data object from the first area to the second area, the first window is enlarged from the first size to the second size.
4. The method according to claim 2, characterized in that, The step of expanding the first window from the first size to the second size in response to an operation of moving at least one first data object in the human-computer interaction interface toward the first window includes: In response to a movement operation of at least one first data object in the human-computer interaction interface toward the first window, the at least one first data object is moved toward the first window according to the direction and trajectory of the movement operation. If the distance between at least one first data object and the first window is less than a distance threshold, the first window is enlarged from the first size to the second size.
5. The method according to claim 1, characterized in that, The step of displaying the at least one first data object in a first window of the human-computer interaction interface in response to a movement operation on at least one first data object in the human-computer interaction interface includes: In response to a movement operation on at least one first data object in a human-computer interaction interface, a first window of a first size is displayed in the human-computer interaction interface; If the distance between at least one data object and the first window is less than a distance threshold, the first window is enlarged from the first size to a second size. In response to the at least one first data object being moved to and released from the first window of the second size, the at least one first data object is displayed in the first window of the second size.
6. The method according to claim 2 or 5, characterized in that, The method further includes: When a first window of a first size is displayed in the human-computer interaction interface, a first prompt message is displayed, wherein the first prompt message is used to prompt the at least one first data object to be moved to the first window of the first size; When the first window is expanded from the first size to the second size, a second prompt message is displayed, wherein the second prompt message is used to prompt the at least one first data object to be moved to the first window of the second size; In response to moving the at least one first data object into the first window of the second size, a third prompt message is displayed, wherein the third prompt message is used to prompt the release of the at least one first data object in order to add the at least one first data object into the first window of the second size.
7. The method according to claim 1, characterized in that, The step of displaying the at least one first data object in a first window of the human-computer interaction interface in response to a movement operation on at least one first data object in the human-computer interaction interface includes: In response to a movement operation of at least one first data object in the human-computer interaction interface toward the first window, a first window of a first size is displayed in the human-computer interaction interface, and a fourth prompt message is displayed, wherein the fourth prompt message is used to prompt that the at least one first data object be moved toward the first window by a preset distance so as to display the at least one first data object in the first window. In response to the movement operation, the at least one first data object is moved by the preset distance toward the first window, and the at least one first data object is displayed in the first window.
8. The method according to claim 1, characterized in that, When the number of the at least one first data object is multiple, displaying the at least one first data object in the first window of the human-computer interaction interface includes: In the first window of the human-computer interaction interface, multiple thumbnails of the first data objects are displayed in a stacked manner. The thumbnail displayed at the top corresponds to any of the following first data objects: the first data object that was last moved to the first window, the first data object with the highest sharing frequency, or... Thumbnails of the first data objects in multiple categories are displayed in a stacked manner. The thumbnail displayed at the top of the first data objects in a category corresponds to any of the following first data objects: the first data object that was last moved to the first window, or the first data object with the highest sharing frequency.
9. The method according to claim 1, characterized in that, Displaying the at least one first data object in the first window of the human-computer interaction interface includes: A mosaic image of the at least one first data object is displayed in the first window of the human-computer interaction interface; wherein... If the number of the at least one first data object is less than or equal to the number threshold, then the stitched image is obtained by stitching together the thumbnails of the at least one first data object. If the number of the at least one first data object is greater than the number threshold, then the stitched image is obtained by stitching together thumbnails of some of the at least one first data objects; The movement operation is used to trigger the display of at least one first data object in the first window in any of the following ways: Cut the at least one first data object from its original storage location into the first window; Copy the at least one first data object to the first window; Create a shortcut to the at least one first data object in the first window.
10. The method according to claim 1, characterized in that, The step of sending a set of data objects to the server and displaying a sharing control in response to a sharing trigger operation for at least one of the first data objects in the first window includes: In response to a sharing trigger operation for at least one of the first data objects in the first window, a set of data objects and a volume parameter of the data object set are sent to the server, and a storage location is received after the server starts receiving the data object set, wherein the storage location is the location of a pre-allocated storage space for the data object set, and the volume parameter of the storage space is greater than or equal to the volume parameter of the data object set. Displays a sharing control that carries the storage location.
11. The method according to claim 10, characterized in that, The human-computer interaction interface is displayed on the first terminal, and the sharing control is used by the second terminal to perform the following processing: The storage location, including a start storage location and an end storage location, is retrieved from the sharing control. A file request carrying the storage location is sent to the server, and the file request triggers the server to perform the following processing: If the first data object in the data object set has not been fully received, the first data object that has been received in the data object set is read from between the start storage position and the end storage position of the server, and the first data object that has been sent is sent to the second terminal. When the remaining first data objects have been fully received, the remaining first data objects are sent to the second terminal. When all the first data objects in the data object set have been received, each of the first data objects in the data object set is read from the storage location on the server and sent to the second terminal.
12. The method according to claim 1, characterized in that, The step of sending a set of data objects to the server and displaying a sharing control in response to a sharing trigger operation for at least one of the first data objects in the first window includes: In response to a sharing trigger operation for at least one of the first data objects in the first window, based on an address generation rule pre-negotiated with the server, a storage location of the data object set in the server is generated, and a sharing control carrying the storage location is displayed. The address generation rule includes: using the data object set identifier of the data object set as the storage location, where the data object set identifier is the combined result of the hashes of each of the first data objects in the data object set. The data object set is sent to the server, wherein the data object set identifier is used for the server to obtain the first data object corresponding to the hash.
13. The method according to claim 12, characterized in that, The human-computer interaction interface is displayed on the first terminal, and the sharing control is used by the second terminal to perform the following processing: The storage location, which includes a hash of each of the first data objects, is extracted from the sharing control. A file request carrying the storage location is sent to the server, and the file request triggers the server to perform the following processing: If the first data object in the data object set has not been fully received, based on the hash of each first data object, the currently received first data object corresponding to the hash in the data object set is read from the storage location of the server, and the currently sent first data object is sent to the second terminal. When the remaining first data objects have been fully received, the remaining first data objects are sent to the second terminal. When all the first data objects in the data object set have been received, each of the first data objects corresponding to each hash in the data object set is read from the storage location in the server, and each of the first data objects in the data object set is sent to the second terminal.
14. The method according to claim 1, characterized in that, Before sending a set of data objects to the server and displaying a sharing control in response to a sharing trigger operation for at least one of the first data objects in the first window, the method further includes: After any of the first data objects is moved to the first window, the first data object and its volume parameter are sent to the server, and the storage location returned by the server after it starts receiving the first data object is received. The storage location is the location of the pre-allocated storage space, and the volume parameter of the storage space is adaptively scaled according to the volume parameter of the received first data object. The step of sending a set of data objects to the server and displaying a sharing control in response to a sharing trigger operation for at least one of the first data objects in the first window includes: In response to a share-triggered operation for at least one of the first data objects in the first window, a share control carrying the storage location is displayed.
15. The method according to claim 14, characterized in that, The human-computer interaction interface is displayed on the first terminal, and the sharing control is used by the second terminal to perform the following processing: The storage location, including a starting storage location, is retrieved from the sharing control. A file request carrying the storage location is sent to the server, and the file request triggers the server to perform the following processing: If the first data object in the data object set has not been fully received, the first data object that has been fully received is read from the storage space between the start storage position and the end symbol, the first data object that has been fully received is sent, and when the remaining first data objects are fully received, the remaining first data objects are sent to the second terminal. Upon completion of receiving the first data object in the data object set, each of the first data objects in the data object set is read from the storage space between the start storage location and the end symbol, and each of the first data objects in the data object set is sent to the second terminal.
16. The method according to claim 1, characterized in that, The display sharing control includes: Display at least one of the following types of sharing controls: A copy link control, wherein the copy link control is used to automatically paste the storage location of the data object collection when triggered; An instant messaging control, wherein, when triggered, the instant messaging control displays candidate sessions in an instant messaging session window, and in response to a selection operation on the candidate sessions, sends the storage location of the data object set to a target session, the target session being the selected candidate session; A graphic code control, wherein the graphic code control is used to display a graphic code carrying the storage location of the data object set when triggered, and the graphic code is used to be scanned or saved locally.
17. The method according to claim 16, characterized in that, Before displaying at least one type of sharing control, the method further includes: Display at least one of the following: file sharing entry, file adding entry, and file viewing entry; In response to a trigger operation on the file sharing entry, proceed to the step of displaying at least one type of sharing control; In response to a triggering operation that adds an entry to the file, at least one candidate data object is displayed; In response to a selection operation for the at least one candidate data object, the selected candidate data object is added to the first window; In response to a triggered operation on the file viewing entry, the identifier of each of the first data objects is displayed.
18. The method according to claim 2 or 5, characterized in that, After displaying the first window in the human-computer interaction interface, the method further includes: In response to a trigger action on a file send control in an instant messaging application, a second window is displayed; If there is no first data object in the first window, then close the first window; If the first window contains a first data object, and the first data object has not been sent to the server, then the first data object is synchronized to the second window, and the first window is closed. If the first data object is present in the first window and is being sent to the server, the sending status of the first data object is displayed in the second window, and the first window is closed.
19. The method according to claim 18, characterized in that, After displaying the second window, the method further includes: In response to a move operation of at least one second data object toward the second window, the at least one second data object is displayed in the second window; In response to a share-triggered operation targeting at least one of the second data objects in the second window, a set of data objects is sent to the server, wherein the set of data objects includes the at least one second data object in the second window, and A sharing control is displayed, wherein the sharing control carries the storage location of the data object collection in the server.
20. The method according to claim 19, characterized in that, The second window includes a file sending tab; The step of displaying the at least one second data object in the second window in response to a move operation of at least one second data object toward the second window includes: When the file sending tab in the second window is in the foreground and the second window is in the top position, in response to a movement operation of at least one second data object to the file sending tab, the at least one second data object is displayed in the file sending tab.
21. The method according to claim 19, characterized in that, The second window includes a file sending tab and a transfer history tab; The step of displaying the at least one second data object in the second window in response to a move operation of at least one second data object toward the second window includes: When the file sending tab is in the foreground state in the second window and the second window is not in the top state, the first window is displayed in response to a move operation for at least one second data object during the period when the move operation is held. In response to the at least one second data object being moved to the first window and then released, the transmission history tab is switched to the foreground display state, and the at least one second data object is displayed on the transmission history tab, or... In response to the at least one second data object being moved to the file sending tab and then released, the at least one second data object is displayed on the file sending tab, and the first window is closed.
22. A data object processing apparatus, characterized in that, The device includes: A first display module is configured to display the at least one first data object in a first window of the human-computer interaction interface in response to a movement operation of at least one first data object in the human-computer interaction interface. A data sending module is configured to send a set of data objects to a server in response to a sharing trigger operation for at least one of the first data objects in the first window, wherein the set of data objects includes the at least one of the first data objects in the first window; The second display module is used to display a sharing control, wherein the sharing control carries the storage location of the data object set in the server.
23. An electronic device, characterized in that, The electronic device includes: Memory is used to store executable instructions or computer programs. A processor, when executing computer-executable instructions or computer programs stored in the memory, implements the data object processing method according to any one of claims 1 to 21.
24. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that, When the computer-executable instructions or computer program are executed by a processor, they implement the data object processing method according to any one of claims 1 to 21.
25. A computer program product comprising computer-executable instructions or a computer program, characterized in that, When the computer-executable instructions or computer program are executed by a processor, they implement the data object processing method according to any one of claims 1 to 21.