Detailed Description
Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers can indicate functionally identical or similar elements. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The word "exemplary" is used exclusively herein to mean "serving as an example, embodiment, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
The term "and/or" herein is merely an association relationship describing an associated object, and means that there may be three relationships, for example, a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the term "at least one" herein means any one of a plurality or any combination of at least two of a plurality, for example, including at least one of a, B, and C, and may mean including any one or more elements selected from the group consisting of a, B, and C.
Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a better understanding of the present disclosure. It will be understood by those skilled in the art that the present disclosure may be practiced without some of these specific details. In some instances, methods, means, elements and circuits that are well known to those skilled in the art have not been described in detail so as not to obscure the present disclosure.
In the related art, the hardware in the adapter is usually managed by an Option ROM (Option ROM, optionally implemented read only memory) firmware in the adapter, which is prone to the following problems: 1. the method is limited in that the OpROM can only be loaded at a fixed position in the flash memory of the adapter, so the occupied size of the OpROM directly influences the occupied size of the flash memory, and the flash memory directly influences the performance of the adapter, so the method is not beneficial to improving the performance of the adapter. 2. And a developer can configure hardware information in the OpROM directly, so that the visualization degree is poor. 3. This type of approach has limited capability for hardware management, for example: when a PCIE interface of hardware is enumerated and other operations sensitive to relevant configuration parameters before OpROM firmware is executed, configuration cannot be completed normally.
In view of this, the embodiment of the present disclosure provides a hardware management method, which is applied to an adapter, where the hardware management method includes: acquiring hardware information corresponding to the hardware in the flash memory through the control system, and then configuring a register in the hardware through the control system according to the hardware information. The configuration parameters of the hardware in the embodiment of the disclosure are not stored in the OpROM, but are directly stored in the flash memory through the hardware information, so that the size of the flash memory occupied by the OpROM can be saved. And because the storage position of the OpROM in the flash memory is fixed, the hardware information can be stored in the address space in the flash memory before the OpROM, so that the space occupied by the flash memory in an invalid manner is reduced, the performance of each firmware operated in the flash memory is improved, and the overall performance of the adapter is favorably improved.
Referring to fig. 1, fig. 1 is a flowchart illustrating a management method of hardware according to an embodiment of the present disclosure, as shown in fig. 1, the management method is applied to an adapter, where the adapter includes a control system, a flash memory, and configurable hardware, and the adapter may be a network adapter, a sound adapter, a display adapter, and the like, and the embodiment of the present disclosure is not limited herein. The hardware may be any sub-component of the adapter, such as: the chip, the memory, the signal converter, etc. of the adapter are not described herein again. The management method comprises the following steps:
and S100, acquiring corresponding hardware information of the hardware in the flash memory through the control system. Wherein the hardware information is used to determine configuration parameters of registers in the hardware. For example, the control System may be firmware such as BISO (Basic Input Output System) that can allocate information resources at the adapter level. For example: if the adapter is a display adapter, the control system may be a VBIOS (VIDEO BIOS, VIDEO card BIOS), etc. For example, the hardware information may be represented as a hardware information table and stored in the flash memory. Illustratively, the hardware information may include a storage location of the configuration parameter of the register in the flash memory, a unique identification number for distinguishing different hardware, a size of the configuration parameter, and the like, and a developer may set the configuration parameter according to actual requirements, and the adapter may access the configuration parameter of the register according to the hardware information.
And S200, configuring a register in the hardware according to the hardware information through the control system. For example, the control system may configure the configuration parameters of the registers in the hardware according to the configuration parameters of the registers stored in the hardware information. For example: the configuration parameters may include operating parameters (e.g., read, write), register stored values, etc. for the operating state of the registers. The embodiment of the present disclosure does not limit the specific configuration of the configuration parameters, the configuration parameters may include a register parameter for which any register can be configured, and a developer may set the configuration of the configuration parameters by himself according to an actual application scenario. According to the hardware management method provided by the embodiment of the disclosure, since the configuration information of the hardware is not stored in the OpROM, but is directly stored in the flash memory through the hardware information, the size of the flash memory occupied by the OpROM can be saved. And because the storage position of the OpROM in the flash memory is fixed, the hardware information can be stored in the address space in the flash memory before the OpROM, so that the space occupied by the flash memory in an invalid manner is reduced, the performance of each firmware operated in the flash memory is improved, and the overall performance of the adapter is favorably improved. In addition, the embodiment of the disclosure improves the utilization rate of the flash memory, thereby being beneficial to reducing the hardware cost of the flash memory in the adapter.
In a possible implementation, the adapter further includes a system management module, where the system management module is configured to implement main management on the adapter, for example: the System management module may be configured to start a Real-Time Operating System (RTOS) of the adapter, enable an OpROM, initialize adapter resources, and so on. On this basis, the management method may further include: and acquiring hardware information corresponding to the hardware in the flash memory through the system management module. Wherein the hardware information is further used to determine configuration parameters of a control module in the hardware. Illustratively, the hardware may be configured with a control module to implement the logic flow control of the hardware. And then configuring a control module in the hardware through the system management module according to the hardware information. For example: the configuration parameters of the control module can be used to indicate whether the hardware multiplexes pins, whether the efuse (a kind of one-time programmable memory) of the hardware is programmed, and the like. The embodiments of the present disclosure do not limit the specific configuration of the configuration parameters, and the configuration parameters may include any control module parameter that the control module may be configured to. According to the hardware management method provided by the embodiment of the disclosure, the hardware information can be accessed through the system management module, so that the hardware is not only suitable for simple read-write operation, but also suitable for code logic flow control. In addition, operations sensitive to some configuration parameters of hardware in the related art can also be executed. Here, for example, enumeration operation is performed on a PCIE interface, since a code logic flow executed in the RTOS is executed before enumeration is performed on the PCIE interface, parameters affecting enumeration of the PCIE interface can be set by the RTOS based on the configuration parameters of the control module. In other words, the management method provided by the embodiment of the present disclosure has a stronger capability of managing hardware and more configurable parameters of the hardware.
Referring to fig. 2 in conjunction with a practical application scenario, fig. 2 is a schematic reference diagram illustrating a hardware management method according to an embodiment of the present disclosure. Taking the display adapter as an example, other types of adapters may perform corresponding adaptation settings according to their own control systems and system management modules. As shown in fig. 2, the display adapter may include a GPU system management unit (i.e., a system management module of the display adapter) and a VBIOS (i.e., a control system of the display adapter), which may interact based on PCIe, peripheral Component Interconnect express, a high speed serial computer expansion bus standard. After the display adapter is powered on, the GPU system management unit starts the GPU system to manage the RTOS (i.e. the RTOS of the display adapter), and initializes the GPU resources (i.e. the system resources of the display adapter). And then the VBIOS and the GPU system management unit construct an IPC (Inter-Process Communication) channel, wherein the IPC channel is used for information interaction between the VBIOS and the GPU system management unit. The VBIOS sends an access request of the entry table (i.e., the above-mentioned hardware information) through the IPC channel. And the GPU system management unit acquires the entry table from the flash memory after receiving the access request of the entry table and sends the entry table to the VBIOS. The VBIOS configures the register of the hardware by analyzing the configuration parameter of the register recorded in the entry table. And the GPU system management unit configures the control module of the hardware by analyzing the configuration parameters of the control module in the entry table. And finally completing the hardware configuration of the display adapter.
In a possible implementation, the management method may further include: and receiving the hardware information sent by the host, and storing the hardware information into a flash memory of the adapter. The host is coupled to the adapter to configure configuration parameters of registers of the adapter and/or configuration parameters of the control module. The host may be any electronic device with an adapter interface, and details of the embodiments of the disclosure are not described herein.
In a possible implementation, the management method may further include: and receiving hardware information corresponding to the hardware to be operated, which is sent by a host, and updating the hardware information of the hardware to be operated in the flash memory according to the hardware information corresponding to the hardware to be operated. In an example, the hardware information of each hardware of the adapter may be integrated in a binary file, that is, the hardware information corresponding to the hardware to be operated may include: the adapter receives the hardware information of the hardware to be operated and the hardware information of the hardware not to be operated (or the hardware information of all the hardware), and then the adapter can directly replace all the hardware information in the flash memory with the hardware information of the hardware to be operated. In an example, the host may also send only the hardware information of the hardware to be operated as the hardware information corresponding to the hardware to be operated, and the adapter may query the hardware information of the hardware to be operated in the flash memory according to the unique identifier in the hardware information, and replace only the hardware information of the hardware to be operated. The specific updating manner of the hardware information is not limited in this disclosure, and may be set by a developer according to an actual situation. The management method provided by the embodiment of the disclosure can respond to the modification of the hardware information by the host, perform sustainable update configuration, and improve the update flexibility and operation visibility of the hardware information.
The embodiment of the present disclosure further provides a hardware management method, which is applied to a host, where the host may be any electronic device with an adapter interface and an arithmetic function, and an adapter may be connected to the host through the adapter interface, a structure of the electronic device will be described in detail later, and with reference to fig. 3, fig. 3 shows a flowchart of a hardware management method according to an embodiment of the present disclosure, and as shown in fig. 3, the hardware management method includes:
step S400, obtaining configuration information corresponding to the hardware in the adapter. The configuration information is used for storing configuration information of a register in the hardware and/or configuration information of a control module. For example, the configuration information may be visible to a developer or a user side, that is, may be processed visually, and may be presented in a form of a table. The specific configuration of the configuration information, which is not limited in the embodiments of the present disclosure, may be flexibly determined by a developer according to an actual application scenario. In an example, the configuration information may further include remarks, performance information of the adapter, information of various interfaces of the adapter, register information, supported operating environments, and the like, so as to be read by developers, and facilitate cooperative maintenance of software and hardware.
And step S500, carrying out binary conversion on the configuration information corresponding to the hardware. Illustratively, the configuration information may be converted into a binary format by conversion software in the related art. In one example, only a portion of the fields in the configuration information may be binary converted. For example: if the configuration information includes remarks, which only assist developers and do not assist adapters, only the fields in the configuration information that are recognizable by the adapters or have assist functions can be binary-converted, so as to save the space finally occupied in the flash memory. In one example, the fields of the configuration information may include: the size of the configuration parameter, the value of the configuration parameter, the unique identifier, etc., and the embodiments of the present disclosure are not limited herein.
Step S600, generating a configuration file corresponding to the hardware according to the configuration information after binary conversion. Illustratively, the format of the configuration file can be flexibly selected, and the hardware information generated based on the configuration file can be recognized by the adapter. For example: the configuration file may be a JSON file. The JSON file may record a location in the flash memory where each configuration information is stored, so that the adapter saves the configuration information based on the location.
Step S700, generating hardware information corresponding to the hardware according to the configuration file, and sending the hardware information corresponding to the hardware to an adapter. Wherein the hardware information is used to determine configuration parameters of registers in the hardware and/or configuration parameters of control modules in the hardware. For example, the configuration file may be sent to the adapter after being subjected to the packing processing in the related art, which is not described herein again in the embodiments of the present disclosure. The management method provided by the embodiment of the disclosure can flexibly and widely perform centralized management on the configuration parameters in the adapter through the configuration information. In addition, the configuration file has visibility of a user side and a development side, so that the configuration file is beneficial to improving the adaptability of software in the host and hardware in the adapter, in other words, the configuration file is beneficial to the cooperative maintenance of the software and the hardware between the host and the adapter.
In a possible implementation, the management method further includes: and responding to modification of configuration information corresponding to the hardware to be operated, and performing binary conversion on the modified configuration information. And updating the configuration file according to the binary-converted and modified configuration information. And generating hardware information corresponding to the hardware to be operated according to the updated configuration file, and sending the hardware information corresponding to the hardware to be operated to the adapter. In combination with the actual application scenario, if a developer finds that the working condition of the hardware is abnormal or needs to reconfigure the hardware information of the hardware for the purpose of matching with software, the developer can directly modify the configuration information of the hardware to be operated. Finally, the adapter makes corresponding configuration change on the hardware to be operated. In combination with the actual application scenario of the user side, a visual adapter maintenance software may be stored on the host, and the maintenance software may acquire Management information (for example, board level information of the adapter) of each hardware level of the adapter through an Interface (for example, advanced Configuration and Power Management Interface) of the adapter, so that the user may manage the adapter.
It is understood that the above-mentioned method embodiments of the present disclosure can be combined with each other to form a combined embodiment without departing from the logic of the principle, which is limited by the space, and the detailed description of the present disclosure is omitted. Those skilled in the art will appreciate that in the above methods of the specific embodiments, the specific order of execution of the steps should be determined by their function and possibly their inherent logic.
In addition, the present disclosure also provides an adapter, a host, a computer-readable storage medium, and a program, which can be used to implement any hardware management method provided by the present disclosure, and the corresponding technical solutions and descriptions and corresponding descriptions in the method sections are not repeated.
Fig. 4 shows a block diagram of an adapter provided according to an embodiment of the present disclosure, and as shown in fig. 4, the adapter 100 includes: the control system 110 is configured to obtain hardware information corresponding to the hardware in the flash memory; wherein the hardware information is used to determine configuration parameters of registers in the hardware; the control system is also used for configuring a register in the hardware according to the hardware information; a flash memory 120 and configurable hardware 130.
In a possible implementation manner, the adapter further includes a system management module, configured to obtain hardware information corresponding to the hardware in a flash memory; wherein the hardware information is further used to determine configuration parameters of a control module in the hardware; the system management module is further used for configuring a control module in the hardware according to the hardware information.
In one possible embodiment, the adapter further comprises: and the hardware information storage module is used for receiving the hardware information sent by the host and storing the hardware information into the flash memory of the adapter.
In one possible embodiment, the adapter further comprises: a hardware information update module to perform any one of: and receiving hardware information corresponding to the hardware to be operated, which is sent by a host, and updating the hardware information of the hardware to be operated in the flash memory according to the hardware information corresponding to the hardware to be operated.
Fig. 5 shows a block diagram of a host provided according to an embodiment of the present disclosure, and as shown in fig. 5, the host 200 includes: a configuration information obtaining module 210, configured to obtain configuration information corresponding to hardware in the adapter; the configuration information is used for storing configuration information of a register in the hardware and/or configuration information of a control module; a binary conversion module 220, configured to perform binary conversion on the configuration information corresponding to the hardware; a configuration file generating module 230, configured to generate a configuration file corresponding to the hardware according to the configuration information after binary conversion; a hardware information sending module 240, configured to generate hardware information corresponding to the hardware according to the configuration file, and send the hardware information corresponding to the hardware to an adapter; wherein the hardware information is used to determine configuration parameters of registers in the hardware and/or configuration parameters of control modules in the hardware.
In a possible implementation manner, the hardware information sending module is further configured to perform any one of the following: responding to modification of configuration information corresponding to hardware to be operated, and performing binary conversion on the modified configuration information; updating the configuration file according to the binary-converted and modified configuration information; and generating hardware information corresponding to the hardware to be operated according to the updated configuration file, and sending the hardware information corresponding to the hardware to be operated to the adapter.
The method has specific technical relevance with the internal structure of the computer system, and can solve the technical problems of how to improve the hardware operation efficiency or the execution effect (including reducing data storage capacity, reducing data transmission capacity, improving hardware processing speed and the like), thereby obtaining the technical effect of improving the internal performance of the computer system according with the natural law.
In some embodiments, functions of or modules included in the apparatus provided in the embodiments of the present disclosure may be used to execute the method described in the above method embodiments, and specific implementation thereof may refer to the description of the above method embodiments, and for brevity, will not be described again here.
Embodiments of the present disclosure also provide a computer-readable storage medium having stored thereon computer program instructions, which when executed by a processor, implement the above-mentioned method. The computer readable storage medium may be a volatile or non-volatile computer readable storage medium.
An embodiment of the present disclosure further provides an electronic device, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to invoke the memory-stored instructions to perform the above-described method.
Embodiments of the present disclosure also provide a computer program product, which includes computer readable code or a non-volatile computer readable storage medium carrying computer readable code, when the computer readable code runs in a processor of an electronic device, the processor in the electronic device executes the above method.
As shown in connection with FIG. 6, a host may be an electronic device 800 that includes an adapter interface through which an adapter may interface with the host. Fig. 6 illustrates a block diagram of an electronic device 800 provided in accordance with an embodiment of the disclosure. For example, the electronic device 800 may be a User Equipment (UE), a mobile device, a User terminal, a cellular phone, a cordless phone, a Personal Digital Assistant (PDA), a handheld device, a computing device, a vehicle-mounted device, a wearable device, or other terminal device.
Referring to fig. 6, electronic device 800 may include one or more of the following components: a processing component 802, a memory 804, a power component 806, a multimedia component 808, an audio component 810, an input/output interface 812, a sensor component 814, and a communication component 816.
The processing component 802 generally controls overall operation of the electronic device 800, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing components 802 may include one or more processors 820 to execute instructions to perform all or a portion of the steps of the methods described above. Further, the processing component 802 can include one or more modules that facilitate interaction between the processing component 802 and other components. For example, the processing component 802 can include a multimedia module to facilitate interaction between the multimedia component 808 and the processing component 802.
The memory 804 is configured to store various types of data to support operations at the electronic device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phonebook data, messages, pictures, videos, and so forth. The memory 804 may be implemented by any type or combination of volatile or non-volatile memory devices, such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
The power supply component 806 provides power to the various components of the electronic device 800. The power components 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the electronic device 800.
The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and a user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front facing camera and/or a rear facing camera. The front camera and/or the rear camera may receive external multimedia data when the electronic device 800 is in an operation mode, such as a photographing mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 810 is configured to output and/or input audio signals. For example, the audio component 810 includes a Microphone (MIC) configured to receive external audio signals when the electronic device 800 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals may further be stored in the memory 804 or transmitted via the communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
The input/output interface 812 provides an interface between the processing component 802 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
The sensor assembly 814 includes one or more sensors for providing various aspects of state assessment for the electronic device 800. For example, the sensor assembly 814 may detect an open/closed state of the electronic device 800, the relative positioning of components, such as a display and keypad of the electronic device 800, the sensor assembly 814 may also detect a change in the position of the electronic device 800 or a component of the electronic device 800, the presence or absence of user contact with the electronic device 800, orientation or acceleration/deceleration of the electronic device 800, and a change in the temperature of the electronic device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object in the absence of any physical contact. The sensor assembly 814 may also include a light sensor, such as a Complementary Metal Oxide Semiconductor (CMOS) or Charge Coupled Device (CCD) image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 may access a wireless network based on a communication standard, such as a wireless network (Wi-Fi), a second generation mobile communication technology (2G), a third generation mobile communication technology (3G), a fourth generation mobile communication technology (4G), a long term evolution of universal mobile communication technology (LTE), a fifth generation mobile communication technology (5G), or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 further includes a Near Field Communication (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, ultra Wideband (UWB) technology, bluetooth (BT) technology, and other technologies.
In an exemplary embodiment, the electronic device 800 may be implemented by one or more Application Specific Integrated Circuits (ASICs), digital Signal Processors (DSPs), digital Signal Processing Devices (DSPDs), programmable Logic Devices (PLDs), field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the above-described methods.
In an exemplary embodiment, a non-transitory computer-readable storage medium, such as the memory 804, is also provided that includes computer program instructions executable by the processor 820 of the electronic device 800 to perform the above-described methods.
The present disclosure may be systems, methods, and/or computer program products. The computer program product may include a computer-readable storage medium having computer-readable program instructions embodied thereon for causing a processor to implement various aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: 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), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as a punch card or an in-groove protruding structure with instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be interpreted as a transitory signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or an electrical signal transmitted through an electrical wire.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present disclosure may be assembler instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions 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). In some embodiments, the electronic circuitry that can execute the computer-readable program instructions implements aspects of the present disclosure by utilizing the state information of the computer-readable program instructions to personalize the electronic circuitry, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA).
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
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 instructions, which comprises one or more executable instructions for implementing the specified logical function(s). 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 computer program product may be embodied in hardware, software or a combination thereof. In an alternative embodiment, the computer program product is embodied in a computer storage medium, and in another alternative embodiment, the computer program product is embodied in a Software product, such as a Software Development Kit (SDK), or the like.
The foregoing description of the various embodiments is intended to highlight various differences between the embodiments, and the same or similar parts may be referred to each other, and for brevity, will not be described again herein.
It will be understood by those skilled in the art that in the method of the present invention, the order of writing the steps does not imply a strict order of execution and any limitations on the implementation, and the specific order of execution of the steps should be determined by their function and possible inherent logic.
If the technical scheme of the application relates to personal information, a product applying the technical scheme of the application clearly informs personal information processing rules before processing the personal information, and obtains personal independent consent. If the technical scheme of the application relates to sensitive personal information, a product applying the technical scheme of the application obtains individual consent before processing the sensitive personal information, and simultaneously meets the requirement of 'express consent'. For example, at a personal information collection device such as a camera, a clear and significant identifier is set to inform that the personal information collection range is entered, the personal information is collected, and if the person voluntarily enters the collection range, the person is considered as agreeing to collect the personal information; or on the device for processing the personal information, under the condition of informing the personal information processing rule by using obvious identification/information, obtaining personal authorization by modes of popping window information or asking a person to upload personal information of the person by himself, and the like; the personal information processing rule may include information such as a personal information processor, a personal information processing purpose, a processing method, and a type of personal information to be processed.
Having described embodiments of the present disclosure, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.