Display device and network attached memory discovery method
By utilizing historical databases and multi-protocol collaborative detection technology through display devices, the problem of low efficiency in traditional network-attached memory discovery is solved, enabling rapid and comprehensive multi-protocol collaborative discovery.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HISENSE VISUAL TECH CO LTD
- Filing Date
- 2026-02-12
- Publication Date
- 2026-06-30
AI Technical Summary
Traditional network-attached storage discovery tools within local area networks only support a single basic protocol, resulting in low discovery efficiency, long scanning time and low coverage, lack of support for multiple streaming media services, and no history memory function, requiring a full rescan.
By using the display device to initiate a connection request with the identified network attachment memory information in the historical database, and sending a discovery broadcast of the preset streaming media service, seed devices that support historical protocols are marked, and the protocol to be checked is determined through multi-protocol collaborative detection, thus achieving rapid collaborative discovery.
It significantly improves the efficiency and comprehensiveness of network-attached storage discovery, supports rapid collaborative discovery across multiple protocols, and meets the need for rapid identification of multiple network-attached storage devices within the same local area network.
Smart Images

Figure CN122317318A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of display device technology, and in particular to a display device and a method for discovering network-attached memory. Background Technology
[0002] With the rapid development of display device functionality, the use of Network Attached Storage (NAS) for storing, managing, and playing audio and video files has become widespread. Users need to discover and manage multiple NAS devices within a local area network (LAN). The interaction between display devices and NAS devices relies on various network protocols. Traditional NAS discovery tools within a LAN often only support a single basic protocol and employ a full-port sequential scan, resulting in low NAS discovery efficiency. Summary of the Invention
[0003] This application provides a method for discovering display devices and network-attached storage, which can improve the efficiency of discovering network-attached storage within a local area network.
[0004] In a first aspect, some embodiments provide a display device, including: a display, an external device interface, and a controller. The display is configured to display content from a broadcast system or network and / or a user interface;
[0005] One or more external device interfaces are used to communicate with one or more network-attached memories according to a communication protocol, which includes at least a network protocol; the one or more network-attached memories are all located within the same local area network.
[0006] and at least one controller, which interfaces with the display and one or more external devices, and is configured to execute instructions to cause the display device to:
[0007] Based on the historical device network address and historical protocol port information obtained from the historical database, a connection request is sent to the corresponding port of the corresponding network attached storage, and a discovery broadcast of the preset streaming media service is sent.
[0008] If a connection to the corresponding network-attached storage device is successfully established using the historical device network address and historical protocol port information, it is determined that the corresponding network-attached storage device supports the historical protocol indicated by the historical protocol port information, and the corresponding network-attached storage device is marked as a seed device.
[0009] Upon receiving a broadcast response signal from any network attached storage device, determine that the corresponding network attached storage device supports the preset streaming media service, and mark the corresponding network attached storage device as a seed device;
[0010] Determine the protocol to be checked for each seed device, and if the connection to the corresponding seed device is successful through the protocol to be checked, determine that the corresponding seed device supports the protocol to be checked.
[0011] Beneficial Effects: Some embodiments provide a display device that, based on historical device network addresses and historical protocol port information obtained from a historical database, sends a connection request to the corresponding port of the corresponding network-attached storage device and sends a discovery broadcast of a preset streaming media service. This method of initiating connection requests using information on previously identified network-attached storage devices stored in the historical database significantly improves the discovery efficiency of network-attached storage devices. Furthermore, simultaneously sending the discovery broadcast of the preset streaming media service facilitates the rapid discovery of newly connected network-attached storage devices, and the comprehensiveness of network-attached storage device discovery is effectively improved through multi-protocol collaborative detection. When a connection is successfully established with the corresponding network-attached storage device using the historical device network address and historical protocol port information, it is determined that the corresponding network-attached storage device supports… The system uses historical protocol port information to indicate historical protocols and marks the corresponding network-attached storage devices (NATs) as seed devices. Upon receiving a broadcast response signal from any NAT, it determines that the corresponding NAT supports a preset streaming media service and marks it as a seed device. It then determines the protocol to be checked for each seed device. If a connection is successfully established with the corresponding seed device through the protocol to be checked, it determines that the corresponding seed device supports the protocol to be checked. In this way, by using NATs discovered based on historical databases and broadcast protocols as seed devices and further verifying the protocols to be checked for the seed devices, the system can quickly and collaboratively discover multiple protocols supported by seed devices, thus satisfying the requirement for rapid collaborative discovery of multiple protocols among multiple NATs within the same local area network.
[0012] Secondly, some embodiments also provide a network-attached memory discovery method, applied to the display device provided in the first aspect, the display device including: a display, a communication device, and a controller, the method including:
[0013] Based on the historical device network address and historical protocol port information obtained from the historical database, a connection request is sent to the corresponding port of the corresponding network attached storage, and a discovery broadcast of the preset streaming media service is sent.
[0014] If a connection to the corresponding network-attached storage device is successfully established using the historical device network address and historical protocol port information, it is determined that the corresponding network-attached storage device supports the historical protocol indicated by the historical protocol port information, and the corresponding network-attached storage device is marked as a seed device.
[0015] Upon receiving a broadcast response signal from any network attached storage device, determine that the corresponding network attached storage device supports the preset streaming media service, and mark the corresponding network attached storage device as a seed device;
[0016] Determine the protocol to be checked for each seed device, and if the connection to the corresponding seed device is successful through the protocol to be checked, determine that the corresponding seed device supports the protocol to be checked.
[0017] Beneficial Effects: Some embodiments provide a method for discovering network-attached storage devices (NATs). Based on historical device network addresses and historical protocol port information obtained from a historical database, a connection request is sent to the corresponding port of the NAT, and a discovery broadcast of a preset streaming media service is also sent. This method, which utilizes information about previously identified NATs stored in the historical database to initiate connection requests, significantly improves the efficiency of NAT discovery. Furthermore, the simultaneous sending of the discovery broadcast of the preset streaming media service facilitates the rapid discovery of newly connected NATs, and the multi-protocol collaborative detection effectively enhances the comprehensiveness of NAT discovery. When a connection is successfully established with the NAT using the historical device network address and historical protocol port information, the NAT is determined to be a network-attached storage device. The memory supports the historical protocols indicated by the historical protocol port information and marks the corresponding network-attached memory as a seed device. Upon receiving a broadcast response signal from any network-attached memory, it is determined that the corresponding network-attached memory supports a preset streaming media service and is marked as a seed device. The protocol to be checked for each seed device is determined. If a connection is successfully established with the corresponding seed device through the protocol to be checked, it is determined that the corresponding seed device supports the protocol to be checked. In this way, by using network-attached memories discovered based on the historical database and broadcast protocols as seed devices, and further verifying the protocols to be checked for the seed devices, multiple protocols supported by the seed devices can be quickly and collaboratively discovered, satisfying the requirement for rapid collaborative discovery of multiple protocols among multiple network-attached memories within the same local area network. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 This is a schematic diagram illustrating an operational scenario between a display device and a control device provided in some embodiments of this application;
[0020] Figure 2This is a schematic diagram of the hardware configuration of a display device provided in some embodiments of this application;
[0021] Figure 3 This is a schematic diagram of the hardware configuration of the control device provided in some embodiments of this application;
[0022] Figure 4 This is a schematic diagram of the software configuration of a display device provided in some embodiments of this application;
[0023] Figure 5 A flowchart illustrating a network-attached memory discovery method provided in some embodiments of this application;
[0024] Figure 6 A schematic diagram of the overall flow of a network-attached memory discovery method provided in some embodiments of this application;
[0025] Figure 7 This application provides a schematic flowchart of a rapid discovery phase method for some embodiments.
[0026] Figure 8 A schematic diagram of the method flow for the associated extension stage provided in some embodiments of this application;
[0027] Figure 9 This application provides a schematic flowchart of a method for the full-network scanning stage in some embodiments.
[0028] Figure 10 Structural block diagram of a network-attached memory discovery device provided in some embodiments of this application;
[0029] Figure 11 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0030] The embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described below do not represent all embodiments consistent with this application. They are merely examples of systems and methods consistent with some aspects of this application as detailed in the claims.
[0031] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.
[0032] The terms "first," "second," "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar or related objects or entities, and do not necessarily imply a specific order or sequence, unless otherwise specified. It should be understood that such terms are interchangeable where appropriate.
[0033] The terms “comprising” and “having”, and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device that includes a range of components is not necessarily limited to all of the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.
[0034] The term "module" refers to any known or subsequently developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functions associated with that element.
[0035] In this embodiment, the display device 200 generally refers to a device with screen display and data processing capabilities. For example, the display device 200 includes, but is not limited to, smart TVs, mobile terminals, computers, monitors, advertising screens, wearable devices, virtual reality devices, augmented reality devices, etc.
[0036] Figure 1 This is a schematic diagram illustrating an operational scenario between a display device and a control device provided in some embodiments of this application. For example... Figure 1 As shown, users can operate the display device 200 via touch operation, mobile terminal 300, and control device 100. For example, control device 100 can be a remote control, stylus, gamepad, etc.
[0037] The mobile terminal 300 can function as a control device for human-computer interaction between the user and the display device 200. It can also function as a communication device for establishing a communication connection with the display device 200 and exchanging data. In some embodiments, the mobile terminal 300 can have software applications installed on it and communicate with the display device 200 via network communication protocols to achieve one-to-one control and data communication. Furthermore, it can transmit audio and video content displayed on the mobile terminal 300 to the display device 200 for synchronized display.
[0038] like Figure 1 The diagram also shows that the display device 200 communicates with the server 400 via various communication methods. This allows the display device 200 to communicate via a local area network (LAN), a wireless local area network (WLAN), and other networks.
[0039] Display device 200 can provide broadcast television reception function, and can also be equipped with intelligent network television function that provides computer support function, including but not limited to network television, smart television, Internet Protocol television (IPTV), etc.
[0040] Figure 2 Provided for some embodiments of this application Figure 1 Hardware configuration block diagram of display device 200.
[0041] In some embodiments, the display device 200 may include at least one of a tuner 210, a communication device 220, a detector 230, a device interface 240, a controller 250, a display 260, an audio output device 270, a memory, a power supply, and a user input interface.
[0042] In some embodiments, detector 230 is used to acquire signals from the external environment or to interact with the outside world. For example, detector 230 includes a light receiver, a sensor for acquiring ambient light intensity; or, detector 230 includes an image acquisition device, such as a camera, which can be used to acquire external environmental scenes, user attributes, or user interaction gestures; or, detector 230 includes a sound acquisition device, such as a microphone, for receiving external sounds.
[0043] In some embodiments, the display 260 includes display function components for presenting images and driving components for driving image display. The display 260 is used to receive and display image signals output from the controller 250. For example, the display 260 can be used to display video content, image content, menu control interface components, and user control UI interfaces, etc.
[0044] In some embodiments, the communication device 220 is a component used to communicate with external devices or the server 400 according to various communication protocol types. The display device 200 may have multiple communication devices 220 depending on the supported communication methods. For example, when the display device 200 supports wireless network communication, it may have a communication device 220 with WiFi functionality. When the display device 200 supports Bluetooth connectivity, it needs to have a communication device 220 with Bluetooth functionality.
[0045] The communication device 220 enables the display device 200 to communicate with external devices or the server 400 via wireless or wired connections. Wired connections utilize data cables, interfaces, or other components to connect the display device 200 to external devices. Wireless connections utilize wireless signals or wireless networks. The display device 200 can directly establish a connection with external devices or indirectly through gateways, routers, or other connection devices.
[0046] In some embodiments, the controller 250 may include at least one of a central processing unit, a video processor, an audio processor, a graphics processor, and a power processor, and a first to an nth interface for input / output. The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in memory. The controller 250 controls the overall operation of the display device 200.
[0047] In some embodiments, the controller 250 and the tuner 210 may be located in different separate devices, that is, the tuner 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.
[0048] In some embodiments, a user can input user commands through a graphical user interface (GUI) displayed on a display 260, and the user input interface receives user input commands through the graphical user interface (GUI).
[0049] In some embodiments, the audio output device 270 can be a built-in speaker of the display device 200 or an external audio output device connected to the display device 200. For the external audio output device connected to the display device 200, the display device 200 may also be provided with an external audio output terminal, through which the audio output device can be connected to the display device 200 to output sound from the display device 200.
[0050] In some embodiments, the user input interface 280 can be used to receive instructions from user input.
[0051] Figure 3 Provided for some embodiments of this application Figure 1 Hardware configuration block diagram of the central control device. (Example) Figure 3 As shown, the control device 100 may include: a controller 110, a communication interface 130, a user input / output interface, a memory, and a power supply.
[0052] The control device 100 is configured to control the display device 200, and to receive user input operation commands and convert the operation commands into commands that the display device 200 can recognize and respond to, thus acting as an intermediary for interaction between the user and the display device 200.
[0053] In some embodiments, the control device 100 may be an intelligent device. For example, the control device 100 may be equipped with various applications for controlling the display device 200 according to user needs.
[0054] In some embodiments, such as Figure 1As shown, the mobile terminal 300 or other smart electronic devices can perform similar functions to the control device 100 after installing the application of the control display device 200.
[0055] The controller 110 includes a processor 112, RAM 113, ROM 114, a communication interface 130, and a communication bus. The controller 110 is used to control the operation of the control device 100, as well as the communication and cooperation between internal components and the external and internal data processing functions.
[0056] Under the control of the controller 110, the communication interface 130 enables communication of control signals and data signals with the display device 200. The communication interface 130 may include at least one of other near-field communication modules such as WiFi chip 131, Bluetooth module 132, and NFC module 133.
[0057] User input / output interface 140, wherein the input interface includes at least one of other input interfaces such as microphone 141, touchpad 142, sensor 143, and button 144.
[0058] In some embodiments, the control device 100 includes at least one of a communication interface 130 and an input / output interface 140. The control device 100 is configured with the communication interface 130, such as a WiFi, Bluetooth, or NFC module, which can encode user input commands via WiFi, Bluetooth, or NFC protocols and send them to the display device 200.
[0059] The memory 190 is used to store various operating programs, data, and applications for driving and controlling the control device 100 under the control of the controller. The memory 190 can also store various control signal instructions input by the user.
[0060] The power supply 180 is used to provide operating power support for the various components of the control device 100 under the control of the controller.
[0061] In order to perform user interaction, in some embodiments, the display device 200 may run an operating system. The operating system is a computer program used to manage and control the hardware and software resources in the display device 200. The operating system can (control the display device) provide a user interface, allowing users to interact with the display device 200 and supporting the running of various applications.
[0062] It should be noted that the operating system can be a native operating system based on a specific operating platform, a third-party operating system that is deeply customized based on a specific operating platform, or an independent operating system specifically developed for display devices.
[0063] An operating system can be divided into different modules or levels based on the functions it implements, for example... Figure 4 As shown, in some embodiments, the system is divided into four layers, from top to bottom: the Applications layer (referred to as the "Application Layer"), the Application Framework layer (referred to as the "Framework Layer"), the System Library layer, and the Kernel layer.
[0064] In some embodiments, the application layer provides services and interfaces for applications, enabling the display device 200 to run applications and interact with the user based on the applications. The application layer may contain at least one application, which may be a built-in Windows program, system settings program, or clock program of the operating system; or it may be an application developed by a third-party developer. In specific implementations, the application packages in the application layer are not limited to the examples above.
[0065] The framework layer provides application programming interfaces (APIs) and a programming framework for applications. The application framework layer includes predefined functions. It acts as a central processing unit, determining the actions taken by applications within the application layer. Through the API, applications can access system resources and obtain system services during execution.
[0066] like Figure 4 As shown, the application framework layer in this embodiment includes a view system, managers, and content providers. The view system designs and implements the application's interface and interactions, and includes lists, grids, text boxes, and buttons. The managers include at least one of the following modules: an activity manager for interacting with all running activities in the system; a location manager for providing system services or applications with access to system location services; a package manager for retrieving various information related to application packages currently installed on the device; a notification manager for controlling the display and clearing of notification messages; and a window manager for managing icons, windows, toolbars, wallpapers, and desktop widgets on the user interface.
[0067] In some embodiments, the Activity Manager manages the lifecycle of individual applications and common navigation and back functions, such as controlling application exit, opening, and back actions. The Window Manager manages all window programs, such as obtaining the screen size, determining if a status bar is present, locking the screen, capturing the screen, and controlling changes to the display window, such as shrinking the display window, shaking the display, or distorting the display.
[0068] In some embodiments, the system runtime library layer can provide support for the framework layer. When the framework layer is used, the operating system runs the instruction library contained in the system runtime library layer, such as the C / C++ instruction library, to implement the functions to be performed by the framework layer.
[0069] In some embodiments, the kernel layer is a functional layer situated between the hardware and software of the display device 200. The kernel layer can implement functions such as hardware abstraction, multitasking, and memory management. For example, ... Figure 4 As shown, hardware drivers can be configured in the kernel layer. The kernel layer can contain at least one of the following drivers: audio driver, display driver, Bluetooth driver, camera driver, WIFI driver, USB driver, HDMI driver, sensor driver (such as fingerprint sensor, temperature sensor, pressure sensor, etc.), and power driver, etc.
[0070] It should be noted that the above examples are merely a simple division of operating system functions and do not limit the specific form of the operating system of the display device 200 in this application embodiment. Depending on the function of the display device, the type of operating system, and other factors, the number of levels and the specific level type of the operating system may be expressed in other forms.
[0071] With the rapid development of display device functionality, the storage, management, and playback of audio and video files via network attached storage (NAT) has become widely used. Users need to discover and manage multiple NAT devices within a local area network (LAN). The interaction between display devices and NAT devices relies on various network protocols. Traditional NAT discovery tools often support only a single protocol, such as SMB, lacking dedicated detection for streaming media services like Jellyfin / Emby; their scanning efficiency is low, for example, full port scanning takes several minutes and is highly load-bearing, resulting in slow response times; their scanning coverage is low, for example, only supporting default common ports and not supporting automatic discovery of custom ports; and they lack historical memory functionality, requiring a full scan every time, leading to low scanning efficiency.
[0072] Based on this, this application proposes a display device and a method for discovering network-attached memory. The display device includes a display, an external device interface, and a controller. The device includes: a display configured to display content from a broadcast system or network and / or a user interface; one or more external device interfaces for communicating with one or more network-attached storage devices according to a communication protocol, the communication protocol including at least a network protocol; the one or more network-attached storage devices being located within the same local area network; and at least one controller connected to the display and the one or more external device interfaces and configured to execute instructions to cause the display device to: send a connection request to the corresponding port of the corresponding network-attached storage device based on historical device network addresses and historical protocol port information obtained from a historical database, and send a discovery broadcast of a preset streaming media service; if a connection to the corresponding network-attached storage device is successfully established using the historical device network address and historical protocol port information, determine that the corresponding network-attached storage device supports the historical protocol indicated by the historical protocol port information, and mark the corresponding network-attached storage device as a seed device; if a broadcast response signal is received from any network-attached storage device, determine that the corresponding network-attached storage device supports the preset streaming media service, and mark the corresponding network-attached storage device as a seed device; determine the protocol to be checked for each seed device, and if a connection to the corresponding seed device is successfully established using the protocol to be checked, determine that the corresponding seed device supports the protocol to be checked. This method of initiating connection requests using information from identified network attached devices stored in a historical database significantly improves the discovery efficiency of network attached devices. Furthermore, simultaneously sending discovery broadcasts of preset streaming media services facilitates the rapid discovery of newly connected network attached devices. Multi-protocol collaborative detection effectively enhances the comprehensiveness of network attached device discovery. By using network attached devices discovered based on historical databases and broadcast protocols as seed devices, and further verifying the protocols to be checked on these seed devices, rapid collaborative discovery of multiple protocols supported by the seed devices can be achieved, satisfying the need for rapid collaborative discovery of multiple network attached devices within the same local area network.
[0073] In one exemplary embodiment, such as Figure 5 As shown, a network-attached memory discovery method is provided, which is applied to... Figure 1 Taking the display device 200 as an example, the explanation includes the following steps 502 to 508. Wherein:
[0074] Step 502: Based on the historical device network address and historical protocol port information obtained from the historical database, send a connection request to the corresponding port of the corresponding network attached storage, and send a discovery broadcast of the preset streaming media service.
[0075] The historical database refers to a database that stores connection information for identified network-attached storage devices (NATs). For example, connection information can be stored in the historical database when a display device successfully connects to a corresponding NAT. The historical database can store historical connection information for one or more NATs within a local area network (LAN), and the historical connection information for each NAT includes at least the historical device network address and historical protocol port information for that NAT.
[0076] The historical device network address refers to the local area network IP address of the network-attached storage device (NAT device) stored in the historical database. The historical protocol port information refers to the network protocol and port number corresponding to a successful connection between the NAT device and the display device, stored in the historical database. The corresponding NAT device can be identified based on the historical device network address, and the corresponding port within the NAT device can be identified based on the port indicated by the historical protocol port information.
[0077] In some embodiments, the display device initiates a first thread. In this first thread, in response to a network-attached memory (NAT) discovery operation, it retrieves the historical device network address and historical protocol port information from a historical database. Based on the historical device network and historical protocol port information, it determines the NAT and its port, and sends a connection request to the corresponding port of the NAT. For example, the NAT discovery operation can be implemented by triggering the network function in the operation display interface. For instance, if the historical device network address is 192.168.1.100 and the historical protocol port information is SMB protocol - port 445, then a connection request is sent to port 445 of the NAT with IP address 192.168.1.100. The connection request is used to verify whether the SMB protocol can communicate normally.
[0078] In some embodiments, there may be newly added devices, some unrecognized protocols, or changes in network addresses within the local area network. Therefore, the historical database may not contain the latest and most complete connection information.
[0079] Each network-attached storage device may support multiple types of network protocols, including but not limited to basic protocols such as SMB, WebDAV, and FTP, and streaming media services such as Jellyfin and Emby.
[0080] Preset streaming media services can be quickly discovered by sending broadcasts, such as Jellyfin and Emby. Discovery broadcasts refer to multicast broadcast data packets used to discover preset streaming media services. No specific network address needs to be specified; all network-attached storage devices within the local area network can receive them, and those supporting the preset streaming media service can actively send back response signals.
[0081] In some embodiments, the preset streaming media service may include at least one type of streaming media service, and the display device may simultaneously send discovery broadcasts corresponding to each of the at least one type of streaming media service to discover the streaming media services supported by each network-attached storage.
[0082] Step 504: If a connection to the corresponding network-attached storage is successfully established using the historical device network address and historical protocol port information, determine that the corresponding network-attached storage supports the historical protocol indicated by the historical protocol port information, and mark the corresponding network-attached storage as a seed device.
[0083] Here, "historical protocol" refers to the network protocol indicated by the historical protocol port information. When the corresponding network attached storage receives a connection request, it establishes a connection with the display device according to the connection request, obtains the connection result, and sends it to the display device. When the display device receives the connection result indicating successful connection from the corresponding network attached storage, it indicates that the corresponding port of the corresponding network attached storage and the display device have successfully connected through the historical protocol, thus confirming that the corresponding network attached storage supports the historical protocol.
[0084] The display device marks the corresponding network-attached memory as a seed device. A seed device is a network-attached memory whose supported protocols are determined through protocol checking.
[0085] In some embodiments, the display device initiates a second thread, in which, if a connection to the corresponding network-attached memory is successfully established using the historical device network address and historical protocol port information, the device determines that the corresponding network-attached memory supports the historical protocol and marks the corresponding network-attached memory as a seed device.
[0086] Step 506: Upon receiving a broadcast response signal from any network attached storage device, determine that the corresponding network attached storage device supports the preset streaming media service, and mark the corresponding network attached storage device as a seed device.
[0087] The broadcast response signal refers to the response signal returned by a network attached storage device (NETD) after receiving a discovery broadcast for a preset streaming media service. When a display device receives a broadcast response signal from any NETD, it determines that the corresponding NETD supports the preset streaming media service. For example, if a display device sends a discovery broadcast for the Jellyfin streaming media service, and all three NETDs on the local area network receive the broadcast, and the NETD with IP address 192.168.1.102 returns a broadcast response signal, then it is determined that this NETD supports the Jellyfin streaming media service.
[0088] The display device marks the corresponding network-attached memory as a seed device. Seed devices include network-attached memory discovered through historical databases and through discovery broadcasts.
[0089] Step 508: Determine the protocol to be checked for each seed device. If the connection with the corresponding seed device is successful through the protocol to be checked, determine that the corresponding seed device supports the protocol to be checked.
[0090] Here, the protocols to be checked refer to protocols that have not been checked by the corresponding seed device, or protocols that failed to be checked. For example, for each seed device, the protocols to be checked for the corresponding seed device are obtained by removing protocols that have successfully connected through historical database checks from the preset protocols, and by removing streaming media services that received broadcast response signals through discovery broadcasts.
[0091] The display device sends a connection request to each seed device to match the corresponding protocol to be checked, obtains the connection result, and determines that the corresponding seed device supports the corresponding protocol to be checked if the connection result indicates that the connection is successful.
[0092] In some embodiments, the protocols supported by each seed device, the ports where connections were successfully established, and the network addresses are added to the historical database.
[0093] In some embodiments, if there are multiple protocols to be checked, then the multiple protocols to be checked are traversed, and the protocol to be checked supported by the corresponding seed device is determined by the connection results of each of the multiple protocols to be checked.
[0094] In some embodiments, if each protocol to be checked has multiple ports to be checked, then the multiple ports to be checked for each protocol to be checked are traversed, and the connection results of each of the multiple ports to be checked are used to determine whether the corresponding seed device supports the current protocol to be checked.
[0095] To further improve device discovery efficiency, the inspection priority of multiple ports to be inspected can be determined. Based on the inspection priority, multiple ports to be inspected are traversed. If a connection is successfully established between the corresponding seed device and any port of the corresponding protocol to be inspected, it is determined that the corresponding seed device supports the corresponding protocol to be inspected.
[0096] In the aforementioned network-attached storage (NAT) discovery method, a connection request is sent to the corresponding port of the NAT based on the historical device network address and historical protocol port information obtained from the historical database, and a discovery broadcast of a preset streaming media service is also sent. This method of initiating connection requests using information on previously identified NATs stored in the historical database significantly improves the discovery efficiency of NATs. Furthermore, the simultaneous sending of the preset streaming media service discovery broadcast facilitates the rapid discovery of newly connected NATs, and the comprehensiveness of NAT discovery is effectively improved through multi-protocol collaborative detection. If a connection is successfully established with the NAT using the historical device network address and historical protocol port information, it is determined that the NAT supports historical... The system identifies historical protocols indicated by historical protocol port information and marks the corresponding network-attached storage devices (NATs) as seed devices. Upon receiving a broadcast response signal from any NAT, it determines that the corresponding NAT supports a preset streaming media service and marks it as a seed device. It then determines the protocol to be checked for each seed device. If a connection is successfully established with the corresponding seed device through the protocol to be checked, it confirms that the corresponding seed device supports the protocol to be checked. In this way, by using NATs discovered based on historical databases and broadcast protocols as seed devices and further verifying the protocols to be checked for the seed devices, the system can quickly and collaboratively discover multiple protocols supported by the seed devices, thus satisfying the requirement for rapid collaborative discovery of multiple protocols among multiple NATs within the same local area network.
[0097] In an exemplary embodiment, each seed device corresponds to at least one protocol to be checked. If a connection to the corresponding seed device is successfully established via the protocol to be checked, determining that the corresponding seed device supports the protocol to be checked includes: for each seed device, traversing at least one protocol to be checked for that seed device; sending a connection request to the corresponding port of the corresponding seed device based on the default port of the currently traversed protocol to be checked; if a connection to the corresponding seed device fails via the default port, obtaining the commonly used port of the currently traversed protocol to be checked, and sending a connection request to the corresponding port of the corresponding seed device based on the commonly used port; if a connection to the corresponding seed device is successfully established via either the default port or the commonly used port, determining that the corresponding seed device supports the corresponding protocol to be checked; and continuing to traverse the next protocol to be checked for the corresponding seed device until at least one protocol to be checked for the corresponding seed device has been traversed.
[0098] Among these, through historical databases and broadcast discovery, there may be undiscovered protocols, i.e., protocols to be inspected.
[0099] For each seed device, at least one protocol to be checked is traversed to perform a protocol check on each protocol to determine whether the seed device supports each protocol. The default interface refers to the standardized port of the corresponding protocol, while commonly used ports refer to ports used more frequently than the preset frequency for the corresponding protocol; these are alternative ports to the default port. For example, the default port for the DLNA protocol is 8200, and commonly used ports include 8201 and 8202.
[0100] Specifically, for each protocol to be checked, a default port check is first performed. If the connection is successfully checked through the default port check, it is determined that the corresponding seed device supports the protocol to be checked. If the default port check fails until the connection fails, a common port check is performed. If the connection is successfully checked through the common port check, it is determined that the corresponding seed device supports the protocol to be checked. If the connection fails through the common port check, the remaining ports of the corresponding protocol to be checked are further checked to determine whether the corresponding seed device supports the corresponding protocol to be checked.
[0101] Once at least one protocol to be checked has been traversed for each seed device, all protocols supported by that seed device are obtained.
[0102] In some embodiments, the protocols supported by each seed protocol, the ports where connections were successfully established, and the network addresses can be added to the historical database.
[0103] In this embodiment, for each protocol to be checked, a dual checking strategy of prioritizing the default port and selecting commonly used ports is adopted, which improves the success rate and efficiency of checking the protocol to be checked compared with the traditional single default port checking method.
[0104] In an exemplary embodiment, the network-attached memory discovery method further includes: if a connection to the corresponding seed device fails via a common port, filtering out default ports and common ports from preset ports to obtain the port to be checked for the corresponding protocol to be checked, and marking the corresponding seed device as a device to be scanned; continuing to traverse the next protocol to be checked for the corresponding seed device until at least one protocol to be checked for the corresponding seed device has been traversed, obtaining the device to be scanned corresponding to each of the at least one protocol to be checked; for each protocol to be checked, performing a port scan on the device to be scanned according to the port to be checked for the corresponding protocol; if a connection to the device to be scanned is successfully established via any port to be checked for the corresponding protocol to be checked, determining that the device to be scanned supports the corresponding protocol to be checked.
[0105] The "ports to be checked" in this context refers to the remaining unchecked ports of the protocol to be checked. Specifically, it refers to the ports remaining after filtering out default and commonly used ports from the preset ports. For example, the preset ports refer to the set of all possible ports for the preset protocol to be checked. For instance, the preset ports include ports between 0 and 65535.
[0106] Since connecting to the corresponding seed device failed through both the default port and the commonly used port, it is necessary to perform a further port scan on the seed device and mark it as a device to be scanned.
[0107] Once at least one protocol to be inspected has been traversed for each device to be scanned, the ports to be inspected for each of the at least one protocol to be inspected are obtained.
[0108] When there are multiple devices to be scanned, at least one device corresponding to each protocol to be inspected is identified. The network address of each device to be scanned is then assigned to the corresponding protocol scanner for each protocol to be inspected. Each protocol scanner is responsible for scanning a batch of devices to be scanned. If any port of the protocol to be inspected is successfully connected to a device to be scanned, it is determined that the device to be scanned supports the corresponding protocol to be inspected.
[0109] In this embodiment, for devices that fail to connect to both the default port and the commonly used port of the protocol to be checked, the ports to be checked are obtained by filtering the default port and the commonly used port, thereby performing a comprehensive scan of the ports to be checked on each device to ensure that the protocols supported by the device to be checked are identified and to avoid protocol omissions; according to each protocol to be checked, the ports to be checked on the devices to be checked are scanned separately, which improves the efficiency of port scanning and protocol checking.
[0110] In an exemplary embodiment, the network-attached memory discovery method further includes: if a connection to the corresponding network-attached memory fails using the historical device network address and historical protocol port information, obtaining a new device network address from the cache based on the fixed device information of the corresponding network-attached memory; sending a connection request to the corresponding port of the corresponding network-attached memory based on the new device network address and historical protocol port information; if a connection to the corresponding network-attached memory is successful using the new device network address and historical protocol port information, determining that the corresponding network-attached memory supports historical protocols, marking the corresponding network-attached memory as a seed device, and returning to the step of determining the respective protocols to be checked for each seed device and continuing execution.
[0111] Fixed device information refers to the unchanging information associated with a network-attached storage device (NAT) device, such as its MAC address. Within a local area network (LAN), common scenarios like router restarts and device restarts can cause changes to the NAT's network address. However, fixed device information often remains constant. Therefore, when a connection fails using historical connection information from a database, the fixed device information can be used to obtain the new device's network address, thus updating the network address. For example, the new NAT device's network address can be obtained by querying the ARP cache or performing an mDNS lookup.
[0112] The connection request is re-initiated using the new device's network address and historical protocol port information. If the connection is successful, it indicates that the network address of the corresponding network-attached storage device has changed, but it still supports historical protocols. The display device marks this network-attached storage device as a seed device to continue protocol checking according to the seed device checking method.
[0113] In this embodiment, if a connection fails to be established using historical connection information in the historical database, the device network address is updated using fixed device information, and a new connection request is initiated. This can quickly and successfully resolve connection failures caused by network address changes, improving device discovery efficiency. If a connection is successfully established using the new device network address, the seed device is marked to automatically initiate a multi-protocol collaborative scan of the seed device, improving the efficiency and comprehensiveness of device discovery.
[0114] In an exemplary embodiment, the network-attached storage discovery method further includes: if a connection to the corresponding network-attached storage fails using the new device network address and historical protocol port information, and the corresponding network-attached storage is not a seed device, then designate the corresponding network-attached storage as a device to be scanned; filter out preset streaming media services from preset protocols to obtain the protocol to be checked for the device to be scanned; for each protocol to be checked, perform port scanning on the device to be scanned according to the port to be checked for the corresponding protocol; if a connection to the device to be scanned is successfully established through any port to be checked for the corresponding protocol to be checked, then determine that the device to be scanned supports the corresponding protocol to be checked.
[0115] If the connection still fails after the device network address is updated, and the device is not a seed device (e.g., no broadcast response signal is received by discovering broadcast), it indicates that the historical protocol connection was unsuccessful, and the network attached memory is used as the device to be scanned for further protocol scanning.
[0116] The protocols to be checked refer to the remaining unchecked protocols of non-seed devices. Specifically, they are the protocols obtained by filtering out the preset streaming media services from the preset protocols. Since the historical protocols failed to connect, the protocols to be checked include the historical protocols.
[0117] The display device determines the port to be checked for each protocol. If the protocol to be checked is a historical protocol, it filters out the port indicated by the port information of the historical protocol from the preset ports to obtain the port to be checked for that protocol. If the protocol to be checked is not a historical protocol, it uses the preset port as the port to be checked for the protocol.
[0118] The preset port refers to the set of all possible ports for the protocol to be checked. For example, the preset ports include ports between 0 and 65535.
[0119] When there are multiple devices to be scanned, at least one device corresponding to each protocol to be inspected is identified. The network address of each device to be scanned is then assigned to the corresponding protocol scanner for each protocol to be inspected. Each protocol scanner is responsible for scanning a batch of devices to be scanned. If any port of the protocol to be inspected is successfully connected to a device to be scanned, it is determined that the device to be scanned supports the corresponding protocol to be inspected.
[0120] In this embodiment, for devices that still fail to connect after updating their network addresses, the preset streaming media services are filtered out to obtain the protocols to be checked. The ports of the protocols to be checked are used to perform a comprehensive port scan on each device to ensure that the protocols supported by the devices to be checked are identified and to avoid missing any protocols. Port scans are performed on each device to be checked according to each protocol to be checked, which improves the efficiency of port scanning and protocol checking.
[0121] In an exemplary embodiment, for each protocol to be inspected, a port scan of the device to be scanned is performed according to the port to be inspected of the corresponding protocol, including: for each protocol to be inspected, determining the inspection priority of at least one port to be inspected of the corresponding protocol, and traversing each port to be inspected according to the inspection priority; sending a connection request to the corresponding port of the device to be scanned according to the currently traversed port to be inspected; if the connection with the device to be scanned fails through the currently traversed port to be inspected, sending a connection request to the corresponding port of the device to be scanned according to the next port to be inspected of the corresponding protocol to be inspected, until the last port to be inspected of the corresponding protocol to be inspected is inspected, or a successful connection is made with the device to be scanned through any port to be inspected of the corresponding protocol to be inspected.
[0122] The inspection priority indicates the order in which the ports to be inspected are performed. For example, the inspection priority of the default port is higher than that of the custom port, and the inspection priority of the custom port is higher than that of the system port. In some embodiments, the inspection priority of each port to be inspected can be determined according to the usage frequency of the ports to be inspected, with the inspection priority of ports with higher usage frequency being higher than that of ports with lower usage frequency.
[0123] Determine the port type of each port to be inspected. If the port number of the port to be inspected is the preset port number corresponding to the protocol to be inspected, determine the port type of the port to be inspected as the default port; if the port number of the port to be inspected is within the range of custom port numbers (e.g., 5001-65535), determine the port type of the port to be inspected as a custom port; if the port number of the port to be inspected is within the range of system port numbers (e.g., 0-5000), determine the port type of the port to be inspected as a system port.
[0124] At least one port to be inspected is sorted in the order of default port, custom port, and system port. For ports of the same type, they are sorted by port size to obtain a sequence of ports to be inspected. Iterating through the ports in the sequence in order means iterating through the default ports first, then at least one custom port, and finally the system ports after the custom ports have been inspected.
[0125] For each port to be checked, if the connection fails through that port, continue to the next port to be checked until a successful connection is made through the port to be checked, thus determining that the corresponding device to be checked supports the corresponding protocol, or until the last port to be checked for the corresponding protocol is checked, thus determining that the corresponding device to be checked does not support the corresponding protocol.
[0126] This method of port scanning, which utilizes the inspection priority of the port to be inspected, can be applied to scenarios where both the default and commonly used ports of the seed device fail to connect, as well as scenarios where new devices (not seed devices) fail to connect to the network address.
[0127] In this embodiment, the ports to be checked during the full port scan process are prioritized and scanned sequentially according to their priority. This prioritizes scanning ports that are easier to connect to, avoiding blindly scanning all ports. Once a successful connection is detected, the scan can be terminated, effectively improving port scanning efficiency.
[0128] In an exemplary embodiment, the network-attached memory discovery method further includes: if a connection to the corresponding network-attached memory is successfully established using the new device network address and historical protocol port information, updating the historical device network address of the corresponding network-attached memory in the historical database to the new device network address.
[0129] If a connection is successfully established using the new device network address and historical protocol port information, it indicates that the connection failure using historical connection information in the historical database was caused by a change in the device network address. The corresponding network attachment storage still supports the historical protocol. The historical device network address of the corresponding network attachment storage in the historical database will be updated to the new device network address to ensure that the accurate and valid network address can be directly accessed during subsequent connections without having to repeatedly obtain the new device network address.
[0130] In this embodiment, when a connection is successfully established using the new device's network address, the historical database is updated. Subsequent connections can directly access the accurate and valid network address, reducing connection time and improving the efficiency of subsequent device discovery.
[0131] In an exemplary embodiment, determining the protocol to be checked for each seed device includes: if a connection to the corresponding network-attached storage is successfully established using historical device network addresses and historical protocol port information, filtering out historical protocols from a preset protocol to obtain the protocol to be checked for the corresponding network-attached storage; and if a broadcast response signal is received from any network-attached storage, filtering out a preset streaming media service from the preset protocol to obtain the protocol to be checked for the corresponding network-attached storage.
[0132] Among them, the network-attached storage may support multiple protocols. For seed devices that have successfully connected through historical protocols indicated by historical connection information, since the historical protocols have been checked and passed, the historical protocols are filtered out from the preset protocols to obtain the corresponding seed device's protocol to be checked.
[0133] For seed devices identified through broadcast discovery, since the preset streaming media service has already been checked, the preset streaming media service is filtered out from the preset protocol to obtain the corresponding seed device's protocol to be checked.
[0134] In this embodiment, by filtering the protocols that have been checked and passed for the seed devices identified in the two scenarios, each device obtains its own dedicated protocol to be checked. This reduces duplicate protocol verification and enables multi-protocol collaborative detection, thereby improving the efficiency of multi-protocol collaborative discovery in network-attached memory.
[0135] To illustrate the display device and network-attached memory discovery method in this solution in detail, the following is a detailed embodiment:
[0136] This embodiment proposes a display device including a display, external device interfaces, and a controller. The display is configured to display content from a broadcast system or network and / or a user interface; one or more external device interfaces are used to communicate with one or more network-attached memories (NATs) according to a communication protocol, which includes at least a network protocol; the one or more NATs are located within the same local area network; and at least one controller is connected to the display and the one or more external device interfaces and is configured to execute instructions to cause the display device to perform a NAT discovery method.
[0137] like Figure 6 The diagram illustrates the overall flow of a network-attached storage (NAT) discovery method in some embodiments. The NAT discovery method includes an initialization phase and a three-layer discovery phase. During the initialization phase, a historical database is loaded, and the local area network (LAN) IP range is obtained through ARP cache or DHCP information.
[0138] The first layer is the rapid discovery phase, such as... Figure 7 This is a flowchart illustrating the rapid discovery phase in some embodiments. Thread 1 loads the historical database to check historical devices. Based on the historical device network addresses and protocol port information obtained from the database, it initiates connection requests. If the connection is successful, the device is marked as a seed device; if the connection fails (e.g., port error, IP error), it is added to the retry queue and proceeds to layer 3. Thread 2 performs broadcast protocol discovery, such as discovering streaming media services like Jellyfin / Emby. It collects broadcast response signals for discovery broadcasts and marks the NAS devices that send broadcast response signals as seed devices. The seed device IPs from both threads are added to the seed device IP set.
[0139] The second layer is the association expansion stage, such as... Figure 8 This is a flowchart illustrating the association extension phase in some embodiments. It iterates through all seed devices discovered in the first layer, performing a cross-protocol check on each seed device, skipping already checked protocols, to obtain the protocols to be checked for each seed device. For example, if a seed device was discovered via Jellyfin, the protocols to be checked include SMB, WebDAV, FTP, etc. Default ports are scanned first; if a connection fails via the default port, commonly used ports are scanned to avoid a full port scan. If a scan of commonly used ports fails, the process proceeds to the third layer.
[0140] The third layer is the full network scanning stage, such as... Figure 9This is a flowchart illustrating the method for the full network scanning phase in some embodiments. Seed devices that failed to connect via the default port and commonly used ports of the protocol to be checked, and non-seed devices that failed to connect via historical device checks and still failed to connect via new IP addresses, are marked as devices to be scanned, resulting in a list of IPs to be scanned. Ports that have already been checked are filtered out, leaving the ports to be checked. The list of IPs to be scanned is fragmented and assigned to various protocol scanners. Each protocol scanner performs port scanning on the IP fragments assigned to it according to the checking priority of the ports to be checked. The checking priority can be: default ports are higher than custom ports, and custom ports are higher than system ports. Default ports: Each protocol to be checked checks its default port (e.g., port 445 for SMB, port 21 for FTP, etc.). Custom ports (5001-65535): Excluding the already scanned default ports, scanning is performed from low to high port number. System ports (0-5000): After excluding custom ports, scanning is performed from low to high port number.
[0141] In some embodiments, asynchronous concurrent connections can be used, and timeouts can be set to avoid prolonged blocking.
[0142] In some embodiments, the scan results of the three layers can be merged to combine the scan results of NAS devices with the same MAC address, thereby obtaining the scan results of multiple NAS devices within the local area network.
[0143] In some embodiments, the scan results of each NAS device obtained from the new scan are updated to the historical database. For NAS devices that fail to connect, the reasons for the failure (such as port closure, protocol mismatch, timeout, etc.) are recorded to avoid repeated attempts. The number of failures can also be marked.
[0144] In some embodiments, performance optimization can be achieved through at least one of concurrency control, timeout mechanisms, and cache utilization. For example, limiting the number of concurrent connections (e.g., 50 concurrent connections) can prevent network congestion; setting a timeout for each connection attempt (e.g., for broadcast detection, which can be set for all protocol connections); and periodically cleaning up invalid records in the historical database (e.g., after three consecutive connection failures).
[0145] In some embodiments, the discovery progress of NAS devices can be displayed in real time on the display interface, and historical devices that have been successfully connected can be marked.
[0146] Some embodiments provide a method for discovering display devices and network-attached storage devices (NATs). Based on historical device network addresses and historical protocol port information obtained from a historical database, a connection request is sent to the corresponding port of the network-attached storage device, and a discovery broadcast of a preset streaming media service is also sent. This method of initiating connection requests using information on previously identified network-attached storage devices stored in the historical database significantly improves the discovery efficiency of network-attached storage devices. Furthermore, simultaneously sending the discovery broadcast of the preset streaming media service facilitates the rapid discovery of newly connected network-attached storage devices, and the comprehensiveness of network-attached storage device discovery is effectively improved through multi-protocol collaborative detection. If a connection to the corresponding network-attached storage device is successfully established using the historical device network address and historical protocol port information, the corresponding network-attached storage device is determined... The memory supports the historical protocols indicated by the historical protocol port information and marks the corresponding network-attached memory as a seed device. Upon receiving a broadcast response signal from any network-attached memory, it is determined that the corresponding network-attached memory supports a preset streaming media service and is marked as a seed device. The protocol to be checked for each seed device is determined. If a connection is successfully established with the corresponding seed device through the protocol to be checked, it is determined that the corresponding seed device supports the protocol to be checked. In this way, by using network-attached memories discovered based on the historical database and broadcast protocols as seed devices, and further verifying the protocols to be checked for the seed devices, multiple protocols supported by the seed devices can be quickly and collaboratively discovered, satisfying the requirement for rapid collaborative discovery of multiple protocols among multiple network-attached memories within the same local area network.
[0147] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps. It is understood that the steps in different embodiments can be freely combined as needed, and all non-contradictory solutions formed by such combinations are within the scope of protection of this application.
[0148] Based on the same inventive concept, this application also provides a network-attached memory (NAT) discovery apparatus for implementing the aforementioned NAT discovery method. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more NAT discovery apparatus embodiments provided below can be found in the limitations of the NAT discovery method described above, and will not be repeated here.
[0149] In one exemplary embodiment, such as Figure 10 As shown, a network-attached storage (NAT) discovery device 1000 is provided, comprising: a connection module 1002, a first determination module 1004, a second determination module 1006, and a third determination module 1008, wherein:
[0150] The connection module 1002 is used to send a connection request to the corresponding port of the corresponding network attached storage according to the historical device network address and historical protocol port information obtained from the historical database, and to send a discovery broadcast of the preset streaming media service;
[0151] The first determining module 1004 is used to determine that the corresponding network-attached memory supports the historical protocol indicated by the historical protocol port information when a connection to the corresponding network-attached memory is successfully established through the historical device network address and historical protocol port information, and to mark the corresponding network-attached memory as a seed device.
[0152] The second determining module 1006 is used to determine, upon receiving a broadcast response signal sent by any network attached storage device, that the corresponding network attached storage device supports a preset streaming media service and to mark the corresponding network attached storage device as a seed device.
[0153] The third determining module 1008 is used to determine the protocol to be checked for each seed device. If the connection with the corresponding seed device is successful through the protocol to be checked, it is determined that the corresponding seed device supports the protocol to be checked.
[0154] Some embodiments provide a network attached storage (NAT) discovery device that, based on historical device network addresses and historical protocol port information obtained from a historical database, sends a connection request to the corresponding port of the corresponding NAT and sends a discovery broadcast of a preset streaming media service. This method of initiating connection requests using information on previously identified NATs stored in the historical database significantly improves the discovery efficiency of NATs. Furthermore, the simultaneous sending of the preset streaming media service discovery broadcast facilitates the rapid discovery of newly connected NATs, and the multi-protocol collaborative detection effectively improves the comprehensiveness of NAT discovery. If a connection to the corresponding NAT is successfully established using the historical device network address and historical protocol port information, the NAT is determined to be the correct NAT. It supports historical protocols indicated by historical protocol port information and marks the corresponding network-attached storage devices as seed devices. Upon receiving a broadcast response signal from any network-attached storage device, it determines that the corresponding network-attached storage device supports a preset streaming media service and marks it as a seed device. It determines the protocol to be checked for each seed device. If a connection is successfully established with the corresponding seed device through the protocol to be checked, it determines that the corresponding seed device supports the protocol to be checked. In this way, by using network-attached storage devices discovered based on historical databases and broadcast protocols as seed devices and further verifying the protocols to be checked for seed devices, it is possible to quickly and collaboratively discover multiple protocols supported by seed devices, thus satisfying the requirement for rapid collaborative discovery of multiple protocols among multiple network-attached storage devices within the same local area network.
[0155] The modules in the aforementioned network-attached memory discovery device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0156] In one exemplary embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 11As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, Near Field Communication (NFC), or other technologies. When the computer program is executed by the processor, it implements a network-attached memory discovery method. The display unit is used to form a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0157] Those skilled in the art will understand that Figure 11 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0158] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.
[0159] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0160] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0161] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0162] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0163] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0164] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A display device, characterized in that, include: The display is configured to show content from a broadcast system or network and / or a user interface; One or more external device interfaces are used to communicate with one or more network-attached memories according to a communication protocol, the communication protocol including at least a network protocol; the one or more network-attached memories are all located within the same local area network; and at least one controller, which is connected to the display and the one or more external device interfaces, and is configured to execute instructions to cause the display device to be configured as follows: Based on the historical device network address and historical protocol port information obtained from the historical database, a connection request is sent to the corresponding port of the corresponding network attached storage, and a discovery broadcast of the preset streaming media service is sent. If a connection to the corresponding network-attached memory is successfully established using the historical device network address and the historical protocol port information, it is determined that the corresponding network-attached memory supports the historical protocol indicated by the historical protocol port information, and the corresponding network-attached memory is marked as a seed device. Upon receiving a broadcast response signal from any network attached storage device, determine that the corresponding network attached storage device supports the preset streaming media service, and mark the corresponding network attached storage device as a seed device; The protocol to be checked for each seed device is determined. If a connection to the corresponding seed device is successfully established through the protocol to be checked, it is determined that the corresponding seed device supports the protocol to be checked.
2. The display device according to claim 1, characterized in that, Each seed device corresponds to at least one protocol to be checked; the controller, upon successfully connecting to the corresponding seed device via the protocol to be checked, determines that the corresponding seed device supports the protocol to be checked, and is configured as follows: For each seed device, iterate through at least one protocol to be checked for that seed device. Based on the default port of the protocol to be inspected currently being traversed, send a connection request to the corresponding port of the corresponding seed device; If the connection to the corresponding seed device fails through the default port, obtain the common port of the protocol to be checked that is currently being traversed, and send a connection request to the corresponding port of the corresponding seed device according to the common port. If a connection to the corresponding seed device is successfully established through either the default port or the commonly used port, it is determined that the corresponding seed device supports the corresponding protocol to be checked. Continue iterating through the next protocol to be checked for the corresponding seed device until at least one protocol to be checked for the corresponding seed device has been traversed.
3. The display device according to claim 2, characterized in that, The controller is further configured to: If the connection to the corresponding seed device fails through the common port, the default port and the common port are filtered out from the preset ports to obtain the port to be checked for the corresponding protocol, and the corresponding seed device is marked as the device to be scanned. Continue traversing the next protocol to be inspected for the corresponding seed device until at least one protocol to be inspected for the corresponding seed device has been traversed, thus obtaining the scanning device corresponding to each of the at least one protocol to be inspected. For each protocol to be inspected, a port scan is performed on the device to be scanned according to the port to be inspected for the corresponding protocol. If a device is successfully connected to the device to be scanned via any port of the corresponding protocol to be checked, it is determined that the device to be scanned supports the corresponding protocol to be checked.
4. The display device according to claim 1, characterized in that, The controller is further configured to: If the connection to the corresponding network-attached storage fails using the historical device network address and the historical protocol port information, the new device network address is obtained from the cache based on the fixed device information of the corresponding network-attached storage. Based on the new device network address and the historical protocol port information, a connection request is sent to the corresponding port of the corresponding network attached storage. If a connection is successfully established with the corresponding network-attached storage device using the new device's network address and the historical protocol port information, it is determined that the corresponding network-attached storage device supports the historical protocol. The corresponding network-attached storage device is then marked as a seed device, and the process returns to the step of determining the protocol to be checked for each seed device and continues execution.
5. The display device according to claim 4, characterized in that, The controller is further configured to: If the connection to the corresponding network-attached storage fails using the new device network address and the historical protocol port information, and the corresponding network-attached storage is not a seed device, the corresponding network-attached storage will be designated as the device to be scanned. The preset streaming media service is filtered out from the preset protocol to obtain the protocol to be checked for the device to be scanned; For each protocol to be inspected, a port scan is performed on the device to be scanned according to the port to be inspected for the corresponding protocol. If a device is successfully connected to the device to be scanned via any port of the corresponding protocol to be checked, it is determined that the device to be scanned supports the corresponding protocol to be checked.
6. The display device according to any one of claims 3 or 5, characterized in that, The controller is configured to perform port scanning on the device to be scanned according to the port to be scanned for each protocol to be inspected and the corresponding protocol. For each protocol to be inspected, determine the inspection priority of at least one port to be inspected for the corresponding protocol, and traverse each port to be inspected according to the inspection priority. Based on the port to be inspected that is currently being traversed, a connection request is sent to the corresponding port of the device to be scanned. If a connection to the device to be scanned fails through the currently visited port to be checked, a connection request is sent to the corresponding port of the device to be scanned according to the next port to be checked according to the corresponding protocol, until the last port to be checked of the corresponding protocol is checked, or a successful connection is made to the device to be scanned through any port to be checked of the corresponding protocol.
7. The display device according to claim 4, characterized in that, The controller is further configured to: If a connection to the corresponding network-attached storage is successfully established using the new device network address and the historical protocol port information, the historical device network address of the corresponding network-attached storage in the historical database will be updated to the new device network address.
8. The display device according to claim 1, characterized in that, The controller executes the protocol to be checked for each seed device and is configured as follows: If a connection to the corresponding network-attached memory is successfully established using the historical device network address and the historical protocol port information, the historical protocol is filtered out from the preset protocol to obtain the protocol to be checked for the corresponding network-attached memory. Upon receiving a broadcast response signal from any network-attached storage device, the preset streaming media service is filtered out from the preset protocol to obtain the corresponding network-attached storage device's protocol to be checked.
9. A method for discovering network-attached memory, characterized in that, include: Based on the historical device network address and historical protocol port information obtained from the historical database, a connection request is sent to the corresponding port of the corresponding network attached storage, and a discovery broadcast of the preset streaming media service is sent. If a connection to the corresponding network-attached memory is successfully established using the historical device network address and the historical protocol port information, it is determined that the corresponding network-attached memory supports the historical protocol indicated by the historical protocol port information, and the corresponding network-attached memory is marked as a seed device. Upon receiving a broadcast response signal from any network attached storage device, determine that the corresponding network attached storage device supports the preset streaming media service, and mark the corresponding network attached storage device as a seed device; The protocol to be checked for each seed device is determined. If a connection to the corresponding seed device is successfully established through the protocol to be checked, it is determined that the corresponding seed device supports the protocol to be checked.
10. The method according to claim 9, characterized in that, Each seed device corresponds to at least one protocol to be checked; the step of determining that the corresponding seed device supports the protocol to be checked when a connection is successfully established with the corresponding seed device via the protocol to be checked is configured as follows: For each seed device, iterate through at least one protocol to be checked for that seed device. Based on the default port of the protocol to be inspected currently being traversed, send a connection request to the corresponding port of the corresponding seed device; If the connection to the corresponding seed device fails through the default port, obtain the common port of the protocol to be checked that is currently being traversed, and send a connection request to the corresponding port of the corresponding seed device according to the common port. If a connection to the corresponding seed device is successfully established through either the default port or the commonly used port, it is determined that the corresponding seed device supports the corresponding protocol to be checked. Continue iterating through the next protocol to be checked for the corresponding seed device until at least one protocol to be checked for the corresponding seed device has been traversed.