Methods, electronic devices, and storage media for data item recommendation

By receiving requests from terminal devices and determining recommendation criteria based on application type, the computing device selects appropriate data items from multiple storage devices, solving the problem of inaccurate data item recommendations in traditional solutions and achieving data item recommendations that better meet user needs.

CN114064573BActive Publication Date: 2025-10-28EMC IP HLDG CO LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010788498.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-08-07
Publication Date
2025-10-28
Estimated Expiration
2041-04-16

AI Technical Summary

Technical Problem

Traditional solutions only perform filename matching searches across multiple storage devices, failing to provide optimal data item recommendations and preventing users from obtaining the data items that best meet their needs.

Method used

By receiving requests from terminal devices, including the identifier of data items and application type, the computing device determines the recommendation criterion type based on the application type and selects data items that meet the recommendation criteria from multiple storage devices, thereby improving the accuracy of data item recommendations.

Benefits of technology

It enables the recommendation of the most suitable data items based on application type and user needs, thereby improving the accuracy and satisfaction of data item recommendations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114064573B_ABST
    Figure CN114064573B_ABST
Patent Text Reader

Abstract

Embodiments of this disclosure relate to methods, electronic devices, and computer storage media for data item recommendation, and pertain to the field of information processing. According to the method, a request for a data item is received from a terminal device. The request includes an identifier for identifying the data item and an application type, the application type indicating the type of purpose of the data item. Based on the application type, a recommendation criterion type matching the request is determined, the recommendation criterion type indicating the type of criterion upon which the recommended data item is based. Multiple data items associated with the identifier are identified, the multiple data items being located on multiple storage devices. And based on the recommendation criterion type, a recommended data item is determined from the multiple data items as a response to the request. Thus, suitable data items can be recommended based on application type, improving the accuracy of data item recommendation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this disclosure generally relate to the field of information processing, and more specifically to methods, electronic devices, and computer storage media for recommending data items. Background Technology

[0002] With the development of storage technology, it is now possible to store the same data items on multiple storage devices for data protection. These data items can also be called data copies. Storage devices are often located in different geographical locations. When a user wants to recover, access, or browse data items from storage devices, a data protection search system can provide a search service for those data items. However, traditional solutions only perform filename matching searches across multiple storage devices, and therefore cannot provide users with the best data item recommendations. Summary of the Invention

[0003] A method, electronic device, and computer storage medium for data item recommendation are provided, which can recommend suitable data items based on application type and improve the accuracy of data item recommendation.

[0004] According to a first aspect of this disclosure, a method for recommending data items is provided. The method includes: receiving a request for a data item from a terminal device, the request including an identifier for identifying the data item and an application type, the application type indicating the type of purpose of the data item; determining a recommendation criterion type matching the request based on the application type, the recommendation criterion type indicating the type of criterion on which the recommended data item is based; identifying a plurality of data items associated with the identifier, the plurality of data items residing in a plurality of storage devices; and determining a recommended data item from the plurality of data items based on the recommendation criterion type as a response to the request.

[0005] According to a second aspect of this disclosure, an electronic device is provided. The electronic device includes: at least one processor, and a memory communicatively connected to the at least one processor, wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method according to the first aspect.

[0006] In a third aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the method according to a first aspect of this disclosure.

[0007] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0008] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0009] Figure 1 This is a schematic diagram of an information processing environment 100 according to an embodiment of the present disclosure;

[0010] Figure 2 This is a schematic diagram of a method 200 for recommending data items according to an embodiment of the present disclosure;

[0011] Figure 3 This is a schematic diagram of a method 300 for determining recommended data items according to an embodiment of the present disclosure;

[0012] Figure 4 This is a schematic diagram of a method 400 for determining recommended data items according to an embodiment of the present disclosure;

[0013] Figure 5 This is a schematic diagram of a method 500 for determining recommended data items according to an embodiment of the present disclosure;

[0014] Figure 6 This is a schematic block diagram of a process 600 for recommending data items according to an embodiment of the present disclosure; and

[0015] Figure 7 This is a block diagram of an electronic device used to implement the method for recommending data items according to embodiments of the present disclosure. Detailed Implementation

[0016] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0017] The term "comprising" and its variations as used herein signify open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "at least partially based on". The terms "one example embodiment" and "one embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0018] As mentioned above, traditional solutions only perform filename matching searches across multiple storage devices, and therefore cannot provide users with the best data item recommendations.

[0019] Specifically, for fault tolerance and high availability, data protection centers typically deploy multiple copies of data across storage devices 130 in different geographical locations. For example, using replication technology, user A could have three copies of business data across storage devices located in Shanghai, Beijing, and Santa Clara. When user A searches for file X in a data protection search system for disaster recovery, it is helpful to recommend the data copy on the storage device that provides the best recovery performance.

[0020] Furthermore, an increasing number of data protection solutions are placing backup data in the cloud. For example, User B has three copies of their data stored on storage devices from three different cloud providers: one from a first cloud provider, one from a second cloud provider, and one from a third cloud provider. User B now wants to perform data mining (e.g., big data analytics) on the backup data to improve business processes. These tasks are not critical, so the user wants to minimize the financial cost of restoring or accessing this data. Since payment policies (or fees) for reading data copies from storage devices from different cloud providers vary, in this case, the user may want to be provided with the lowest-cost data copy.

[0021] To at least partially address one or more of the aforementioned problems and other potential issues, exemplary embodiments of this disclosure propose a scheme for data item recommendation. In this scheme, a computing device receives a request for a data item from a terminal device. The request includes an identifier for identifying the data item and an application type, whereby the application type indicates the type of purpose for which the data item is used. Based on the application type, the computing device determines a recommendation criterion type that matches the request, i.e., the type of criterion upon which the recommended data item is based. The computing device then determines a recommended data item from a plurality of data items associated with the identifier in the received request and located on multiple storage devices, as a response to the request, based on the recommendation criterion type. In this manner, suitable data items can be recommended based on application type, improving the accuracy of data item recommendation.

[0022] In the following sections, specific examples of this solution will be described in more detail with reference to the accompanying drawings.

[0023] Figure 1 A schematic diagram of an example of an information processing environment 100 according to an embodiment of the present disclosure is shown. The information processing environment 100 may include a computing device 110, a terminal device 120, and storage devices 130-1, 130-2, and 130-3 (collectively referred to as 130). It should be understood that, although Figure 1The image shows three storage devices, but this is just an example and may include more or fewer storage devices.

[0024] The computing device 110 may store metadata associated with data items. The metadata may include information such as the identifier of the data item, the identifier of the storage device where the data item resides, and its location. The computing device 110 may also store user profiles associated with the terminal device 120. Based on a request for a data item from the terminal device 120, the computing device 110 may determine recommended data items as a response.

[0025] The computing device 110 includes, but is not limited to, server computers, multiprocessor systems, mainframe computers, and distributed computing environments that include any of the aforementioned systems or devices. In some embodiments, the computing device 110 may have one or more processing units, including dedicated processing units such as graphics processing units (GPUs), field-programmable gate arrays (FPGAs), and application-specific integrated circuits (ASICs), as well as general-purpose processing units such as central processing units (CPUs).

[0026] Terminal device 120 can send a request for a data item to computing device 110. The request may include an identifier for identifying the data item and an application type. The application type indicates the type of user of the data item, such as disaster recovery, data analysis, etc. Terminal device 120 includes, but is not limited to, personal computers, desktop computers, tablet computers, laptop computers, smartphones, personal digital assistants, etc.

[0027] The same data item can be stored on multiple storage devices 130 for protection. A data item can also be referred to as a data copy. Multiple storage devices 130 can be located in different locations, such as Shanghai, Beijing, Hong Kong, etc. Storage devices 130 include, but are not limited to, storage servers.

[0028] The computing device 110 is configured to receive a request for a data item from the terminal device 120, the request including an identifier for identifying the data item and an application type, the application type indicating the type of purpose of the data item; based on the application type, determine a recommendation criterion type that matches the request, the recommendation criterion type indicating the type of criterion on which the recommended data item is based; identify multiple data items associated with the identifier, the multiple data items being located in multiple storage devices 130; and based on the recommendation criterion type, determine a recommended data item from the multiple data items as a response to the request.

[0029] Therefore, it is possible to recommend suitable data items based on application type, thereby improving the accuracy of data item recommendations.

[0030] Figure 2 A flowchart of a method 200 for recommending data items according to an embodiment of the present disclosure is shown. For example, method 200 may be provided by, for example, Figure 1 The method is executed by the computing device 110 shown. It should be understood that method 200 may also include additional boxes not shown and / or the boxes shown may be omitted, and the scope of this disclosure is not limited in this respect.

[0031] At box 202, computing device 110 receives a request for a data item from terminal device 120. The request includes an identifier for identifying the data item and an application type, whereby the application type indicates the type of purpose for which the data item is used. The application type could be related to disaster recovery, data analysis, or something similar.

[0032] At box 204, computing device 110 determines a recommendation criterion type that matches the request based on the application type. The recommendation criterion type indicates the type of criterion on which the recommended data item is based. Recommendation criterion types include, but are not limited to, performance-sensitive and cost-sensitive types.

[0033] In some embodiments, computing device 110 may determine whether an application type is related to disaster recovery. If computing device 110 determines that an application type is related to disaster recovery, it may determine that the recommended criterion type is a performance-sensitive type.

[0034] Alternatively or additionally, in some embodiments, computing device 110 may determine whether the application type is related to data analysis. If computing device 110 determines that the application type is related to data analysis, it may determine that the recommendation criterion type is a cost-sensitive type.

[0035] Therefore, it is possible to determine whether the recommendation criteria are performance-sensitive or cost-sensitive based on whether the application type is related to disaster recovery or data analysis, so that the recommendations for data items used for disaster recovery and data analysis can more accurately meet user needs.

[0036] In some embodiments, before determining the recommendation criterion type based on the application type, computing device 110 may also look up configuration items associated with the recommendation criterion type in the user profile associated with terminal device 120. The configuration items associated with the recommendation criterion type may, for example, be those previously configured by the user in computing device 110.

[0037] If the computing device 110 finds the configuration item in the user profile, it determines the recommendation criterion type based on that configuration item. For example, if the configuration item indicates a performance-sensitive type, the recommendation criterion type is determined to be performance-sensitive; if the configuration item indicates a cost-sensitive type, the recommendation criterion type is determined to be cost-sensitive. If the computing device does not find the configuration item in the user profile, it determines the recommendation criterion type based on the application type.

[0038] Therefore, the recommendation criterion type for data items can be determined based on the user's configuration of the recommendation criterion type before the application type, so that the recommended data items are more in line with the user's needs.

[0039] Back Figure 2 At box 206, computing device 110 identifies multiple data items associated with an identifier, the multiple data items being located in multiple storage devices 130.

[0040] At box 208, computing device 110 determines recommended data items from multiple data items based on the recommendation criterion type, as a response to the request. This will be discussed in conjunction with... Figure 3-5 Describe in detail the method used to determine the recommended data items.

[0041] Therefore, it is possible to determine the type of recommendation criteria that matches the request based on user context information such as application type, and to determine the recommended data items based on the type of recommendation criteria, so that the recommended data items are more in line with user needs, thereby improving the accuracy and satisfaction of data item recommendations.

[0042] Figure 3 A flowchart of a method 300 for determining recommended data items according to an embodiment of the present disclosure is shown. For example, method 300 may be performed by, for example, Figure 1 The method is executed by the computing device 110 shown. It should be understood that method 300 may also include additional boxes not shown and / or the boxes shown may be omitted, and the scope of this disclosure is not limited in this respect.

[0043] At box 302, computing device 110 determines whether the recommendation criterion type is a performance-sensitive type.

[0044] If computing device 110 determines at box 302 that the recommendation criterion type is performance-sensitive, then at box 304, it obtains the first location of terminal device 120 from the request. For example, the request may include cookie information, which may include the first location of terminal device 120. For example, the first location of terminal device 120 may be Hangzhou.

[0045] At box 306, computing device 110 obtains multiple second locations of the storage devices 130 where the multiple data items reside from metadata associated with the multiple data items. Taking three data items as an example, the three data items are located in three different storage devices 130. The second locations of these three storage devices 130 are, for example, Shanghai, Beijing, and Shenzhen.

[0046] At box 308, computing device 110 determines multiple distances between a first location and a plurality of second locations. Continuing the example above, the three distances between the first location and the three second locations are, for example, 200 km, 1500 km, and 1000 km.

[0047] At box 310, computing device 110 determines a recommended data item from multiple data items based on multiple distances. For example, the distance between the second location and the first location of the storage device 130 where the recommended data item is located is the shortest among multiple distances. Continuing the example above, the recommended data item is, for example, a data item in storage device 130 located in Shanghai. It should be understood that the above is for illustrative purposes only, and the scope of this disclosure is not limited herein.

[0048] Therefore, when the recommendation criterion type is performance-sensitive, data items can be recommended based on the distance between the storage device and the terminal device to achieve optimal performance.

[0049] In some cases, distance is not directly related to network performance. For example, some high-speed networks deployed at distant storage devices 130 may have high latency (determined by distance) but high throughput. In this scenario, network performance associated with storage device 130, such as latency, throughput, packet loss rate, or other runtime network performance metrics, can also be considered. As another example, a busy local storage device 130 may be geographically close to a user's terminal device 120, but exhibit low performance due to its heavy workload. In this case, system performance associated with storage device 130, such as I / O performance, processor performance, memory performance, or other system-level performance metrics, can also be considered.

[0050] Figure 4 A flowchart of a method 400 for determining recommended data items according to an embodiment of the present disclosure is shown. For example, method 400 may be performed by, for example, Figure 1 The method is executed by the computing device 110 shown. It should be understood that the method 400 may also include additional boxes not shown and / or the boxes shown may be omitted, and the scope of this disclosure is not limited in this respect.

[0051] At box 402, computing device 110 determines whether the recommendation criterion type is a performance-sensitive type.

[0052] If computing device 110 determines the recommended criterion type to be performance-sensitive at box 402, then it determines multiple network performance metrics or multiple system performance metrics associated with the storage device 130 where the multiple data items reside at box 404. Examples of network performance and system performance metrics can be found above and will not be repeated here.

[0053] At box 406, computing device 110 determines a recommended data item from multiple data items based on multiple network performance metrics or multiple system performance metrics. For example, the network performance associated with the storage device 130 where the recommended data item resides is optimal, such as maximum throughput or minimum packet loss rate, or the associated system performance is optimal, such as best I / O performance, best processor performance, or largest memory space.

[0054] Therefore, when the recommendation criterion type is performance-sensitive, it is possible to recommend data items based on the network performance or system performance associated with the storage device in order to achieve optimal performance.

[0055] Figure 5 A flowchart of a method 500 for determining recommended data items according to an embodiment of the present disclosure is shown. For example, method 500 may be performed by, for example, Figure 1 The method is executed by the computing device 110 shown. It should be understood that the method 500 may also include additional boxes not shown and / or the boxes shown may be omitted, and the scope of this disclosure is not limited in this respect.

[0056] At box 502, computing device 110 determines whether the recommendation criterion type is a cost-sensitive type.

[0057] If computing device 110 determines at box 502 that the recommendation criterion type is cost-sensitive, then at box 504 it retrieves multiple sizes of the multiple data items or multiple numbers of storage objects associated with the multiple data items from the metadata associated with them, and the data items are divided into multiple storage objects for storage. For example, a data item can be divided into multiple parts, each of which can be stored as a storage object, thus allowing the data item to be associated with multiple storage objects.

[0058] At box 506, computing device 110 obtains multiple payment policies associated with data acquisition from storage device 130 containing multiple data items. Payment policies may include, but are not limited to, the cost of reading 1GB of data, the cost of acquiring 1000 storage objects, etc. Computing device 110 may, for example, send multiple requests for obtaining payment policies to multiple storage devices 130 or multiple servers managing multiple storage devices 130, and receive multiple payment policies accordingly.

[0059] In some embodiments, the payment strategy may also be related to the location of the terminal device 120 and the storage device 130. For example, the payment strategy for data acquisition may differ between different locations for a given storage device 130 or a cloud service provider. Specifically, the computing device 110 may also obtain a first location of the terminal device 120 from a request, obtain multiple second locations of the storage device 130 where the multiple data items are located from metadata associated with the multiple data items, and obtain multiple payment strategies associated with data acquisition between the first location and the multiple second locations for the storage devices where the multiple data items are located. For example, the computing device 110 may include the first location and the second location in the above-described request for obtaining the payment strategy in order to obtain the payment strategy associated with data acquisition between the first location and the second location. Thus, it is possible to obtain payment strategies associated with the locations of the terminal device and the storage device.

[0060] At box 508, computing device 110 determines multiple fees associated with multiple data items based on multiple sizes or multiple numbers of storage objects and according to multiple payment strategies.

[0061] At box 510, computing device 110 determines a recommended data item from multiple data items based on multiple costs. For example, the storage device containing the recommended data item has the lowest cost.

[0062] Therefore, when the recommendation criterion type is cost-sensitive, data items are recommended based on the data acquisition cost associated with the storage device in order to achieve the lowest cost.

[0063] The following combination Figure 6 A schematic block diagram describing an embodiment of the present disclosure.

[0064] like Figure 6 After receiving a request for a data item from the terminal device 120, the computing device 110 obtains user context information at box 601, such as configuration items 6011 associated with the recommendation criterion type in the user profile, the location 6012 of the terminal device 120, and the application type 6013.

[0065] Subsequently, the recommendation criterion type detector 602 determines the recommendation criterion type based on the acquired user context information, such as application type and configuration items.

[0066] If the recommendation criterion type is performance-sensitive, then at box 603, based on the location 6031 of the storage device where the data item is located and the performance statistics 6032 associated with the storage device, such as network performance and / or system performance, the best performing data item 605 is recommended as a response to the request.

[0067] If the recommendation criterion type is cost-sensitive, then at box 604, based on the size of the data items included in the cloud service provider's payment policy 6041 and metadata 6042, or the number of storage objects associated with the data items, the lowest cost data item 606 is recommended as a response to the request.

[0068] Therefore, it is possible to determine the type of recommendation criteria for data items based on user context such as application type or user configuration, and recommend the best-performing data items and the lowest-cost data items in the case of performance-sensitive and cost-sensitive types, respectively.

[0069] Figure 7 A schematic block diagram of an example device 700 that can be used to implement embodiments of the present disclosure is shown. For example, such as Figure 1 The computing device 110 shown can be implemented by device 700. As shown, device 700 includes a central processing unit (CPU) 701, which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 702 or loaded from storage unit 708 into random access memory (RAM) 703. The RAM 703 can also store various programs and data required for the operation of device 700. The CPU 701, ROM 702, and RAM 703 are interconnected via bus 704. Input / output (I / O) interface 705 is also connected to bus 704.

[0070] Multiple components in device 700 are connected to I / O interface 705, including: input unit 706, such as keyboard, mouse, microphone, etc.; output unit 707, such as various types of monitors, speakers, etc.; storage unit 708, such as disk, optical disk, etc.; and communication unit 709, such as network card, modem, wireless transceiver, etc. Communication unit 709 allows device 700 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0071] The various processes and procedures described above, such as methods 200-500, can be executed by processing unit 701. For example, in some embodiments, methods 200-500 can be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program can be loaded and / or installed on device 700 via ROM 702 and / or communication unit 709. When the computer program is loaded into RAM 703 and executed by CPU 701, one or more actions of methods 200-500 described above can be performed.

[0072] This disclosure relates to methods, apparatus, systems, electronic devices, computer-readable storage media, and / or computer program products. A computer program product may include computer-readable program instructions for performing various aspects of this disclosure.

[0073] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination thereof. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.

[0074] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.

[0075] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, etc., and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.

[0076] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0077] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0078] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0079] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0080] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, and are not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical applications, or technical improvements to the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. A method for recommending data items, comprising: Receive a request for a data item from a terminal device, the request including an identifier for identifying the data item and an application type, the application type indicating the type of purpose of the data item; Based on the application type, a recommendation criterion type matching the request is determined, wherein the recommendation criterion type indicates the type of criterion on which the data item is recommended; Identify multiple data items associated with the identifier, the multiple data items being located on multiple storage devices, wherein at least some of the multiple storage devices are located in different geographical locations; as well as Based on the recommendation criterion type, recommended data items are determined from the plurality of data items as a response to the request. If the recommendation criterion type is determined to be a performance-sensitive type, then: multiple network performance or multiple system performance associated with the multiple storage devices where the multiple data items are located are determined, and the recommended data item is determined from the multiple data items based on the multiple network performance or the multiple system performance; and The network performance among the plurality of network performance metrics includes at least one of latency, throughput, and data packet loss rate, and the system performance among the plurality of system performance metrics includes at least one of input / output performance, processor performance, and memory performance.

2. The method of claim 1, wherein determining the type of recommendation criterion includes: If the application type is determined to be related to disaster recovery, then the recommendation criterion type is determined to be a performance-sensitive type; as well as If the application type is determined to be related to data analysis, then the recommendation criterion type is determined to be cost-sensitive.

3. The method of claim 1, wherein determining the recommended data item comprises: If the recommendation criterion type is determined to be a performance-sensitive type, then: Obtain the first location of the terminal device from the request; Obtain multiple second locations of the multiple data items in the multiple storage devices from the metadata associated with the multiple data items; Determine multiple distances between the first position and the plurality of second positions; as well as The recommended data item is determined from the plurality of data items based on the plurality of distances.

4. The method of claim 1, wherein determining the recommended data item comprises: If the recommendation criterion type is determined to be cost-sensitive, then: Obtain at least one of the following: Multiple sizes of the multiple data items; The number of multiple storage objects associated with the multiple data items is obtained from the metadata associated with the multiple data items, wherein the data items are divided into multiple storage objects for storage; Obtain multiple payment strategies associated with the data acquisition from the multiple storage devices where the multiple data items are located; Based on the plurality of sizes or the plurality of storage objects, determine the plurality of fees associated with the plurality of data items according to the plurality of payment strategies; as well as Based on the multiple costs, the recommended data item is determined from the multiple data items.

5. The method according to claim 4, wherein obtaining the plurality of payment strategies includes: Obtain the first location of the terminal device from the request; Obtain multiple second locations of the multiple data items in the multiple storage devices from the metadata associated with the multiple data items; as well as Multiple payment strategies associated with data acquisition between the first location and the multiple second locations are obtained from the multiple storage devices containing the multiple data items.

6. The method according to claim 1, further comprising: Locate the configuration item associated with the recommendation criterion type in the user profile associated with the terminal device; If the configuration item is found in the user profile, the recommendation criterion type is determined based on the configuration item. as well as If the configuration item is not found in the user profile, the recommendation criterion type is determined based on the application type.

7. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enable the at least one processor to perform a method, the method comprising: Receive a request for a data item from a terminal device, the request including an identifier for identifying the data item and an application type, the application type indicating the type of purpose of the data item; Based on the application type, a recommendation criterion type matching the request is determined, wherein the recommendation criterion type indicates the type of criterion on which the data item is recommended; Identify a plurality of data items associated with the identifier, the plurality of data items residing in a plurality of storage devices, wherein at least some of the plurality of storage devices are located in different geographical locations; and Based on the recommendation criterion type, recommended data items are determined from the plurality of data items as a response to the request. If the recommendation criterion type is determined to be a performance-sensitive type, then: multiple network performance parameters or multiple system performance parameters associated with the multiple storage devices containing the multiple data items are determined, and based on the multiple network performance parameters or the multiple system performance parameters, the recommended data item is determined from the multiple data items; and The network performance among the plurality of network performance metrics includes at least one of latency, throughput, and data packet loss rate, and the system performance among the plurality of system performance metrics includes at least one of input / output performance, processor performance, and memory performance.

8. The electronic device of claim 7, wherein determining the type of recommendation criteria includes: If the application type is determined to be related to disaster recovery, then the recommendation criterion type is determined to be a performance-sensitive type; as well as If the application type is determined to be related to data analysis, then the recommendation criterion type is determined to be cost-sensitive.

9. The electronic device of claim 7, wherein determining the recommended data item comprises: If the recommendation criterion type is determined to be a performance-sensitive type, then: Obtain the first location of the terminal device from the request; Obtain multiple second locations of the multiple data items in the multiple storage devices from the metadata associated with the multiple data items; Determine multiple distances between the first position and the plurality of second positions; as well as The recommended data item is determined from the plurality of data items based on the plurality of distances.

10. The electronic device of claim 7, wherein determining the recommended data item comprises: If the recommendation criterion type is determined to be cost-sensitive, then: The data items are divided into multiple storage objects for storage, and the data items are obtained from the metadata associated with the data items. Obtain multiple payment strategies associated with the data acquisition from the multiple storage devices where the multiple data items are located; Based on the plurality of sizes or the plurality of storage objects, determine the plurality of fees associated with the plurality of data items according to the plurality of payment strategies; as well as Based on the multiple costs, the recommended data item is determined from the multiple data items.

11. The electronic device according to claim 10, wherein obtaining the plurality of payment strategies includes: Obtain the first location of the terminal device from the request; Obtain multiple second locations of the multiple data items in the multiple storage devices from the metadata associated with the multiple data items; as well as Multiple payment strategies associated with data acquisition between the first location and the multiple second locations are obtained from the multiple storage devices containing the multiple data items.

12. The electronic device of claim 7, wherein the instructions are executed by the at least one processor to enable the at least one processor to perform the following steps: Locate the configuration item associated with the recommendation criterion type in the user profile associated with the terminal device; If the configuration item is found in the user profile, the recommendation criterion type is determined based on the configuration item; and If the configuration item is not found in the user profile, the recommendation criterion type is determined based on the application type.

13. A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to perform a method, the method comprising: Receive a request for a data item from a terminal device, the request including an identifier for identifying the data item and an application type, the application type indicating the type of purpose of the data item; Based on the application type, a recommendation criterion type matching the request is determined, wherein the recommendation criterion type indicates the type of criterion on which the data item is recommended; Identify multiple data items associated with the identifier, the multiple data items being located on multiple storage devices, wherein at least some of the multiple storage devices are located in different geographical locations; as well as Based on the recommendation criterion type, recommended data items are determined from the plurality of data items as a response to the request. If the recommendation criterion type is determined to be a performance-sensitive type, then: multiple network performance or multiple system performance associated with the multiple storage devices where the multiple data items are located are determined, and the recommended data item is determined from the multiple data items based on the multiple network performance or the multiple system performance; and The network performance among the plurality of network performance metrics includes at least one of latency, throughput, and data packet loss rate, and the system performance among the plurality of system performance metrics includes at least one of input / output performance, processor performance, and memory performance.

14. The non-transient computer-readable storage medium of claim 13, wherein determining the type of recommendation criterion includes: If the application type is determined to be related to disaster recovery, then the recommendation criterion type is determined to be a performance-sensitive type; as well as If the application type is determined to be related to data analysis, then the recommendation criterion type is determined to be cost-sensitive.

15. The non-transient computer-readable storage medium of claim 13, wherein determining the recommended data item comprises: If the recommendation criterion type is determined to be a performance-sensitive type, then: Obtain the first location of the terminal device from the request; Obtain multiple second locations of the multiple data items in the multiple storage devices from the metadata associated with the multiple data items; Determine multiple distances between the first position and the plurality of second positions; as well as The recommended data item is determined from the plurality of data items based on the plurality of distances.

Citation Information

Patent Citations

  • Method and system for recommending commercial content distribution network for content provider

    CN104202418A

  • Data transformation of performance statistics and ticket information for network devices for use in machine learning models

    EP3496015A1