Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present disclosure more clear, the technical solutions of the embodiments of the present disclosure will be described below clearly and completely with reference to the accompanying drawings of the embodiments of the present disclosure. It is to be understood that the described embodiments are only a few embodiments of the present disclosure, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the described embodiments of the disclosure without any inventive step, are within the scope of protection of the disclosure.
Unless otherwise defined, technical or scientific terms used herein shall have the ordinary meaning as understood by one of ordinary skill in the art to which this disclosure belongs. The use of "first," "second," and similar terms in this disclosure is not intended to indicate any order, quantity, or importance, but rather is used to distinguish one element from another. The word "comprising" or "comprises", and the like, means that the element or item listed before the word covers the element or item listed after the word and its equivalents, but does not exclude other elements or items. The terms "connected" or "coupled" and the like are not restricted to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "upper", "lower", "left", "right", and the like are used merely to indicate relative positional relationships, and when the absolute position of the object being described is changed, the relative positional relationships may also be changed accordingly.
To maintain the following description of the embodiments of the present disclosure clear and concise, a detailed description of known functions and known components have been omitted from the present disclosure.
The first embodiment of the present disclosure provides a method for video preview, where the flow of the method is shown in fig. 1, and the method includes steps S101 to S103:
s101, responding to the operation of sliding the user interface by the user, and detecting whether the elements meeting the preset preview condition are changed.
When a user wants to adjust the content displayed on the user interface, the user interface is slid, and the elements displayed on the user interface are changed along with the sliding of the user interface. The element is related information of a live broadcast room, for example, the element may include a set of contents such as a title, a name, a cover picture, a video stream, and the like of the live broadcast room, as shown in fig. 2, all contents included in an area where a dashed box is located are one element, that is, all related information of a live broadcast room.
Once the user interface has slid, the elements that meet the predetermined preview conditions typically change. In the process of detecting whether the element meeting the predetermined preview condition is changed, it may be detected whether the first element meets the predetermined preview condition, or whether the element information of the current element meeting the predetermined preview condition is the same as the element information of the first element.
For the predetermined preview condition, it may be the first completely displayed element on the current user interface, for example, element a is the first completely displayed element on the user interface before the user interface is slid, and when the user interface is slid, element B becomes the first completely displayed element on the user interface, and no matter which way is used for judging, the element meeting the predetermined preview condition is changed. In a specific implementation, the predetermined preview condition may also be set to be other, for example, an element that is displayed first and completely after reaching a predetermined height on the user interface, and a person skilled in the art may set the predetermined preview condition accordingly according to actual requirements, which is not described herein again.
And S102, under the condition of change, stopping previewing the video content of the first element on the user interface after the sliding of the user interface is stopped, and releasing the first player for previewing the video content, wherein the first element is an element previewed before the change.
The preview window of each live broadcast room needs a player to assist the live broadcast window to realize a preview function, that is, a video stream is played through the player, in the prior art, when the existing android system is used for live broadcast preview, a user interface is in a form of a multi-player, that is, each element (item) has a corresponding player, and when a user refreshes the user interface, when the element meeting the preview requirement at present is changed, the following process can be immediately executed: 1. stopping the element currently previewed and releasing the player resource; 2. creating a new player; 3. a preview of the elements that meet the requirements is started. However, since releasing the player resource is a time-consuming operation, the user interface may be stuck and the fluency is poor.
In order to solve the problem of the user interface being stuck, the embodiment of the present disclosure does not immediately stop previewing the video content of the first element and release the first player used for previewing the video content, but first responds to the sliding operation of the user interface, advances the sliding operation to the position before stopping previewing the video content of the first element, and then stops previewing the video content of the first element after the sliding operation of the user interface is stopped, and releases the first player used for previewing the video content.
In a specific programming operation, since the UI threads of the android system are sequentially executed, a runnable task is used to process the above existing processes 1, 2, and 3 at the UI thread post, thereby avoiding the stuck UI thread, i.e., the above existing processes 1, 2, and 3 are executed after the UI sliding is completely stopped.
And S103, creating a second player, and previewing the video content of a second element on the user interface by using the second player, wherein the second element is previewed after being changed.
Because the first player corresponding to the first element is released, if the second element needs to be previewed, a second player needs to be created for the second element, so that the created second player can be used for previewing the video content of the second element.
The embodiment of the disclosure prioritizes the process of the response sliding operation, places the process of the response sliding operation before stopping previewing the video content of the first element, namely, stops previewing the video content of the first element after the sliding of the user interface stops, and releases the first player used for previewing the video content. By applying the embodiment of the disclosure, when the user uses the UI interface, the user can not be blocked any more and the fluency is better because the process of responding to the sliding operation is processed preferentially.
A second embodiment of the present disclosure provides a method for video preview, where the flow of the method is shown in fig. 3, and the method includes steps S301 to S305:
s301, responding to the operation of sliding the user interface by the user, detecting whether the element meeting the preset preview condition changes.
When a user wants to adjust the content displayed on the user interface, the user interface is slid, and the elements displayed on the user interface are changed along with the sliding of the user interface. The element is related information of one live broadcast room, for example, the element may include a set of contents such as a title, a name, a cover picture, a video stream, and the like of the live broadcast room, that is, related information of all of one live broadcast room.
Once the user interface has slid, the elements that meet the predetermined preview conditions typically change. In the process of detecting whether the element meeting the predetermined preview condition is changed, it may be detected whether the first element meets the predetermined preview condition, or whether the element information of the current element meeting the predetermined preview condition is the same as the element information of the first element.
And for the preset preview condition, the preset preview condition can be the first completely displayed element on the current user interface, and when the preset preview condition is realized, the first element meeting the preset preview condition can be searched from top to bottom through the RecycleView control and is marked as an element A. For example, the element a is an element that is displayed first completely on the user interface before the user interface is slid, and when the user interface is slid, the element B becomes an element that is displayed first completely on the user interface, and no matter which way is used for judging, the element that meets the predetermined preview condition changes. In a specific implementation, the predetermined preview condition may also be set to be other, for example, an element that is displayed first and completely after reaching a predetermined height on the user interface, and a person skilled in the art may set the predetermined preview condition accordingly according to actual requirements, which is not described herein again.
And S302, under the condition of change, after the sliding of the user interface is stopped, stopping previewing the video content of a first element on the user interface, and releasing a first player for previewing the video content, wherein the first element is an element previewed before the change.
The preview window of each live broadcast room needs a player to assist the live broadcast window to realize a preview function, that is, a video stream is played through the player, in the prior art, when the existing android system is used for live broadcast preview, a user interface is in a form of a multi-player, that is, each element (item) has a corresponding player, and when a user refreshes the user interface, when the element meeting the preview requirement at present is changed, the following process can be immediately executed: 1. stopping the element currently previewed and releasing the player resource; 2. creating a new player; 3. a preview of the elements that meet the requirements is started. However, since releasing the player resource is a time-consuming operation, the user interface may be stuck and the fluency is poor.
In order to solve the problem of the user interface being stuck, the embodiment of the present disclosure does not immediately stop previewing the video content of the first element and release the first player used for previewing the video content, but first responds to the sliding operation of the user interface, advances the sliding operation to the position before stopping previewing the video content of the first element, and then stops previewing the video content of the first element after the sliding operation of the user interface is stopped, and releases the first player used for previewing the video content.
In a specific programming operation, since the UI threads of the android system are sequentially executed, a runnable task is used to process the above existing processes 1, 2, and 3 at the UI thread post, thereby avoiding the stuck UI thread, i.e., the above existing processes 1, 2, and 3 are executed after the UI sliding is completely stopped.
S303, a second player is created.
Because the first player corresponding to the first element is released, if the second element needs to be previewed, a second player needs to be created for the second element, so that the created second player can be used for previewing the video content of the second element.
S304, detecting whether at least one of the following conditions is met: the current network is a WIFI network, the current screen interface is a user interface, and data corresponding to the second element are loaded; and the second element is an element previewed after being changed.
For example, in order to save user traffic, live preview is started only when the network is in the WIFI state, and once it is detected that the WIFI network is changed into the 4G network, the preview timing is not satisfied, and if the 4G network is switched to the WIFI network again, the preview timing is satisfied.
For another example, the preview timing is satisfied only when the current screen interface is the user interface, and if the user enters a certain live broadcasting room or does not use the application software, the preview timing is not satisfied, and when the user exits from the certain live broadcasting room or switches from another application software to the user interface of the live broadcasting application software, the preview timing is satisfied.
For another example, when the data corresponding to the second element is not loaded yet, if the preview is performed, the video content will be jammed during the preview process, and if the data corresponding to the second element is loaded already, the jam will not occur, so that the loaded data corresponding to the second element can be used as the preview timing.
Certainly, there may be various preview timings, for example, it is not suitable to present previews in the sliding process, and the list sliding stop of the user interface may be used as the preview timing, and those skilled in the art may set the preview timing according to the actual situation, which is not described herein again.
S305, previewing, using the second player, the video content of the second element at the user interface if the at least one condition is satisfied.
For example, if the 4G network is switched to the WIFI network for the second time and the data corresponding to the second element is loaded, the created second player can be used to preview the video content of the second element because the preview opportunity is met, so as to implement the preview function of the video content in the live broadcast.
Specifically, when the application software is used, a user is likely to adjust the direction of the terminal device, and then the display interface of the application software is changed, so that the embodiment of the present disclosure needs to detect whether the preview direction of the current video content is changed; and when the preview direction is changed, adjusting the display proportion of a preview window corresponding to the second player according to the changed preview direction. In order for the preview window to appear unobtrusive, the preview window executes a 250ms animation of transparency that fades from completely transparent to completely opaque, while the play button of the element also executes a 250ms animation that fades away.
When the second player is used for previewing the video content of the second element on the user interface, a preview window corresponding to the second player and a playing button in the preview window can be displayed in a gradient manner. The process is actually an optional process, if the preview window and the buttons thereof are correspondingly provided with the display effect, the preview window and the buttons thereof can be set, and the preview window is enabled to appear softly by using animation.
The embodiment of the disclosure prioritizes the process of the response sliding operation, places the process of the response sliding operation before stopping previewing the video content of the first element, namely, stops previewing the video content of the first element after the sliding of the user interface stops, and releases the first player used for previewing the video content. By applying the embodiment of the disclosure, when the user uses the UI interface, the user can not be blocked any more and the fluency is better because the process of responding to the sliding operation is processed preferentially.
A third embodiment of the present disclosure provides a video previewing apparatus, which is schematically shown in fig. 4, and includes:
a first detection module 10, configured to detect whether an element meeting a predetermined preview condition changes in response to an operation of a user sliding a user interface; a releasing module 20, coupled to the first detecting module 10, configured to, in a case where a change occurs, after the sliding of the user interface is stopped, stop previewing the video content of the first element on the user interface, and release the first player for previewing the video content, where the first element is an element previewed before the change occurs; a creation module 30 coupled to the release module 20 for creating a second player; and a previewing module 40, coupled to the creating module 30, for previewing the video content of the second element on the user interface by using the second player, wherein the second element is previewed after being changed.
When a user wants to adjust the content displayed on the user interface, the user interface is slid, and the elements displayed on the user interface are changed along with the sliding of the user interface. The element is related information of one live broadcast room, for example, the element may include a set of contents such as a title, a name, a cover picture, a video stream, and the like of the live broadcast room, that is, related information of all of one live broadcast room.
Once the user interface has slid, the elements that meet the predetermined preview conditions typically change. In the process of detecting whether an element meeting a predetermined preview condition changes, the first detecting module may be specifically configured to: whether the first element meets a preset preview condition or not is detected, or whether the element information of the current element meeting the preset preview condition is the same as the element information of the first element or not is detected.
For the predetermined preview condition, it may be the first completely displayed element on the current user interface, for example, element a is the first completely displayed element on the user interface before the user interface is slid, and when the user interface is slid, element B becomes the first completely displayed element on the user interface, and no matter which way is used for judging, the element meeting the predetermined preview condition is changed. In a specific implementation, the predetermined preview condition may also be set to be other, for example, an element that is displayed first and completely after reaching a predetermined height on the user interface, and a person skilled in the art may set the predetermined preview condition accordingly according to actual requirements, which is not described herein again.
The preview window of each live broadcast room needs a player to assist the live broadcast window to realize a preview function, that is, a video stream is played through the player, in the prior art, when the existing android system is used for live broadcast preview, a user interface is in a form of a multi-player, that is, each element (item) has a corresponding player, and when a user refreshes the user interface, when the element meeting the preview requirement at present is changed, the following process can be immediately executed: 1. stopping the element currently previewed and releasing the player resource; 2. creating a new player; 3. a preview of the elements that meet the requirements is started. However, since releasing the player resource is a time-consuming operation, the user interface may be stuck and the fluency is poor.
In order to solve the problem of the user interface being stuck, the embodiment of the present disclosure does not immediately stop previewing the video content of the first element and release the first player used for previewing the video content, but first responds to the sliding operation of the user interface, advances the sliding operation to the position before stopping previewing the video content of the first element, and then stops previewing the video content of the first element after the sliding operation of the user interface is stopped, and releases the first player used for previewing the video content.
In a specific programming operation, since the UI threads of the android system are sequentially executed, a runnable task is used to process the above existing processes 1, 2, and 3 at the UI thread post, thereby avoiding the stuck UI thread, i.e., the above existing processes 1, 2, and 3 are executed after the UI sliding is completely stopped.
Because the first player corresponding to the first element is released, if the second element needs to be previewed, a second player needs to be created for the second element, so that the created second player can be used for previewing the video content of the second element.
The preview module may specifically include: a detection unit for detecting whether at least one of the following conditions is satisfied: the current network is a WIFI network, the current screen interface is a user interface, and data corresponding to the second element are loaded; a preview unit for previewing the video content of the second element at the user interface using the second player if the at least one condition is satisfied.
For example, in order to save user traffic, live preview is started only when the network is in the WIFI state, and once it is detected that the WIFI network is changed into the 4G network, the preview timing is not satisfied, and if the 4G network is switched to the WIFI network again, the preview timing is satisfied.
For another example, the preview timing is satisfied only when the current screen interface is the user interface, and if the user enters a certain live broadcasting room or does not use the application software, the preview timing is not satisfied, and when the user exits from the certain live broadcasting room or switches from another application software to the user interface of the live broadcasting application software, the preview timing is satisfied.
For another example, when the data corresponding to the second element is not loaded yet, if the preview is performed, the video content will be jammed during the preview process, and if the data corresponding to the second element is loaded already, the jam will not occur, so that the loaded data corresponding to the second element can be used as the preview timing.
Certainly, there may be various preview timings, for example, it is not suitable to present previews in the sliding process, and the list sliding stop of the user interface may be used as the preview timing, and those skilled in the art may set the preview timing according to the actual situation, which is not described herein again.
For example, if the 4G network is switched to the WIFI network for the second time and the data corresponding to the second element is loaded, the created second player can be used to preview the video content of the second element because the preview opportunity is met, so as to implement the preview function of the video content in the live broadcast.
The preview module is further specifically configured to: and displaying a preview window corresponding to the second player and a play button in the preview window in a gradual change mode. The function of the module is actually optional, if the preview window and the buttons thereof are correspondingly provided with the display effect, the preview window and the buttons thereof can be set, and the preview window is enabled to appear softly by utilizing animation.
Specifically, when the application software is used, the user may adjust the direction of the terminal device, and then the display interface of the application software is changed, so the apparatus according to the embodiment of the present disclosure may further include: the second detection module is used for detecting whether the preview direction of the current video content is changed; and the adjusting module is used for adjusting the display proportion of the preview window corresponding to the second player according to the changed preview direction when the preview direction is changed.
The embodiment of the disclosure prioritizes the process of the response sliding operation, places the process of the response sliding operation before stopping previewing the video content of the first element, namely, stops previewing the video content of the first element after the sliding of the user interface stops, and releases the first player used for previewing the video content. By applying the embodiment of the disclosure, when the user uses the UI interface, the user can not be blocked any more and the fluency is better because the process of responding to the sliding operation is processed preferentially.
A fourth embodiment of the present disclosure provides a storage medium, which is a computer-readable medium storing a computer program, which when executed by a processor implements the method provided in any embodiment of the present disclosure, including the following steps S11 to S13:
s11, responding to the operation of sliding the user interface by the user, and detecting whether the elements meeting the preset preview condition are changed;
s12, in case of change, after the sliding of the user interface is stopped, stopping previewing the video content of the first element on the user interface, and releasing the first player for previewing the video content, wherein the first element is the previewing element before the change;
and S13, creating a second player, and previewing the video content of a second element on the user interface by using the second player, wherein the second element is previewed after being changed.
When the computer program is executed by the processor to detect whether the element satisfying the predetermined preview condition is changed, the computer program is specifically executed by the processor to: whether the first element meets a preset preview condition or not is detected, or whether the element information of the current element meeting the preset preview condition is the same as the element information of the first element or not is detected.
When the computer program is executed by the processor to preview the video content of the second element on the user interface using the second player, the processor specifically executes the following steps: detecting whether at least one of the following conditions is satisfied: the current network is a WIFI network, the current screen interface is a user interface, and data corresponding to the second element are loaded; previewing, using the second player, the video content of the second element at the user interface if the at least one condition is satisfied.
The computer program is executed by the processor for previewing the video content of the second element on the user interface using the second player, in particular for executing by the processor the steps of: and displaying a preview window corresponding to the second player and a play button in the preview window in a gradual change mode.
The computer program is further executable by the processor to perform the steps of: detecting whether the preview direction of the current video content is changed; and when the preview direction is changed, adjusting the display proportion of a preview window corresponding to the second player according to the changed preview direction.
The embodiment of the disclosure prioritizes the process of the response sliding operation, places the process of the response sliding operation before stopping previewing the video content of the first element, namely, stops previewing the video content of the first element after the sliding of the user interface stops, and releases the first player used for previewing the video content. By applying the embodiment of the disclosure, when the user uses the UI interface, the user can not be blocked any more and the fluency is better because the process of responding to the sliding operation is processed preferentially.
A fifth embodiment of the present disclosure provides an electronic device, a schematic structural diagram of which may be as shown in fig. 5, and the electronic device at least includes a memory 901 and a processor 902, where the memory 901 stores a computer program, and the processor 902 implements the method provided in any embodiment of the present disclosure when executing the computer program on the memory 901. Illustratively, the electronic device computer program steps are as follows S21-S23:
s21, responding to the operation of sliding the user interface by the user, and detecting whether the elements meeting the preset preview condition are changed;
s22, in case of change, after the sliding of the user interface is stopped, stopping previewing the video content of the first element on the user interface, and releasing the first player for previewing the video content, wherein the first element is the previewing element before the change;
and S23, creating a second player, and previewing the video content of a second element on the user interface by using the second player, wherein the second element is previewed after being changed.
When executing the computer program stored in the memory for detecting whether the element satisfying the predetermined preview condition has changed, the processor specifically executes the following computer program: whether the first element meets a preset preview condition or not is detected, or whether the element information of the current element meeting the preset preview condition is the same as the element information of the first element or not is detected.
The processor, when executing the computer program stored on the memory for previewing the video content of the second element on the user interface using the second player, specifically executes the following computer program: detecting whether at least one of the following conditions is satisfied: the current network is a WIFI network, the current screen interface is a user interface, and data corresponding to the second element are loaded; previewing, using the second player, the video content of the second element at the user interface if the at least one condition is satisfied.
The processor, when executing the computer program stored on the memory for previewing the video content of the second element on the user interface using the second player, specifically executes the following computer program: and displaying a preview window corresponding to the second player and a play button in the preview window in a gradual change mode.
The processor also executes the following computer program stored on the memory: detecting whether the preview direction of the current video content is changed; and when the preview direction is changed, adjusting the display proportion of a preview window corresponding to the second player according to the changed preview direction.
The embodiment of the disclosure prioritizes the process of the response sliding operation, places the process of the response sliding operation before stopping previewing the video content of the first element, namely, stops previewing the video content of the first element after the sliding of the user interface stops, and releases the first player used for previewing the video content. By applying the embodiment of the disclosure, when the user uses the UI interface, the user can not be blocked any more and the fluency is better because the process of responding to the sliding operation is processed preferentially.
Referring now to FIG. 6, shown is another schematic diagram of an electronic device suitable for use in implementing embodiments of the present disclosure. The terminal device in the embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, electronic device 600 may include a processing means (e.g., central processing unit, graphics processor, etc.) 601 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)602 or a program loaded from storage 606 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the electronic apparatus 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Generally, the following devices may be connected to the I/0 interface 605: input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 606 including, for example, magnetic tape, hard disk, etc.; and a communication device 609. The communication means 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. While fig. 6 illustrates an electronic device 600 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory storage medium, the computer program containing program code for performing the method illustrated by the flow chart. In such embodiments, the computer program may be downloaded and installed from a network through the communication device 609, or installed from the storage device 606, or installed from the ROM 602. The computer program, when executed by the processing device 601, performs the above-described functions defined in the methods of the embodiments of the present disclosure.
In some embodiments, the clients, servers may communicate using any currently known or future developed network Protocol, such as HTTP (HyperText Transfer Protocol), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a Local Area Network (LAN), a Wide Area Network (WAN), the internet (e.g., the internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The storage medium may be included in the electronic device; or may exist separately without being assembled into the electronic device.
The storage medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: acquiring at least two internet protocol addresses; sending a node evaluation request comprising at least two internet protocol addresses to node evaluation equipment, wherein the node evaluation equipment selects the internet protocol addresses from the at least two internet protocol addresses and returns the internet protocol addresses; receiving an internet protocol address returned by the node evaluation equipment; wherein the obtained internet protocol address indicates an edge node in the content distribution network.
Alternatively, the storage medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: receiving a node evaluation request comprising at least two internet protocol addresses; selecting an internet protocol address from at least two internet protocol addresses; returning the selected internet protocol address; wherein the received internet protocol address indicates an edge node in the content distribution network.
Computer program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including but not limited to an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
It should be noted that the storage media described above in this disclosure can be computer readable signal media or computer readable storage media or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any storage medium that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a storage medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of an element does not in some cases constitute a limitation on the element itself.
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the disclosure herein is not limited to the particular combination of features described above, but also encompasses other embodiments in which any combination of the features described above or their equivalents does not depart from the spirit of the disclosure. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.
Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
While the present disclosure has been described in detail with reference to the embodiments, the present disclosure is not limited to the specific embodiments, and those skilled in the art can make various modifications and alterations based on the concept of the present disclosure, and the modifications and alterations should fall within the scope of the present disclosure as claimed.