WO2022022442A1 - 数据处理方法、装置、智能网卡和服务器 - Google Patents

数据处理方法、装置、智能网卡和服务器 Download PDF

Info

Publication number
WO2022022442A1
WO2022022442A1 PCT/CN2021/108353 CN2021108353W WO2022022442A1 WO 2022022442 A1 WO2022022442 A1 WO 2022022442A1 CN 2021108353 W CN2021108353 W CN 2021108353W WO 2022022442 A1 WO2022022442 A1 WO 2022022442A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
dynamic area
data
area
dynamic
Prior art date
Application number
PCT/CN2021/108353
Other languages
English (en)
French (fr)
Inventor
董益兼
李金涛
王宝生
Original Assignee
阿里巴巴集团控股有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2022022442A1 publication Critical patent/WO2022022442A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Definitions

  • This specification belongs to the field of Internet technology, and particularly relates to a data processing method, device, smart network card and server.
  • an auxiliary processor such as a network card, etc.
  • the data flowing into the load device can be received through the auxiliary processor, and the above-mentioned data can be processed correspondingly before being transmitted to the load device, so as to share the data processing volume of the load device.
  • auxiliary processor the hardware area in the above-mentioned auxiliary processor often needs to be upgraded, and the upgrade process will inevitably affect the data processing on the auxiliary processor, and even cause the data processing on the auxiliary processor to be interrupted.
  • This specification provides a data processing method, device, smart network card and server, so that the upgrade process of the auxiliary processor does not affect the data processing on the auxiliary processor and ensures the stability of data processing on the auxiliary processor.
  • a data processing method, device, intelligent auxiliary processor and load device provided in this specification are implemented as follows:
  • a data processing method comprising: determining a dynamic area to be upgraded in an auxiliary processor as a target dynamic area, and determining input data of the target dynamic area as the target data; wherein, the dynamic area includes an auxiliary processor arranged with an updater The hardware area of the data processing module whose frequency is greater than the preset frequency threshold; the transmission path of the target data is modified from pointing to the target dynamic area to pointing to the target process; wherein, the target process includes corresponding to the target dynamic area, and is preset in A process in the memory of a load device, the target process is used to process the target data in the process of upgrading the target dynamic area, the load device is connected to an auxiliary processor; and the target dynamic area is upgraded.
  • a data processing method comprising: receiving target data transmitted by an auxiliary processor through a target process; wherein, when the auxiliary processor determines that a dynamic area to be upgraded on the auxiliary processor is a target dynamic area, the target The data transmission path is modified from pointing to the target dynamic area to pointing to the target process, where the target process includes a process corresponding to the target dynamic area and preset in the memory of the load device; the target process is called to process the target data.
  • a data processing device comprising: a determination module for determining a dynamic area to be upgraded in an auxiliary processor as a target dynamic area, and determining input data of the target dynamic area as target data; wherein, the dynamic area includes auxiliary processing
  • the hardware area of the data processing module whose update frequency is greater than the preset frequency threshold is arranged on the device; the modification module is used to modify the transmission path of the target data from pointing to the target dynamic area to pointing to the target process; wherein, the target process includes and a process corresponding to the target dynamic area and preset in the memory of the load device, the target process is used to process the target data in the process of upgrading the target dynamic area, and the load device is connected to the auxiliary processor;
  • An upgrade module used to upgrade the target dynamic area.
  • a data processing device comprising: a receiving module for receiving target data transmitted by an auxiliary processor through a target process; wherein, when the auxiliary processor determines that a dynamic area to be upgraded on the auxiliary processor is the target dynamic area , modifying the transmission path of the target data from pointing to the target dynamic area to pointing to the target process, where the target process includes a process corresponding to the target dynamic area and preset in the memory of the load device; a processing module for calling The target process processes the target data.
  • a server comprising a first processor and a second processor, wherein the first processor and the second processor are electrically connected; the second processor is arranged with a dynamic area, the first processor A process corresponding to the dynamic area is arranged in the memory of the processor; the second processor determines the dynamic area to be upgraded in the second processor as the target dynamic area, and determines the input data of the target dynamic area as the target data ;
  • the transmission path of the target data is modified by the second processor to point to the target process by pointing to the target dynamic area; wherein, the target process includes a process corresponding to the target dynamic area in the memory of the first processor, and the The target process is used to process the target data in the process of upgrading the target dynamic area.
  • An intelligent network card the intelligent network card is electrically connected with a processor of a server, wherein a dynamic area is arranged on the intelligent network card, and a process corresponding to the dynamic area is preset in the processor memory of the server; Described intelligent network card is used to determine the dynamic zone to be upgraded in the network card as the target dynamic zone, and determine the input data of the target dynamic zone as target data; the intelligent network card is used to modify the transmission path of the target data by pointing to the target dynamic zone is pointing to the target process; wherein, the target process includes a process corresponding to the target dynamic area in the processor memory of the server, and the target process is used to process the target data in the process of upgrading the target dynamic area.
  • the dynamic area includes a hardware area on the auxiliary processor where data processing modules whose update frequency is greater than a preset frequency threshold are arranged; the transmission path of the target data is modified from pointing to the target dynamic area to pointing to the target process;
  • the The target process includes a process corresponding to the target dynamic area and preset in the memory of the load device, the target process is used to process the target data in the process of upgrading the target dynamic area, the load device and the auxiliary processors are connected; upgrade the target dynamic region.
  • the process corresponding to the dynamic area in the auxiliary processor can be pre-configured in the memory of the load device connected to the auxiliary processor;
  • upgrading the auxiliary processor you can first determine the target dynamic area of the dynamic area to be upgraded in the auxiliary processor, and determine the data input into the target dynamic area as the target data, and then change the transmission path of the above target data from the original one.
  • Pointing to the target dynamic area is modified to point to the target process corresponding to the target dynamic area, so that the target data can continue to be processed by calling the above target process during the upgrade process; after modifying the transmission path of the target data according to the above method, upgrade the target Dynamic area, so that the upgrade process of the auxiliary processor does not affect the data processing of the target data on the auxiliary processor, and ensures the stability and continuity of the data processing on the auxiliary processor.
  • FIG. 1 is a schematic diagram of an embodiment of a system structure composition using a data processing method provided by an embodiment of the present specification
  • FIG. 2 is a schematic flowchart of a data processing method provided by an embodiment of this specification
  • FIG. 3 is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in an example scenario
  • FIG. 4 is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in an example scenario
  • FIG. 5 is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in an example scenario
  • FIG. 6 is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in an example scenario
  • FIG. 7 is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in an example scenario
  • FIG. 8 is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in an example scenario
  • FIG. 9 is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in an example scenario
  • FIG. 10 is a schematic diagram of the structural composition of a server provided by an embodiment of this specification.
  • FIG. 11 is a schematic structural composition diagram of a data processing apparatus provided by an embodiment of the present specification.
  • the embodiments of this specification provide a data processing method, and the method can be specifically applied to a system architecture including a load device and a network card. See Figure 1.
  • the above-mentioned network card (a kind of auxiliary processor) can be connected to a load device (such as a server, etc.) through wired or wireless means, and is electrically connected to the processor in the load device.
  • the network card can be connected to an external network for receiving part or all of the data flowing into the load device from the external network.
  • the above-mentioned load device may specifically include an electronic device connected to a network card and capable of realizing functions such as data transmission and data processing.
  • the above-mentioned load device may be, for example, a server, a computer, a smart phone, and the like.
  • the above-mentioned network card may specifically include a network IO (input output) device that integrates some data processing functions.
  • the above-mentioned network card may at least be integrated with a hardware area, for example, an FPGA (Field Programmable Gate Array, Field Programmable Gate Array) and the like.
  • the carried hardware area when the network card is connected to the load device, on the side of the network card, the carried hardware area may be divided into two types of hardware areas: dynamic area and static area.
  • the network card can also determine a plurality of data processing modules (or processing logic, processing programs, etc.) and data interfaces to be arranged on the network card according to the connected load device. And determine the update frequency of the above-mentioned multiple data processing modules. Then according to the update frequency, the data processing modules with high update frequency (for example, the update frequency is greater than the preset frequency threshold) are allocated to the dynamic area, and the data processing modules with the low update frequency (for example, the update frequency is less than or equal to the preset frequency threshold) are allocated to the dynamic area.
  • the data processing module is allocated and laid out in the static area.
  • some relatively fixed interfaces (or APIs) can also be arranged in the static area.
  • the load device side After connecting to the network card, you can first allocate a part of the memory resources in the memory (for example, CPU, etc.), and use the above memory resources according to the data processing module in the dynamic area on the network card to configure the corresponding process (for example, Bypass process, etc.).
  • the above process is usually in a non-running state, and the load device will not use the process to perform related data processing.
  • the network card may first determine whether the hardware area to be upgraded is a dynamic area or a static area according to the upgrade instruction. When it is determined to be a dynamic zone, the dynamic zone to be upgraded may be determined as a target dynamic zone. Further, the input data transmitted to the target dynamic area on the network card can be determined as the target data.
  • the network card can modify the transmission path of the target data from originally pointing to the target dynamic area to pointing to the target process. In this way, the target data on the network card will no longer be transmitted to the target dynamic area, but will be transmitted from the static area to the target process according to the modified transmission path.
  • the target process includes a process corresponding to the target dynamic area and preset in the memory of the load device. The above-mentioned target process may replace the target dynamic area in the process of upgrading the target dynamic area of the network card, and process the target data.
  • the network card After completing the above path modification, the network card then upgrades the target dynamic area according to the above upgrade instruction.
  • the load device can receive the target data through the above-mentioned target process, and the target process will change from the non-running state to the running state.
  • the load device can temporarily process the above target data by invoking the above target process instead of the target dynamic area.
  • the memory resources of the load device can be temporarily used to replace the hardware resources on the network card, and the data processing of the target data can continue, so that the upgrade process will not affect the target data on the network card. processing, which improves the stability of data processing on the network card.
  • the network card may modify the transmission path of the above target data from pointing to the target process to pointing to the target dynamic area. In this way, after the upgrade is completed, the network card can switch to use the updated target dynamic area in time to reprocess the target data.
  • the target process on the load device side re-enters the non-running state, which will not affect the data processing on the load device side.
  • an embodiment of the present specification provides a data processing method. Specifically, the method can be applied to the side of the auxiliary processor connected with the load device. During specific implementation, the method may include the following contents.
  • S201 Determine the dynamic area to be upgraded in the auxiliary processor as the target dynamic area, and determine the input data of the target dynamic area as the target data; wherein, the dynamic area includes that the auxiliary processor has an update frequency that is greater than a preset frequency The hardware area of the data processing module for the threshold.
  • the above-mentioned auxiliary processor may be specifically understood as an electronic device that assists the load device to perform some data processing tasks, so as to reduce the data processing burden on the load device side.
  • the above-mentioned auxiliary processor may specifically include a network card and the like.
  • the network cards listed above are just a schematic illustration.
  • other suitable devices may also be used as the above-mentioned auxiliary processors according to specific conditions and processing requirements.
  • auxiliary processor As an example for specific description.
  • auxiliary processors can refer to the embodiment of the network card. In this regard, this specification will not repeat them.
  • the above-mentioned network card may be connected to the load device in a wired or wireless manner.
  • the above-mentioned network card may specifically be a network IO device that integrates some data processing functions, and can perform data processing functions such as hardware acceleration offloading of software applications on the load device.
  • the above-mentioned load device may specifically be an electronic device capable of realizing functions such as data transmission and data processing.
  • the above-mentioned load device may be a server, a computer, a smart phone, and the like.
  • the above-mentioned load device may specifically be installed with an application program (such as an APP) and/or a virtual machine (such as a VM) for receiving external data or performing related processing on the received external data.
  • an application program such as an APP
  • a virtual machine such as a VM
  • all or part of the data flowing from the outside to the load device can be received through the network card connected to the load device; and the above-mentioned data received is first processed by the network card. After that, it is transmitted to the load device.
  • the effect of sharing the data processing overhead of the load device for example, including network overhead and storage overhead of the load device, etc.
  • the above-mentioned network card may specifically be a smart network card that carries a processor (eg, an on-chip CPU module, an on-chip memory, etc.).
  • the method may be independently executed by the network card itself.
  • the above-mentioned network card may also be a non-intelligent network card that does not carry a processor by itself.
  • the method may be executed by the processor of the load device connected to the network card controlling the network card.
  • the above-mentioned network card may at least also carry a hardware area.
  • the above-mentioned hardware area may include an FPGA (Field Programmable Gate Array, Field Programmable Gate Array).
  • the above-mentioned FPGA can be specifically understood as a semiconductor integrated circuit, which can support changing and setting the electrical functions of the network card.
  • the user can set corresponding interfaces (such as API interfaces) on the network card by writing corresponding logic codes on the above-mentioned hardware regions such as FPGA, and/or arrange corresponding data processing modules (such as for Execute the processing logic, processing program, etc. of specific data processing, so that the network card can realize the corresponding data processing function.
  • corresponding interfaces such as API interfaces
  • data processing modules such as for Execute the processing logic, processing program, etc. of specific data processing, so that the network card can realize the corresponding data processing function.
  • the user can also upgrade the hardware area of the network card by modifying the logic code on the hardware area of the network card, so as to update the data processing modules and interfaces arranged in the hardware area of the network card accordingly.
  • the dynamic area may specifically include a hardware area on the auxiliary processor where data processing modules that are updated more frequently (for example, the update frequency is greater than a preset frequency threshold) are arranged.
  • the hardware area of the auxiliary processor may also include a static area.
  • the above-mentioned static area may specifically include a hardware area on the auxiliary processor where data processing modules that are updated relatively infrequently (for example, the update frequency is less than or equal to a preset frequency threshold) are arranged.
  • a relatively fixed interface may also be arranged in the above-mentioned static area.
  • the update frequency for dynamic zones is higher than that for static zones.
  • the auxiliary processor may first determine, according to the data processing situation of the load device, a plurality of data processing module. Further, the update frequency of the above-mentioned multiple data processing modules arranged in the auxiliary processor can be determined respectively; and then according to the update frequency of the data processing module, the data processing module whose update frequency is greater than the preset frequency threshold is allocated to the dynamic area. ; Allocate the data processing modules whose update frequency is less than or equal to the preset frequency threshold to the static area.
  • the update frequency of each data processing module may be determined by querying historical update records of multiple data processing modules.
  • the update frequency of the data processing module related to the APP can be estimated by querying the network update log of a certain APP of the load device.
  • the above-mentioned data processing modules that are updated more frequently can be screened out and centrally arranged in a sub-area in the hardware area of the auxiliary processor , the sub-area as a dynamic area.
  • the update frequency is greater than the preset frequency threshold
  • the specific value of the preset frequency threshold can be flexibly set according to the overall update frequency (eg, the average value of the update frequency) of the multiple data processing modules on the auxiliary processor and the specific processing requirements of the user. This specification does not limit this.
  • data processing modules that are updated relatively infrequently among the above-mentioned multiple data processing modules may be screened out and centrally arranged to auxiliary processing In another sub-area in the hardware area of the server, and use this sub-area as a static area.
  • the above-mentioned data processing modules that are updated relatively infrequently can also be arranged in other hardware areas other than the dynamic area in the hardware area of the auxiliary processor, that is, other hardware areas in the non-dynamic area of the auxiliary processor can also be placed in the hardware area of the auxiliary processor.
  • the area acts as a static area.
  • some relatively fixed interfaces or interfaces with a small change probability may also be arranged in the above-mentioned static area.
  • the auxiliary processor when the data processing module is not updated, the auxiliary processor does not need to be upgraded, and the auxiliary processor operates normally, please refer to FIG. 3 .
  • the data flowing into the load device from the outside will first flow into the static area of the auxiliary processor through the interface arranged in the static area of the auxiliary processor.
  • the auxiliary processor performs allocation through the static area, and transmits the above-mentioned data to the corresponding dynamic area.
  • the above data is processed by the data processing module in each dynamic area, and then transmitted from each dynamic area to specific applications such as APP and VM installed on the load device.
  • the auxiliary processor may further generate and send a process configuration request to the load device.
  • the above process configuration request may be specifically understood as request data for requesting the load device to configure the standby process corresponding to the dynamic area in the auxiliary processor in the memory.
  • the above-mentioned process configuration request may further carry related information of the dynamic area, for example, the module parameters and program codes of the data processing module in the dynamic area, and/or the interface parameters and input interface of the output interface of the dynamic area. interface parameters, and/or, logic code built into the dynamic area, etc.
  • the load device may receive and respond to the above-mentioned process configuration request, allocate a part of the memory resources in the memory (for example, CPU) of the load device, and use the above-mentioned memory resources to configure the process corresponding to the above-mentioned dynamic area, as a kind of Alternate processes based on software resources.
  • the memory for example, CPU
  • the above process may specifically include a Bypass process (also known as a bypass process).
  • the above-mentioned Bypass process can be specifically understood as a backup process for the data processing flow in the dynamic area, and can be understood as a processing module based on software resources that is different from hardware.
  • the above-mentioned Bypass process may be in a non-running state, and will not burden the memory resources of the load device.
  • the above-mentioned Bypass process will be awakened and enter the running state, and then the dynamic area can be temporarily replaced by the Bypass process to perform the data processing that the original dynamic area is responsible for, so as to avoid Because the dynamic area upgrade cannot work normally, the data processing originally responsible for the dynamic area is interrupted, which affects the data processing on the auxiliary processor.
  • bypass process listed above is only a schematic illustration.
  • other types of suitable processes may also be used to back up the data processing flow in the dynamic area by utilizing resources such as memory on the side of the load device, according to specific circumstances.
  • the load device may also be recorded and saved.
  • the load device may also send the above-mentioned corresponding relationship to the auxiliary processor.
  • the auxiliary processor and/or the load device can efficiently find the process corresponding to the dynamic area to be upgraded according to the above-mentioned correspondence.
  • the method may further include: receiving an upgrade instruction; wherein the upgrade instruction is used to determine the auxiliary processor The hard-plus area to be upgraded.
  • the above-mentioned upgrade instruction can be specifically understood as a kind of logic code for instructing to update the hardware area of the auxiliary processor, and the instruction data for correspondingly upgrading the auxiliary processor.
  • the above-mentioned upgrade instruction may also carry a logic code for updating the hardware area of the auxiliary processor.
  • the above-mentioned upgrade instruction may also carry indication information related to the hardware area to be upgraded, and the like.
  • the above-mentioned indication information may specifically include the type of the hardware area to be upgraded.
  • the type of the hardware area to be upgraded is a dynamic area or a static area.
  • the above-mentioned indication information may further include identification information for indicating the hardware area to be upgraded.
  • the identification information of the hardware area to be upgraded is DTQ-OO1 (corresponding to a certain dynamic area among the multiple dynamic areas) in the auxiliary processor, and so on.
  • the auxiliary processor may receive the above-mentioned upgrade instruction from a third party from an external network, or may receive an upgrade instruction generated and sent by the load device.
  • an APP of the social application class named XX Chat is installed on the load device.
  • the push information from the server of the XX chat network platform will be first received by the auxiliary processor through the network interface set in the static area, and then passed through the data processing module responsible for data distribution in the static area, according to the matching with the push information.
  • the push information is transmitted to the dynamic area where the data processing module responsible for processing the push information is arranged.
  • the data processing module responsible for processing the push information in the dynamic area can perform redirection scheduling processing on the push information, and determine that the target application to be scheduled by the push information is the XX chat APP installed on the load device, and then the push information can be It is transmitted to the XX chat APP of the load device through the preset interface. In this way, on the user side, the user can receive and browse the push information through the XX chat APP installed on the load device.
  • the server of the XX chat network platform can generate a corresponding upgrade instruction according to the update content on the platform side, and send the instruction to the auxiliary processor of the load device equipped with the XX chat APP, so as to instruct the auxiliary processor to update the relevant hardware area. to upgrade.
  • the dynamic area in the hardware area of the upgraded auxiliary processor can preprocess the push information, for example, set a keyword label at the beginning of the push information;
  • the pre-processed push information is redirected and scheduled, and the pre-processed push confidence is accurately transmitted to the XX chat APP of the load device.
  • the hardware area to be upgraded may be determined whether the hardware area to be upgraded is a dynamic area according to the above-mentioned upgrade instruction.
  • the dynamic area to be upgraded may be further determined as the target dynamic area.
  • a cold upgrade method may be used to upgrade the hardware area in the auxiliary processor.
  • the auxiliary processor can be controlled to suspend the data processing it is responsible for (including data processing in the static area and data processing in the dynamic area); upgrade the static area of the auxiliary processor according to the upgrade instruction; The area is reset to complete the upgrade; then the auxiliary processor is restarted to resume normal data processing.
  • a hot upgrade method may be adopted, and on the premise of not interrupting data processing on the auxiliary processor, the auxiliary processor can be stably and efficiently completed. Upgrade processing.
  • the dynamic area to be upgraded on the auxiliary processor may be further determined as the target dynamic area in one step according to the upgrade instruction.
  • the specific dynamic area to be upgraded can be determined from the above-mentioned multiple dynamic areas according to the upgrade instruction.
  • the dynamic area is the dynamic area 2, and then the dynamic area 2 can be determined as the target dynamic area.
  • the input data of the target dynamic area may be determined as the target data according to the target dynamic area.
  • the transmission path of the data allocated from the static area can be retrieved according to the identification information of the target dynamic area, the transmission path pointing to the dynamic area that matches the identification information of the target dynamic area can be found, and the transmission path of the transmission path can be found.
  • the corresponding data is determined as the target data.
  • S202 Modify the transmission path of the target data from pointing to the target dynamic area to pointing to the target process; wherein, the target process includes a process corresponding to the target dynamic area and preset in the memory of the load device, and the target process uses The load device is connected to an auxiliary processor for processing the target data in the process of upgrading the target dynamic area.
  • the above-mentioned target process can be specifically understood as a pre-configured process corresponding to the target dynamic area.
  • the above target process can be understood as a backup of the data processing flow included in the target dynamic area. Therefore, the target dynamic area can be replaced by the target process to complete the data processing that the target dynamic area is responsible for.
  • the process corresponding to the target dynamic area may be determined as the target process by querying the corresponding relationship between the dynamic area and the process according to the identification information of the target dynamic area.
  • the transmission path of the target data may be modified from originally pointing to the target dynamic area to pointing to the target dynamic area. target process. In this way, when the subsequent static area allocates the received data, the target data can be transmitted to the target process according to the modified transmission path, and the target data will not be transmitted to the target dynamic area again.
  • the target process can be set to receive the target data transmitted by the auxiliary processor, and can be triggered to enter the running state, and then the target process can restore the data processing flow of the target dynamic area, instead of the target dynamic area.
  • the data is processed accordingly, and the processed target data is then transmitted to the target application such as the corresponding APP or VM in the load device.
  • the auxiliary processor may also send a preset wake-up signal to the target process after completing the modification of the transmission path of the target data.
  • the target process receives and responds to the preset wake-up signal, enters the running state, and processes the target data transmitted from the static area.
  • the auxiliary processor can modify the transmission path of the push information sent by the network platform of XX chat in the above manner, and change the transmission path from the original point to the dynamic area 1 to the process 1.
  • a preset wake-up signal is sent to the 1 process, so that the process 1 transitions from the original non-running state to the running state, and starts to process the push information.
  • the static area may transmit the target data to the target process according to the modified transmission path, but will not transmit the target data to the target dynamic area.
  • the target process can replace the target dynamic area and perform corresponding processing on the received target data.
  • the target dynamic area can be upgraded according to the upgrade instruction.
  • the static area is based on the modified transmission path, the target data is transmitted to the target process for processing. Therefore, it is possible to avoid the phenomenon that the data processing originally responsible for the target dynamic area is interrupted due to the inability of the target dynamic area to work normally during the upgrade process, which affects the data processing on the auxiliary processor.
  • the above-mentioned upgrading of the target dynamic area according to the upgrade instruction may specifically include: according to the upgrade instruction, using the logic code for updating carried by the upgrade instruction to modify the logic code of the target dynamic area; The modified logic code is reloaded in , and then the target dynamic area is reset. After the reset is completed, the upgrade of the target dynamic area ends. The target dynamic zone after the upgrade can be restored to its normal working state.
  • the method may further include: determining whether the upgrade of the target dynamic area is completed; The transmission path of the target data is modified from pointing to the target process to pointing to the target dynamic area.
  • the auxiliary processor may detect whether the update of the target dynamic zone is completed by sending a detection signal light every preset time interval, for example, every 10 seconds.
  • the static area can continue to transmit the target data according to the transmission path pointing to the target process, and the target process continues to process the target data accordingly.
  • the auxiliary processor may re-modify the transmission path from pointing to the target process back to pointing to the target dynamic area.
  • the static area can transmit the target data to the target dynamic area according to the transmission path, and the target dynamic area can specifically process the target data based on the updated logic code. At this time, the target process no longer performs target data processing. The target process can re-enter the non-running state.
  • the static area after receiving the push information sent from the network platform of XX Chat, the static area will transmit the push information to the process 1 according to the modified transmission path, and will not transmit it to the dynamic area 1.
  • Process 1 will temporarily replace the dynamic zone 1 to redirect the received push information, and send the push information to the XX chat APP in the payload device.
  • the auxiliary processor may perform an upgrade process on the dynamic zone 1 according to the upgrade instruction. After determining that the upgrade of the dynamic area 1 is completed, the auxiliary processor will re-modify the transmission path of the push information from pointing to the process 1 back to pointing to the dynamic area 1.
  • the dynamic area 1 can process the above-mentioned push information through the data processing module based on the updated logic code. For example, the dynamic area 1 can first set the keyword tag associated with the push information at the beginning of the push information through the corresponding data processing module; Transfer to the XX chat APP of the load device. In this way, users can receive push messages with keywords through the XX chat APP.
  • the dynamic area of the auxiliary processor may specifically include multiple different dynamic areas. See Figure 5 and Figure 6.
  • the association relationship between the above-mentioned different dynamic regions may include a parallel relationship that is independent of each other.
  • the data processing processes involved in the data processing modules in different dynamic areas do not affect each other and are executed in parallel. See Figure 5.
  • Dynamic area 1 and dynamic area 2 are independent of each other and are connected in parallel.
  • the auxiliary processor for example, it can be denoted as SMART NIC
  • the processed data 1 is obtained as the output data of the dynamic area 1.
  • the above processed data 1 is then transmitted to APP1 (an application program deployed on the load device) in the load device (for example, can be marked as Host) connected to the auxiliary processor, and does not need to pass through other dynamic areas. for further processing.
  • Data 2 is similar to data 1. After being processed by the data processing module in dynamic area 2, the obtained processed data 2 will be transmitted from dynamic area 2 to APP2 in the load device without going through other dynamic areas for further processing. deal with.
  • the above-mentioned association relationship between different dynamic regions may also include a series relationship with mutual correlation.
  • the input data of the data processing involved in the data processing module in a certain dynamic area is the output data processed by the previous dynamic area, that is, the data processing involved in the data processing modules in different dynamic areas is related.
  • multiple dynamic regions need to be connected in series in a certain order, so that a complete data processing flow can be completed in sequence. See Figure 6.
  • Dynamic Zone 3 and Dynamic Zone 4 are connected in series. After the data 3 is processed for the first time in the dynamic area 3, the first processed data 3 output from the dynamic area 3 will be transmitted to the dynamic area 4 first.
  • the dynamic area 4 will use the data 3 processed for the first time as input data, process the data for the second time, and obtain the data 3 processed for the second time, and then use the data 3 processed for the second time as the output data. , and transmitted to APP3 in the load device.
  • the above-mentioned dynamic area 3 can be specifically understood as the upper cascade dynamic area of the dynamic area 4 , and on the contrary, the dynamic area 4 can be understood as the next cascade dynamic area of the dynamic area 3 .
  • the method may further include: The following content: determine the association relationship between the target dynamic area and other dynamic areas; correspondingly, modify the transmission path of the target data according to the association relationship between the target dynamic area and other dynamic areas.
  • the above-mentioned other dynamic areas may specifically be understood as dynamic areas other than the target dynamic area in the hardware area of the auxiliary processor.
  • the above-mentioned association relationship may specifically include a parallel relationship, a series relationship, and the like.
  • the above-mentioned serial relationship may further include an upper cascade relationship and/or a next cascade relationship with other dynamic regions, and the like.
  • the association relationship listed above is only a schematic illustration. For specific implementation, according to specific situations and processing requirements, more complex association relationships other than those listed above may also be introduced. This specification does not limit this.
  • the above-mentioned modification of the transmission path of the target data according to the association relationship between the target dynamic area and other dynamic areas is performed. , which may include: modifying the transmission path of the target data from pointing to the target dynamic area to pointing to the target process, and setting the transmission path of the output data of the target process to point to the target application.
  • the target application includes an application that is originally connected to the target dynamic zone and is set in the load device.
  • the target dynamic area is dynamic area 1, and dynamic area 1 and dynamic area 2 are in a parallel relationship.
  • the transmission path of data 1 needs to be changed from pointing to dynamic area 1 to pointing to process 1, and the transmission path of the output data of process 1 is set to point to APP1.
  • the association relationship between the target dynamic zone and other dynamic zones is a series relationship
  • the above-mentioned modification of the transmission path of the target data according to the relationship between the target dynamic area and other dynamic areas may include the following content:
  • the association relationship it is determined that in the case that the next cascade dynamic area of the target dynamic area does not exist in the other dynamic areas, the transmission path of the target data is modified from pointing to the target dynamic area to pointing to the target process, and the target process's transmission path is modified.
  • the transmission path of the output data is set to point to the target application.
  • the above-mentioned modification of the transmission path of the target data according to the association relationship between the target dynamic area and other dynamic areas may further include the following content: according to the relationship between the target dynamic area and other dynamic areas
  • the association relationship of the area determine that under the situation of the next cascade dynamic area of the target dynamic area in the other dynamic areas, the transmission path of the target data is modified from pointing to the target dynamic area to pointing to the target process, and the target process's transmission path is modified.
  • the transmission path of the output data is set to point to the next cascaded dynamic area of the target dynamic area.
  • the target dynamic area is dynamic area 3
  • dynamic area 3 and dynamic area 4 are in a series relationship.
  • the transmission path of data 3 needs to be modified from pointing to dynamic area 3 to pointing to process 3 , and at the same time, the transmission path of the output data of process 3 is set to point to dynamic area 4 .
  • the target dynamic area includes multiple dynamic areas, that is, when multiple dynamic areas are to be upgraded at the same time, in specific implementation, according to the current target dynamic area and other dynamic areas (except the current dynamic area).
  • the association relationship between other dynamic zones (other than the target dynamic zone) it is determined that in the other dynamic zones, there is the next cascaded dynamic zone of the current target dynamic zone, and it is further possible to judge the current target dynamic zone.
  • the cascaded dynamic area also belongs to the target dynamic area.
  • the transmission path of the current target data can be modified from pointing to the current target dynamic area to pointing to the current target dynamic area corresponding to the current target dynamic area.
  • the target process is set, and the transmission path of the output data of the target process is set to point to the target process corresponding to the next cascaded dynamic area of the current target dynamic area.
  • the transmission path of the current target data can be modified from pointing to the current target dynamic area to pointing to the current target dynamic area corresponding to the current target dynamic area.
  • the target process is set, and the transmission path of the output data of the target process is set to point to the next cascaded dynamic area of the current target dynamic area.
  • auxiliary processors such as smart network cards
  • Such auxiliary processors themselves may carry certain memory resources, such as software resources such as CPUs.
  • the above process may also be preset in the memory of the auxiliary processor before implementation.
  • the target process may further include a process corresponding to the target dynamic area and preset in the memory of the auxiliary processor.
  • the auxiliary processor can also allocate a part of the memory resources in the local memory (for example, the CPU of the auxiliary processor, etc.) for the auxiliary processor.
  • a process corresponding to the dynamic zone (such as the Bypass process, etc.) is configured locally as a backup process.
  • a pre-configured target process corresponding to the target dynamic area may be determined from the memory area of the auxiliary processor. Furthermore, the transmission path of the target data originally input to the target dynamic area can be modified from pointing to the target dynamic area to pointing to the target process.
  • the target data can be transmitted to the local target process of the auxiliary processor for processing according to the modified transmission path, and then the processed data can be transmitted to the corresponding application of the load device.
  • the process of upgrading the auxiliary processor will not increase the data processing burden of the load device, and at the same time, it can ensure the normal and stable data processing on the auxiliary processor, reduce the data processing volume of the load device, and avoid the data processing of the load device. processing has an impact.
  • a process corresponding to the dynamic area in the auxiliary processor can be configured in advance in the memory of the load device connected to the auxiliary processor;
  • Pointing to the target dynamic area is modified to point to the target process corresponding to the target dynamic area, so that the target data can continue to be processed by calling the above target process during the upgrade process; after modifying the transmission path of the target data according to the above method, upgrade the target Dynamic area, so that the upgrade process of the auxiliary processor will not affect the data processing of the target data on the auxiliary processor, which ensures the stability and continuity of data processing on the auxiliary processor, and avoids problems such as hardware single point failure. Also, when the dynamic area includes multiple dynamic areas, first determine the relationship between the target dynamic area and other dynamic areas; Therefore, in the process of upgrading the auxiliary processor, the corresponding processing can be more accurately performed based on the above-mentioned modified transmission path.
  • the target process in the local software area of the auxiliary processor when it is determined that the auxiliary processor carries memory, so that the target process local to the auxiliary processor can be used in the process of upgrading the hardware area of the auxiliary processor.
  • the process replaces the target dynamic area for data processing, so that the data processing burden of the load device can be avoided in the upgrade process, and the stability of the data processing on the load device side can be ensured.
  • the embodiments of this specification also provide a data processing method. Among them, the method is applied to the side of the load device. When the method is specifically implemented, the following contents may be included.
  • S1 Receive the target data transmitted by the auxiliary processor through the target process; wherein, when the auxiliary processor determines that the dynamic area to be upgraded on the auxiliary processor is the target dynamic area, the transmission path of the target data is directed to The target dynamic area is modified to point to a target process, and the target process includes a process corresponding to the target dynamic area and preset in the memory of the load device.
  • the method when the method is specifically implemented, the method may further include the following content: receiving and responding to a process configuration request of an auxiliary processor, and setting a relationship with the dynamic area in the memory according to the dynamic area in the auxiliary processor. corresponding process.
  • the invoking the target process to process the target data may include at least one of the following: performing redirection scheduling processing on the target data; or performing encapsulation processing on the target data; Decapsulate the data; or modify the content information of the target data, etc.
  • the data processing listed above is only a schematic illustration. During specific implementation, other related data processing other than the types listed above may also be introduced according to specific conditions and processing needs. This specification does not limit this.
  • the target process may specifically include a Bypass process and the like.
  • a Bypass process and the like.
  • the bypass process listed above is only a schematic illustration.
  • other suitable processes other than the Bypass process may also be constructed as the backup process corresponding to the target dynamic area according to specific circumstances.
  • the target process described above may be in a non-running state in general. In this way, the load device does not need to consume additional resources to maintain the above target process.
  • the target process will enter the running state only when the load device receives the target data through the target process, or when the load device receives a preset wake-up signal for the target process from the auxiliary processor, and then the target process can The received target data is processed in place of the target dynamic area.
  • the auxiliary processor modifies the transmission path of the target data, and when the target data is no longer transmitted to the target process, the target process can re-enter the non-running state.
  • the target process may automatically enter a non-running state when it is detected that the target process does not receive any more target data beyond a preset duration threshold.
  • the auxiliary processor generates and sends a preset recovery signal to the load device after determining that the upgrade of the target dynamic area is completed, and re-modifies the transmission path of the target data back to point to the target dynamic area.
  • the load device receives and responds to the preset restoration signal, and restores the target process to the original non-running state.
  • the auxiliary processor when the auxiliary processor is to be upgraded, it is possible to flexibly switch to the target process preset on the load device to process the target data in place of the target dynamic area, thereby enabling the auxiliary processing
  • the upgrade process of the processor will not affect the data processing on the auxiliary processor, which improves the stability of data processing on the auxiliary processor.
  • the target dynamic area on the auxiliary processor reprocesses the target data, and the target process on the recovery load device is restored to the non-running state, thereby reducing the data processing on the load device side. Influence.
  • An embodiment of this specification provides a server, including a first processor and a second processor, wherein the first processor and the second processor are electrically connected; the second processor is arranged with a dynamic zone , a process corresponding to the dynamic area is arranged in the memory of the first processor; the second processor determines the dynamic area to be upgraded in the second processor as the target dynamic area, and determines the target dynamic area
  • the input data is used as target data; the second processor modifies the transmission path of the target data from pointing to the target dynamic area to pointing to the target process; wherein, the target process includes the memory of the first processor and the target dynamic area.
  • the target process is used for processing the target data in the process of upgrading the target dynamic area.
  • an embodiment of the present specification further provides a server, wherein the server includes a network communication port 1001, a first processor 1002, a second processor 1003, and a memory 1004, and the above structure can be connected through an internal cable and so on, so that each structure can carry out specific data interaction.
  • a dynamic area is arranged on the second processor 1003, and a process corresponding to the dynamic area is arranged in the memory of the first processor 1002.
  • the network communication port 1001 can specifically be used to receive an upgrade instruction.
  • the second processor 1003 can be specifically configured to determine the dynamic area to be upgraded in the second processor 1003 as the target dynamic area according to the upgrade instruction, and determine the input data of the target dynamic area as the target data;
  • the second processor 1003 can also be specifically used to modify the transmission path of the target data from pointing to the target dynamic area to pointing to the target process; wherein, the target process includes the memory of the first processor 1002 and the target dynamic area. The corresponding process of the zone.
  • the second processor 1003 can transfer the target data from the static area to the target process of the first processor 1002, and then the first processor 1002 controls the target process to process the target data.
  • the memory 1004 can specifically be used to store corresponding instruction programs.
  • the network communication port 1001 may be a virtual port that is bound with different communication protocols, so that different data can be sent or received.
  • the network communication port may be a port responsible for web data communication, a port responsible for FTP data communication, or a port responsible for mail data communication.
  • the network communication port may also be a physical communication interface or a communication chip.
  • it can be a wireless mobile network communication chip, such as GSM, CDMA, etc.; it can also be a Wifi chip; it can also be a Bluetooth chip.
  • the first processor 1002 may be implemented in any suitable manner.
  • a processor may take the form of, for example, a microprocessor or a processor and a computer readable medium storing computer readable program code (eg software or firmware) executable by the (micro)processor, logic gates, switches, application specific integrated circuits ( Application Specific Integrated Circuit, ASIC), programmable logic controller and embedded microcontroller form, etc.
  • computer readable program code eg software or firmware
  • the second processor 1003 can be specifically understood as an auxiliary processor, which is used to assist the server to perform some data processing tasks, so as to reduce the data processing burden of the server.
  • the second processor 1003 may be an auxiliary processor built into the server, or an auxiliary processor (eg, a network card) that is externally connected to the server but electrically connected to the first processor 1002 of the server. .
  • the memory 1004 may include multiple layers.
  • a digital system as long as it can store binary data, it can be a memory; in an integrated circuit, a circuit with a storage function that has no physical form is also called a memory , such as RAM, FIFO, etc.; in the system, the storage device with physical form is also called memory, such as memory stick, TF card, etc.
  • the embodiment of this specification also provides a smart network card, the smart network card is electrically connected to the processor of the load device, wherein the smart network card is provided with a dynamic area, and the processor memory of the load device is preset with a The process corresponding to the dynamic area; the intelligent network card is used to determine the dynamic area to be upgraded in the network card as the target dynamic area, and determine the input data of the target dynamic area as the target data; the intelligent network card is used to convert the target data
  • the transmission path is modified from pointing to the target dynamic area to pointing to the target process; wherein, the target process includes a process corresponding to the target dynamic area in the processor memory of the load device, and the target process is used to upgrade the target dynamic area. process the target data.
  • the embodiments of this specification also provide a computer storage medium based on the above-mentioned data processing method, where the computer storage medium stores computer program instructions, and when the computer program instructions are executed, realizes: determining the dynamic status to be upgraded in the auxiliary processor area as the target dynamic area, and determine the input data of the target dynamic area as the target data; wherein, the dynamic area includes a hardware area on which the auxiliary processor is arranged with a data processing module whose update frequency is greater than a preset frequency threshold; The transmission path of the data is modified from pointing to the target dynamic area to pointing to the target process; wherein, the target process includes a process corresponding to the target dynamic area and preset in the memory of the load device, and the target process is used to upgrade all the processes.
  • the target data is processed in the process of the target dynamic area, the load device is connected to the auxiliary processor; the target dynamic area is upgraded.
  • the above-mentioned storage medium includes but is not limited to random access memory (Random Access Memory, RAM), read-only memory (Read-Only Memory, ROM), cache (Cache), hard disk (Hard Disk Drive, HDD) Or a memory card (Memory Card).
  • the memory may be used to store computer program instructions.
  • the network communication unit may be an interface for performing network connection communication, which is set according to a standard specified by a communication protocol.
  • the embodiments of this specification also provide a computer storage medium based on the above-mentioned data processing method, where the computer storage medium stores computer program instructions, and when the computer program instructions are executed, realizes: the target process receives the data transmitted by the auxiliary processor. target data; wherein, when the auxiliary processor determines that the dynamic area to be upgraded on the auxiliary processor is the target dynamic area, the transmission path of the target data is modified from pointing to the target dynamic area to pointing to the target process, and the The target process includes a process corresponding to the target dynamic area and preset in the memory of the load device; calling the target process to process the target data.
  • an embodiment of the present specification further provides a data processing apparatus, and the apparatus may specifically include the following structural modules.
  • the determining module 1101 can specifically be used to determine the dynamic area to be upgraded in the auxiliary processor as the target dynamic area, and determine the input data of the target dynamic area as the target data; wherein, the dynamic area includes the auxiliary processor that is arranged with an updater The hardware area of the data processing module whose frequency is greater than the preset frequency threshold.
  • Modifying module 1102 can be used to modify the transmission path of the target data from pointing to the target dynamic area to pointing to the target process; wherein, the target process includes a process corresponding to the target dynamic area and preset in the memory of the load device , the target process is used for processing the target data in the process of upgrading the target dynamic area, and the load device is connected with the auxiliary processor.
  • the upgrade module 1103 can be specifically configured to upgrade the target dynamic area.
  • the units, devices or modules described in the above embodiments may be specifically implemented by computer chips or entities, or by products with certain functions.
  • the functions are divided into various modules and described respectively.
  • the functions of each module can be implemented in the same one or more software and/or hardware, and the modules that implement the same function can also be implemented by a combination of multiple sub-modules or sub-units.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or integrated. to another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the data processing apparatus provided in the embodiments of this specification can make the upgrade process of the auxiliary processor not affect the processing of target data on the auxiliary processor, and improve the stability of data processing on the auxiliary processor.
  • the embodiments of this specification further provide another data processing apparatus, which may specifically include the following structural modules.
  • the receiving module can specifically be used to receive the target data transmitted by the auxiliary processor through the target process; wherein, the auxiliary processor determines that the dynamic area to be upgraded on the auxiliary processor is the target dynamic area.
  • the transmission path is modified from pointing to the target dynamic area to pointing to the target process, and the target process includes the process corresponding to the target dynamic area and preset in the memory of the load device;
  • the processing module may be specifically configured to call the target process to process the target data.
  • the controller in addition to implementing the controller in the form of pure computer-readable program code, the controller can be implemented as logic gates, switches, application-specific integrated circuits, programmable logic controllers and embedded devices by logically programming the method steps.
  • the same function can be realized in the form of a microcontroller, etc. Therefore, such a controller can be regarded as a hardware component, and the devices included therein for realizing various functions can also be regarded as a structure within the hardware component. Or even, the means for implementing various functions can be regarded as both a software module implementing a method and a structure within a hardware component.
  • program modules include routines, programs, objects, components, data structures, classes, etc. that perform particular tasks or implement particular abstract data types.
  • the specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote computer storage media including storage devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

一种数据处理方法、装置、智能网卡和服务器,基于该方法,在升级辅助处理器之前,可以预先在与辅助处理器相连的负载设备的内存中设置与辅助处理器中的动态区对应的进程;具体升级辅助处理器时,可以先将辅助处理器中待升级的动态区确定为目标动态区,并确定出输入到该目标动态区的目标数据,再将目标数据的传输路径由原本指向目标动态区修改为指向与目标动态区对应的目标进程,以便在升级过程中能通过调用目标进程来继续处理该目标数据;在按照上述方式修改目标数据的传输路径后,再升级目标动态区,从而使得辅助处理器的升级过程不会影响到辅助处理器上目标数据的数据处理,保证了辅助处理器上数据处理的稳定性。

Description

数据处理方法、装置、智能网卡和服务器
本申请要求2020年07月30日递交的申请号为202010749887.X、发明名称为“数据处理方法、装置、智能网卡和服务器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本说明书属于互联网技术领域,尤其涉及数据处理方法、装置、智能网卡和服务器。
背景技术
在一些应用场景中,为了降低负载设备(例如服务器等)一侧的数据处理量,常常会在负载设备上连接辅助处理器(例如网卡等)。进而可以通过该辅助处理器接收流入负载设备的数据,并对上述数据先进行相应的处理后,再传输给负载设备,以分担负载设备的数据处理量。
但是,上述辅助处理器中的硬件区域常常需要进行升级,而升级的过程势必往往会影响到辅助处理器上的数据处理,甚至导致辅助处理器上的数据处理出现中断。
因此,亟需一种能够使得辅助处理器的升级过程不会影响到辅助处理器上的数据处理的方法。
发明内容
本说明书提供了一种数据处理方法、装置、智能网卡和服务器,以使得辅助处理器的升级过程不会影响到辅助处理器上的数据处理,保证了辅助处理器上数据处理的稳定性。
本说明书提供的一种数据处理方法、装置、智能辅助处理器和负载设备是这样实现的:
一种数据处理方法,包括:确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域;将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连;升级所述目标动态区。
一种数据处理方法,包括:通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程;调用所述目标进程处理所述目标数据。
一种数据处理装置,包括:确定模块,用于确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域;修改模块, 用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连;升级模块,用于升级所述目标动态区。
一种数据处理装置,包括:接收模块,用于通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程;处理模块,用于调用所述目标进程处理所述目标数据。
一种服务器,包括第一处理器和第二处理器,其中,所述第一处理器和所述第二处理器电性连接;所述第二处理器布设有动态区,所述第一处理器的内存中布设有与所述动态区对应的进程;所述第二处理器将第二处理器中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;所述第二处理器将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括第一处理器的内存中与所述目标动态区对应的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据。
一种智能网卡,所述智能网卡与服务器的处理器电性连接,其中,所述智能网卡布设有动态区,所述服务器的处理器内存中预设有与所述动态区对应的进程;所述智能网卡用于将网卡中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;所述智能网卡用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括服务器的处理器内存中与所述目标动态区对应的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域;将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连;升级所述目标动态区。
本说明书提供的数据处理方法、装置、智能网卡和服务器,在升级辅助处理器之前,可以预先在与辅助处理器相连的负载设备的内存中配置好与辅助处理器中的动态区对应的进程;具体升级辅助处理器时,可以先将定辅助处理器中待升级的动态区确定目标动态区,并确定出输入到该目标动态区的数据作为目标数据,再将上述目标数据的传输路径由原本指向目标动态区修改为指向与目标动态区对应的目标进程,以便在升级过程中 可以通过调用上述目标进程来继续处理该目标数据;在按照上述方式修改了目标数据的传输路径后,再升级目标动态区,从而可以使得辅助处理器的升级过程不会影响到辅助处理器上目标数据的数据处理,保证了辅助处理器上数据处理的稳定性和持续性。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是应用本说明书实施例提供的数据处理方法的系统结构组成的一个实施例的示意图;
图2是本说明书的一个实施例提供的数据处理方法的流程示意图;
图3是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图4是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图5是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图6是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图7是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图8是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图9是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图10是本说明书的一个实施例提供的服务器的结构组成示意图;
图11是本说明书的一个实施例提供的数据处理装置的结构组成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例提供一种数据处理方法,所述方法具体可以应用于包含有负载设备和网卡的系统架构中。可以参阅图1所示。其中,上述网卡(一种辅助处理器)可以通 过有线或无线等方式与负载设备(例如服务器等)相连,并与负载设备中的处理器电性连接。网卡可以与外部网络相连,用于接收从外部网络流入负载设备的部分或者全部数据。
在本实施例中,上述负载设备具体可以包括一种与网卡相连,能够实现数据传输、数据处理等功能的电子设备。具体的,上述负载设备例如可以为服务器、电脑、智能手机等等。
在本实施例中,上述网卡具体可以包括一种集成了某些数据处理功能的网络IO(输入输出)设备。其中,上述网卡至少可以集成携带有硬件区域,例如,FPGA(Field Programmable Gate Array,现场可编程门阵列)等。
具体实施前,在将网卡与负载设备相连时,在网卡一侧,可以先将所携带的硬件区域划分为动态区和静态区两种类型的硬件区域。并且,网卡还可以根据所连接的负载设备,确定出要布设于该网卡上的多个数据处理模块(或者处理逻辑、处理程序等)和数据接口。并确定出上述多个数据处理模块的更新频率。再根据更新频率,将更新频率较高的(例如更新频率大于预设的频率阈值)数据处理模块分配布设到动态区,将更新频率较低的(例如更新频率小于或等于预设的频率阈值)数据处理模块分配布设到静态区。同时,还可以将一些较为固定的接口(或者API)布设到静态区。
在负载设备一侧,在与网卡相连后,可以先在内存(例如,CPU等)中划拨出一部分的内存资源,并根据网卡上动态区中的数据处理模块,利用上述内存资源,配置好对应的进程(例如,Bypass进程等)。其中,上述进程通常情况下处于非运行的状态,负载设备不会使用该进程进行相关的数据处理。
具体实施时,在网卡接收到升级指令后,在升级前,网卡可以根据升级指令先确定出待升级的硬件区域是动态区还是静态区。在确定是动态区时,可以将该待升级的动态区确定为目标动态区。进一步,可以确定出网卡上传输至该目标动态区的输入数据作为目标数据。
网卡可以将该目标数据的传输路径由原本指向目标动态区修改为指向目标进程。这样网卡上的目标数据将不再被传输至该目标动态区,而是会根据修改后的传输路径,由静态区传输至目标进程。其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程。上述目标进程可以在升级网卡目标动态区的过程代替目标动态区,处理所述目标数据。
在完成上述路径修改后,网卡再根据上述升级指令,升级目标动态区。
相应的,在升级网卡的目标动态区的过程中,负载设备可以通过上述目标进程接收目标数据,目标进程将从非运行状态变为运行状态。负载设备可以通过调用上述目标进程代替目标动态区临时处理上述目标数据。
这样在升级网卡的目标动态区的过程中,可以临时利用负载设备的内存资源来代替 网卡上的硬件资源,继续进行关于目标数据的数据处理,从而使得升级过程不会影响到网卡上目标数据的处理,提高了网卡上数据处理的稳定性。
在确定升级结束后,网卡可以将上述目标数据的传输路径由指向目标进程修改为指向目标动态区。这样在升级结束后,网卡可以及时地切换使用更新后的目标动态区为来重新处理目标数据。负载设备一侧的目标进程重新进入非运行状态,不会对负载设备一侧的数据处理造成影响。
参阅图2所示,本说明书实施例提供了一种数据处理方法。其中,该方法具体可以应用于连接有负载设备的辅助处理器一侧。具体实施时,该方法可以包括以下内容。
S201:确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域。
在一些实施例中,上述辅助处理器具体可以理解为一种辅助负载设备执行部分数据处理任务,以减轻负载设备一侧的数据处理负担的电子设备。
具体的,上述辅助处理器具体可以包括网卡等。当然,上述所列举的网卡只是一种示意性说明。具体实施时,根据具体情况和处理需求,还可以使用其他合适的设备作为上述辅助处理器。
下面以使用网卡作为辅助处理器为例进行具体说明。使用其他类型的辅助处理器可以参照网卡的实施例。对此,本说明书不作赘述。
在一些实施例中,上述网卡具体可以通过有线或无线的方式与负载设备相连。其中,上述网卡具体可以是一种集成某些数据处理功能的网络IO设备,能够完成例如关于负载设备的软件应用的硬件加速卸载等数据处理功能。上述负载设备具体可以是一种能够实现数据传输、数据处理等功能的电子设备。具体的,上述负载设备可以为服务器、电脑、智能手机等等。上述负载设备上具体可以安装有用于接收外部数据,或者对所接收的外部数据进行相关处理的应用程序(例如APP)和/或虚拟机(例如VM)等。
具体实施时,为了降低负载设备一侧的数据处理量,可以通过与负载设备相连的网卡接收来自外部的流向负载设备的全部或者部分数据;并利用上述网卡对所接收的上述数据先进行相应处理后,再传输给负载设备。从而可以达到分担负载设备的数据处理开销(例如,包括负载设备的网络开销、存储开销等)的效果。
在一些实施例中,上述网卡具体可以是一种自身携带有处理器(例如片上CPU模块、片上内存等)的智能网卡。相应的,该方法可以是网卡自身独立执行完成的。
当然,上述网卡也可以是一种自身没有携带处理器的非智能网卡。相应的,该方法可以是与网卡相连的负载设备的处理器控制网卡执行完成的。
在一些实施例中,上述网卡至少还可以携带有硬件区域。具体的,上述硬件区域可 以包括FPGA(Field Programmable Gate Array,现场可编程门阵列)。其中,上述FPGA具体可以理解为一种半导体集成电路,可以支持对网卡的电气功能等进行更改、设置。
具体实施时,用户可以通过在上述诸如FPGA等硬件区域上写入相应的逻辑代码,来在网卡上设置相应的接口(例如API接口),和/或,布设相应的数据处理模块(例如用于执行具体数据处理的处理逻辑、处理程序等),使得网卡能够实现相应的数据处理功能。通常用户还可以通过修改网卡的硬件区域上的逻辑代码,对网卡的硬件区域作进行升级,以更对布设在网卡的硬件区域中的数据处理模块、接口进行相应更新。
在一些实施例中,上述动态区具体可以包括辅助处理器上中布设有更新较为频繁的(例如更新频率大于预设的频率阈值)的数据处理模块的硬件区域。相对的,辅助处理器的硬件区域中还可以包含有静态区。上述静态区具体可以包括辅助处理器上布设有更新相对较不频繁的(例如更新频率小于或等于预设的频率阈值)的数据处理模块的硬件区域。其中,上述静态区中还可以布设有相对较为固定的接口。通常针对动态区的升级频率会高于针对静态区的升级频率。
在一些实施例中,在具体实施时之前,在辅助处理器与负载设备相连后,辅助处理器可以先根据负载设备的数据处理情况,确定出需要在辅助处理器的硬件区域上布设的多个数据处理模块。进一步,可以先分别确定出上述布设于辅助处理器中的多个数据处理模块的更新频率;再根据数据处理模块的更新频率,将更新频率大于预设的频率阈值的数据处理模块分配到动态区;将更新频率小于或等于预设的频率阈值的数据处理模块分配到静态区。
在一些实施例中,具体实施时,可以通过查询多个数据处理模块的历史更新记录,来确定出各个数据处理模块的更新频率。例如,可以通过查询负载设备的某个APP的网络更新日志,来估算与该APP相关的数据处理模块的更新频率。
在划分建立动态区和静态区时,可以将上述更新较为频繁(例如,更新频率大于预设的频率阈值)的数据处理模块筛选出来,集中布设到辅助处理器的硬件区域中的一块子区域内,将该子区域作为一个动态区。具体可以参阅图3所示。
其中,上述预设的频率阈值的具体数值可以根据辅助处理器上多个数据处理模块整体的更新频率(例如,更新频率的平均值)和用户具体的处理要求,灵活设置。对此,本说明书不作限定。
在一些实施例中,具体实施时,可以将上述多个数据处理模块中更新相对不太频繁(例如,更新频率小于或等于预设的频率阈值)的数据处理模块筛选出来,集中布设到辅助处理器的硬件区域中的另一个子区域内,并将该子区域作为静态区。当然,也可以将上述更新相对不太频繁的数据处理模块布设到辅助处理器的硬件区域中除动态区以外的其他硬件区域中,即还可以将辅助处理器的硬件区域中非动态区的其他区域作为静态区。
在一些实施例中,具体实施时,还可以将一些相对较为固定,或者变更概率较小的接口也布设在上述静态区中。
在一些实施例中,在数据处理模块没有更新,不需要对辅助处理器进行升级,辅助处理器正常工作运行的情况下,可以参阅图3所示。从外部(例如外部网络等)流入负载设备的数据会先通过布设在辅助处理器的静态区中的接口,流入辅助处理器的静态区。辅助处理器通过静态区进行分配,将上述数据传输至对应的动态区。上述数据由各个动态区中的数据处理模块进行相应处理后,再从各个动态区传输至安装于负载设备上的APP、VM等具体应用中。
在一些实施例中,具体实施之前,在辅助处理器与负载设备相连后,辅助处理器还可以生成并向负载设备发送进程配置请求。其中,上述进程配置请求具体可以理解为一种请求负载设备在内存中配置与辅助处理器中的动态区对应的备用进程的请求数据。
在一些实施例中,上述进程配置请求具体还可以携带有动态区的关联信息,例如,动态区中数据处理模块的模块参数、程序代码,和/或,动态区输出接口的接口参数、输入接口的接口参数,和/或,动态区中内置的逻辑代码等等。
相应的,负载设备可以接收并响应上述进程配置请求,在负载设备的内存(例如,CPU)中划拨出一部分的内存资源,并利用上述内存资源,配置与上述动态区对应的进程,作为一种基于软件资源的备用进程。
在一些实施例中,上述进程具体可以包括Bypass进程(又称旁路进程)。其中,上述Bypass进程具体可以理解为一种针对动态区中的数据处理流程的备份进程,可以理解为是一种基于区别于硬件的,基于软件资源的处理模块。
在正常情况(例如,动态区正常工作的情况)时,上述Bypass进程可以是处于非运行状态,不会对负载设备的内存资源造成负担。在出现异常情况(例如,动态区无法正常工作的情况)时,上述Bypass进程会被唤醒进入运行状态,进而可以通过Bypass进程临时代替动态区,执行原本动态区所负责的数据处理,从而可以避免由于动态区升级无法正常工作,导致该动态区原本所负责的数据处理出现中断,影响辅助处理器上的数据处理的现象。
当然,需要说明的是,上述所列举的Bypass进程只是一种示意性说明。具体实施时,根据具体情况,还可以采用其他类型的合适进程,来利用负载设备一侧的内存等资源,对上述动态区的数据处理流程进行备份。
在一些实施例中,在负载设备按照上述方式根据辅助处理器中的动态区,在内存中设置好与该动态区对应的进程后,还可以记录并保存该进程与动态区的对应关系。此外,负载设备还可以将上述对应关系发送给辅助处理器。以便后续在升级动态区时,辅助处理器和/或负载设备可以根据上述对应关系高效地找到与待升级的动态区对应的进程。
在一些实施例中,在确定辅助处理器中待升级的动态区作为目标动态区之前,所述 方法具体实施时,还可以包括:接收升级指令;其中,所述升级指令用于确定辅助处理器上待升级的硬加区域。
在一些实施例中,上述升级指令具体可以理解为一种用于指示更新辅助处理器的硬件区域中的逻辑代码,对辅助处理器进行相应的升级的指令数据。
具体的,上述升级指令还可以携带有用于更新辅助处理器的硬件区域的逻辑代码。此外,上述升级指令还可以携带有与待升级的硬件区域相关的指示信息等。其中,上述指示信息具体可以包括待升级的硬件区域的类型。例如,待升级的硬件区域的类型是动态区还是静态区。上述指示信息还可以包括用于指示待升级的硬件区域的标识信息。例如,待升级的硬件区域的标识信息为辅助处理器中编号为DTQ-OO1(对应多个动态区中的某一个动态区)等等。
在一些实施例中,具体实施时,辅助处理器可以从来自外部网络的第三方接收上述升级指令,也可以是接收负载设备生成并发送的升级指令。
具体的,例如,在负载设备上安装有一个名称为XX聊天的社交应用类的APP。通常来自XX聊天的网络平台的服务器的推送信息会先被辅助处理器通过设置在静态区中的网络接口接收到后,再通过静态区中负责数据分配的数据处理模块,按照与该推送信息匹配的传输路径,将该推送信息传输到布设有负责处理该推送信息的数据处理模块的动态区中。
动态区中负责处理该推送信息的数据处理模块可以对上述推送信息进行重定向调度处理,确定出该推送信息所要调度的目标应用为安装在负载设备上的XX聊天APP,进而可以将上述推送信息通过预设的接口传输至负载设备的XX聊天APP中。这样,在用户一侧,用户可以通过安装在负载设备上的XX聊天APP接收并浏览到该推送信息。
当前为了配合XX聊天的网络平台侧的更新,为用户提供更好的使用体验。XX聊天的网络平台的服务器可以根据平台侧的更新内容,生成对应的升级指令,并将该指令发送给布设有XX聊天APP的负载设备的辅助处理器,以指示辅助处理器对相关的硬件区域进行升级。以使得升级后的辅助处理器上硬件区域中的动态区在接收到推送信息后,可以先对推送信息进行预处理,例如,在推送信息的开头设置关键词标签;在预处理之后,再对预处理后的推送信息进行重定向调度处理,将预处理后的推送信心准确地传输至负载设备的XX聊天APP中。
在一些实施例中,具体实施时,可以根据上述升级指令,确定待升级的硬件区域是否为动态区。在确定出待升级的硬件区域是动态区的情况下,可以进一步确定出该待升级的动态区作为目标动态区。
在一些实施例中,可以先根据上述升级指令确定出待升级的硬件区域是静态区还是动态区。
在一些实施例中,在确定待升级的硬件区域的为静态区时,可以采用冷升级的方式 来升级辅助处理器中的硬件区域。具体的,例如,可以控制辅助处理器暂停所负责的数据处理(包括静态区的数据处理和动态区的数据处理);根据升级指令,升级辅助处理器的静态区;在完成升级后,对静态区进行复位处理,从而结束升级;再重启辅助处理器恢复正常的数据处理。
在一些实施例中,在确定待升级的硬件区域的为动态区时,可以采用的热升级方式,在不中断辅助处理器上的数据处理的前提下,稳定、高效地完成对辅助处理器的升级处理。
在一些实施例中,在确定待升级的硬件区域为动态区后,还可以根据升级指令,将辅助处理器上待升级的动态区进行一步确定为目标动态区。
具体的,例如,在动态区包括多个动态区(例如动态区1、动态区2和动态区3)的情况下,可以根据升级指令,从上述多个动态区中确定出待升级的具体的动态区为动态区2,进而可以将动态区2确定为目标动态区。
在一些实施例中,可以根据目标动态区确定出目标动态区的输入数据作为目标数据。具体的,可以获取并根据目标动态区的标识信息,检索从静态区中分配出去的数据的传输路径,找到指向与目标动态区的标识信息匹配的动态区的传输路径,并将该传输路径所对应的数据,确定为目标数据。
S202:将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连。
在一些实施例中,上述目标进程具体可以理解为一种预先配置好的,与目标动态区对应的进程。上述目标进程可以理解为是一种对目标动态区所包含的数据处理流程的备份。因此,可以通过目标进程替代目标动态区,完成目标动态区所负责的数据处理。
在一些实施例中,可以根据目标动态区的标识信息,通过查询动态区与进程的对应关系,来确定出与目标动态区对应的进程,作为目标进程。
在一些实施例中,为了避免后续升级过程,对辅助处理器上的数据处理造成影响,具体实施时,参阅图4所示,可以将目标数据的传输路径由原来的指向目标动态区修改为指向目标进程。这样,后续静态区在分配所接收到的数据时,可以根据修改后的传输路径将目标数据传输至目标进程,而不会再将该目标数据传输至目标动态区。
在一些实施例中,目标进程可以被设置为接收到辅助处理器传输的目标数据,可以触发进入运行状态,进而目标进程可以复原目标动态区的数据处理流程,代替目标动态区对所接收到目标数据进行相应处理,并将处理后的目标数据再传输至负载设备中对应的APP或者VM等目标应用中。
在一些实施例中,具体实施时,也可以是辅助处理器在完成目标数据的传输路径的 修改后,向目标进程发送预设的唤醒信号。相应的,目标进程接收并响应该预设的唤醒信号,进入运行状态,处理从静态区传输来的目标数据。
具体的,例如,辅助处理器可以按照上述方式针对XX聊天的网络平台发送的推送信息的传输路径进行修改,将传输路径由原来指向动态区1,修改为指向进程1。并向1进程发送预设的唤醒信号,从而使得进程1从原本的非运行状态转换为运行状态,开始处理该推送信息。
S203:升级所述目标动态区。
在一些实施例中,在完成传输路径的修改后,静态区可以根据修改后的传输路径将目标数据传输至目标进程,而不会再将目标数据传输至目标动态区。目标进程可以代替目标动态区,对所接收到的目标数据进行相应处理。
在这种情况下,可以根据升级指令,升级目标动态区。在升级目标动态区的过程中,由于静态区是根据修改后的传输路径,将目标数据传输至目标进程进行处理。因此,可以避免升级过程中由于目标动态区无法正常工作导致原本目标动态区负责的数据处理出现中断,影响辅助处理器上的数据处理的现象。
在一些实施例中,上述根据升级指令,升级目标动态区,具体可以包括:根据升级指令,利用升级指令所携带的用于更新的逻辑代码,修改目标动态区的逻辑代码;并在目标动态区中对修改后的逻辑代码进行重新加载;再对该目标动态区进行复位,完成复位后,目标动态区的升级结束。升级结束的目标动态区可以恢复正常的工作状态。
在一些实施例中,在升级所述目标动态区之后,所述方法具体实施时,还可以包括:确定所述目标动态区是否升级结束;在确定所述目标动态区升级结束的情况下,将目标数据的传输路径由指向目标进程修改为指向目标动态区。
在一些实施例中,具体的,辅助处理器可以每隔预设的时间间隔,例如,每隔10秒,通过发送检测信号灯方式检测目标动态区是否升级结束。在确定目标动态区没有升级结束的情况下,静态区可以持续根据指向目标进程的传输路径来传输目标数据,由目标进程继续对目标数据进行相应处理。
在确定目标动态区升级结束的情况下,辅助处理器可以将传输路径由指向目标进程重新修改回指向目标动态区。进而静态区可以根据该传输路径,将目标数据传输至目标动态区,由目标动态区基于更新后的逻辑代码对目标数据进行具体处理。这时目标进程不再进行目标数据处理。目标进程可以重新进入非运行状态。
具体的,例如,静态区在接收到来自XX聊天的网络平台发送的推送信息后,会根据修改后的传输路径将推送信息传输至进程1,而不再传输至动态区1。进程1会临时代替动态区1对所接收到的推送信息进行重定向处理,并将推送信息发送至负载设备中的XX聊天APP。
同时,辅助处理器可以根据升级指令,对动态区1进行升级处理。在确定动态区1 升级结束后,辅助处理器会将推送信息的传输路径由指向进程1重新修改回指向动态区1。
这时,动态区1可以通过基于更新后的逻辑代码的数据处理模块对上述推送信息进行处理。例如,动态区1可以通过相应的数据处理模块先在推送信息的开头位置设置与该推送信息关联的关键词标签;再对该推送信息进行重定向调度处理,将设置有关键词标签的推送信息传输至负载设备的XX聊天APP中。这样用户可以通过XX聊天APP接收到携带有关键词的推送信息。
基于上述方式,通过修改目标数据的传输路径,可以在要升级辅助处理器时,灵活地切换成预设的目标进程来代替目标动态区继续进行目标数据的处理,从而可以使得辅助处理器的升级过程不会影响到辅助处理器上的数据处理,保证了辅助处理器上数据处理的稳定性和持续性。
在一些实施例中,针对一些比较复杂的应用场景,辅助处理器的动态区具体可以包括多个不同的动态区。可以参阅图5和图6所示。
其中,上述不同动态区之间的关联关系可以包括互相独立的并联关系。例如,不同动态区中的数据处理模块所涉及到的数据处理流程互不影响,并列执行的。可以参阅图5所示。动态区1和动态区2是相互独立,是并联的。来自外部网络的数据1被辅助处理器(例如,可以记为SMART NIC)接收后,会通过静态区先分配并传输到动态区1。通过动态区1中的数据处理模块进行处理,得到处理后的数据1,作为动态区1的输出数据。上述处理后的数据1再被传输至与辅助处理器相连的负载设备(例如,可以记为Host)中的APP1(一种布设在负载设备上的应用程序)中,不需要再经过其他动态区进行进一步处理。数据2与数据1类似,通过动态区2中的数据处理模块处理后,得到的处理后的数据2会从动态区2传输至负载设备中的APP2中,而不需要再经过其他动态区进行进一步处理。
上述不同动态区之间的关联关系还可以包括存在相互关联性的串联关系。例如,某个动态区中数据处理模块所涉及到的数据处理的输入数据是上一个动态区处理后的输出数据,即不同动态区中的数据处理模块所涉及到的数据处理是存在关联性的。例如,多个动态区需要按照一定的顺序串联在一起,依次串行才能完成一个完整的数据处理流程。可以参阅图6所示。动态区3和动态区4是串联的。数据3通过动态区3的第一次处理后,从动态区3输出的第一次处理后的数据3会先传输至动态区4。动态区4会将上述第一次处理后的数据3作为输入数据,对该数据进行第二次处理,得到第二次处理后的数据3,再将第二次处理后的数据3作为输出数据,传输至负载设备中的APP3中。其中,上述动态区3具体可以理解为动态区4的上一级联动态区,相对的,动态区4可以理解为动态区3的下一级联动态区。
在一些实施例中,为了能够更加精准地调整数据的传输路径,在在根据所述升级指 令,确定辅助处理器待升级的硬件区域为目标动态区之后,所述方法具体实施时,还可以包括以下内容:确定所述目标动态区与其他动态区的关联关系;相应的,根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径。
在一些实施例中,上述其他动态区具体可以理解为辅助处理器的硬件区域中除目标动态区以外的动态区。
在一些实施例中,上述关联关系具体可以包括并联关系,和串联关系等。其中,上述串联关系进一步还可以包括与其他动态区之间的上一级联关系和/或下一级联关系等。当然,上述所列举的关联关系只是一种示意性说明。具体实施,根据具体情况和处理需求,还可以引入除上述所列举的关系以外更加复杂的关联关系。对此,本说明书不作限定。
在一些实施例中,在确定目标动态区与其他动态区的关联关系为并联关系时,上述根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径,具体实施时,可以包括:将目标数据的传输路径由指向目标动态区修改为指向目标进程,并将目标进程的输出数据的传输路径设置为指向目标应用。其中,所述目标应用包括设置在负载设备中的原本与目标动态区相连的应用。
具体的,例如,可以参阅图7所示,目标动态区为动态区1,动态区1与动态区2为并联关系。相对于图5所示内容,在修改传输路径时,只需要将数据1的传输路径由指向动态区1修改为指向进程1,同时将进程1的输出数据的传输路径设置为指向APP1。
在一些实施例中,在确定目标动态区与其他动态区的关联关系为串联关系时,可以进一步确定该目标动态区是否存在下一级联动态区。
在一些实施例中,上述根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径,具体实施时,可以包括以下内容:在根据所述目标动态区与其他动态区的关联关系,确定在所述其他动态区中不存在目标动态区的下一级联动态区的情况下,将目标数据的传输路径由指向目标动态区修改为指向目标进程,并将目标进程的输出数据的传输路径设置为指向目标应用。
在一些实施例中,上述根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径,具体实施时,还可以包括以下内容:在根据所述目标动态区与其他动态区的关联关系,确定在所述其他动态区中存在目标动态区的下一级联动态区的情况下,将目标数据的传输路径由指向目标动态区修改为指向目标进程,并将目标进程的输出数据的传输路径设置为指向所述目标动态区的下一级联动态区。
具体的,例如,可以参阅图8所示的内容,目标动态区为动态区3,动态区3与动态区4为串联关系。相对于图6所示内容,在修改传输路径时,需要将数据3的传输路径由指向动态区3修改为指向进程3,同时将进程3的输出数据的传输路径设置为指向动态区4。
在一些实施例中,在目标动态区包括多个动态区的情况下,即同时要对多个动态区进行升级时,具体实施时,在根据当前的目标动态区与其他动态区(除当前的目标动态区以外的其他动态区)之间的关联关系,确定在所述其他动态区中存在当前的目标动态区的下一级联动态区的情况下,进一步可以判断当前的目标动态区的下一级联动态区是否也属于目标动态区。在确定当前的目标动态区的下一级联动态区也属于目标动态区的情况下,可以将当前的目标数据的传输路径由指向当前的目标动态区修改为指向与当前的目标动态区对应的目标进程,并将该目标进程的输出数据的传输路径设置为指向与当前的目标动态区的下一级联动态区对应的目标进程。在确定当前的目标动态区的下一级联动态区不属于目标动态区的情况下,可以将当前的目标数据的传输路径由指向当前的目标动态区修改为指向与当前的目标动态区对应的目标进程,并将该目标进程的输出数据的传输路径设置为指向当前的目标动态区的下一级联动态区。
在一些实施例中,针对一些配置较高的辅助处理器,例如,智能网卡等。这类辅助处理器本身就可以携带有一定的内存资源,例如CPU等软件资源。为了不增加负载设备一侧的数据处理负担,具体实施前,还可以将上述进程预先设置在辅助处理器的内存中。
在一些实施例中,具体实施时,在辅助处理器携带有内存资源的情况下,所述目标进程还可以包括与目标动态区对应的,且预设在辅助处理器的内存中的进程。
具体的,例如,可以参阅图9所示。在辅助处理器与负载设备相连,并分配建立好动态区后,辅助处理器还可以在本地的内存(例如,辅助处理器的CPU等)中划拨出一部分的内存资源,用以在辅助处理器本地配置出与动态区对应的进程(例如Bypass进程等),作为备用进程。
相应的,在确定待升级的动态区为目标动态区区时,可以从辅助处理器的内存区域中确定出预先配置好的与目标动态区对应的目标进程。进而可以把原本输入至目标动态区的目标数据的传输路径由指向目标动态区修改为指向目标进程。
在升级目标动态区时,可以根据修改后的传输路径,将目标数据传输至辅助处理器本地的目标进程进行处理,再将处理后的数据传输至负载设备的对应应用中。从而可以使得辅助处理器升级的过程,不会增加负载设备的数据处理负担,同时也能保证辅助处理器上的数据处理正常、稳定,减少了负载设备的数据处理量,避免对负载设备的数据处理产生影响。
由上可见,本说明书实施例提供的数据处理方法,由于在升级辅助处理器之前,可以预先在与辅助处理器相连的负载设备的内存中配置好与辅助处理器中的动态区对应的进程;具体升级辅助处理器时,可以先将定辅助处理器中待升级的动态区确定目标动态区,并确定出输入到该目标动态区的数据作为目标数据,再将上述目标数据的传输路径由原本指向目标动态区修改为指向与目标动态区对应的目标进程,以便在升级过程中可以通过调用上述目标进程来继续处理该目标数据;在按照上述方式修改了目标数据的传 输路径后,再升级目标动态区,从而可以使得辅助处理器的升级过程不会影响到辅助处理器上目标数据的数据处理,保证了辅助处理器上数据处理的稳定性和持续性,避免出现硬件单点故障等问题。还通过在动态区包括多个动态区的情况下,先确定出目标动态区与其他动态区的关联关系;再根据目标动态区与其他动态区的关联关系,来有针对性地修改目标数据的传输路径,从而可以使得在辅助处理器升级的过程中,可以基于上述修改后的传输路径更加准确地执行相应的处理。还通过在确定辅助处理器携带有内存的情况下,将目标进程预先配置在辅助处理器本地的软件区域中,从而可以在升级的辅助处理器硬件区域的过程中,使用辅助处理器本地的目标进程来临时代替目标动态区进行数据处理,从而可以避免升级过程增加负载设备的数据处理负担,保证负载设备一侧的数据处理的稳定性。
本说明书实施例还提供了一种数据处理方法。其中,该方法应用于负载设备一侧。该方法具体实施时,可以包括以下内容。
S1:通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程。
S2:调用所述目标进程处理所述目标数据。
在一些实施例中,所述方法具体实施时,还可以包括以下内容:接收并响应辅助处理器的进程配置请求,根据所述辅助处理器中的动态区,在内存中设置与所述动态区对应的进程。
在一些实施例中,所述调用所述目标进程处理所述目标数据,具体实施时,可以包括以下至少之一:对目标数据进行重定向调度处理;或对目标数据进行封装处理;或对目标数据进行解封装处理;或对目标数据的内容信息进行修改处理等。当然,需要说明的是,上述所列举的数据处理只是一种示意性说明。具体实施时,根据具体情况和处理需要,还可以引入除上述所列举的类型以外其他相关的数据处理。对此,本说明书不作限定。
在一些实施例中,所述目标进程具体可以包括Bypass进程等。当然,需要说明的是上述所列举的Bypass进程只是一种示意性说明。具体实施时,根据具体情况,也可以构建除Bypass进程以外其他合适的进程作为与目标动态区对应的备份进程。
在一些实施例中,通常上述目标进程可以处于非运行状态。这样负载设备不需要耗费额外的资源来维持上述目标进程。
具体实施时,负载设备在通过目标进程接收到目标数据时,或者负载设备接收到来自辅助处理器的针对目标进程的预设的唤醒信号时,目标进程才会进入运行状态,进而目标进程才可以代替目标动态区对所接收到的目标数据进行处理。
当目标动态区升级结束,辅助处理器修改了目标数据的传输路径,目标数据不再传输至目标进程时,目标进程可以重新进入非运行状态。
具体的,例如,可以是目标进程在检测到超过预设的时长阈值没有再接收到目标数据的情况下,自动进入非运行状态。也可以是,辅助处理器在确定目标动态区升级结束,将目标数据的传输路径重新修改回指向目标动态区后,向负载设备生成并发送预设的恢复信号。负载设备接收并响应该预设的恢复信号,将目标进程恢复为原来的非运行状态。
基于上述方式,通过修改目标数据的传输路径,可以在要升级辅助处理器时,灵活地切换成预设在负载设备上的目标进程来代替目标动态区进行目标数据的处理,从而可以使得辅助处理器的升级过程不会影响到辅助处理器上的数据处理,提高了辅助处理器上数据处理的稳定性。并且,在升级结束后,由辅助处理器上的目标动态区重新进行目标数据的处理,将恢复负载设备上的目标进程重新恢复成非运行状态,从而减少了对负载设备一侧的数据处理的影响。
本说明书实施例提供了一种服务器,包括第一处理器和第二处理器,其中,所述第一处理器和所述第二处理器电性连接;所述第二处理器布设有动态区,所述第一处理器的内存中布设有与所述动态区对应的进程;所述第二处理器将第二处理器中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;所述第二处理器将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括第一处理器的内存中与所述目标动态区对应的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据。
参阅图10所示,本说明书实施例还提供了一种服务器,其中,所述服务器包括网络通信端口1001、第一处理器1002、第二处理器1003以及存储器1004,上述结构可以通过内部线缆等方式相连,以便各个结构可以进行具体的数据交互。所述第二处理器1003布设有动态区,所述第一处理器1002的内存中布设有与所述动态区对应的进程。
其中,所述网络通信端口1001,具体可以用于接收升级指令。
所述第二处理器1003,具体可以用于根据升级指令,将第二处理器1003中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;
所述第二处理器1003,具体还可以用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括第一处理器1002的内存中与所述目标动态区对应的进程。
这样在升级所述目标动态区的过程中,第二处理器1003可以将目标数据从静态区传输至第一处理器1002的目标进程处,再由第一处理器1002控制目标进程处理所述目标数据。
所述存储器1004,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口1001可以是与不同的通信协议进行绑定,从而可 以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述第一处理器1002可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述第二处理器1003具体可以理解为是一种辅助处理器,用于辅助服务器执行部分数据处理任务,以减轻服务器的数据处理负担。具体的,上述第二处理器1003可以是内置于服务器内部的一种辅助处理器,也可以是外接与服务器但与服务器的第一处理器1002电性连接的一种辅助处理器(例如网卡)。
在本实施例中,所述存储器1004可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种智能网卡,所述智能网卡与负载设备的处理器电性连接,其中,所述智能网卡布设有动态区,所述负载设备的处理器内存中预设有与所述动态区对应的进程;所述智能网卡用于将网卡中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;所述智能网卡用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括负载设备的处理器内存中与所述目标动态区对应的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据。
本说明书实施例还提供了一种基于上述数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域;将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连;升级所述目标动态区。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random Access  Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard Disk Drive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例还提供了一种基于上述数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程;调用所述目标进程处理所述目标数据。
参阅图11所示,在软件层面上,本说明书实施例还提供了一种数据处理装置,该装置具体可以包括以下的结构模块。
确定模块1101,具体可以用于确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域。
修改模块1102,具体可以用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连。
升级模块1103,具体可以用于升级所述目标动态区。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,本说明书实施例提供的数据处理装置,可以使得辅助处理器的升级过程不会影响到辅助处理器上目标数据的处理,提高了辅助处理器上数据处理的稳定性。
本说明书实施例还提供了另一种数据处理装置,具体可以包括以下结构模块。
接收模块,具体可以用于通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程;
处理模块,具体可以用于调用所述目标进程处理所述目标数据。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于 众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (21)

  1. 一种数据处理方法,包括:
    确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域;
    将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连;
    升级所述目标动态区。
  2. 根据权利要求1所述的方法,所述辅助处理器包括网卡。
  3. 根据权利要求1所述的方法,在辅助处理器携带有内存资源的情况下,所述目标进程还包括与目标动态区对应的,且预设在辅助处理器的内存中的进程。
  4. 根据权利要求1所述的方法,在确定辅助处理器中待升级的动态区作为目标动态区之前,所述方法还包括:接收升级指令;其中,所述升级指令用于确定辅助处理器上待升级的硬加区域。
  5. 根据权利要求1所述的方法,在升级所述目标动态区之后,所述方法还包括:
    确定所述目标动态区是否升级结束;
    在确定所述目标动态区升级结束的情况下,将目标数据的传输路径由指向目标进程修改为指向目标动态区。
  6. 根据权利要求4所述的方法,在接收升级指令之前,所述方法还包括:
    确定布设于辅助处理器中的多个数据处理模块的更新频率;
    根据数据处理模块的更新频率,将更新频率大于预设的频率阈值的数据处理模块分配到动态区;将更新频率小于或等于预设的频率阈值的数据处理模块分配到静态区。
  7. 根据权利要求1所述的方法,所述动态区包括多个动态区。
  8. 根据权利要求7所述的方法,在确定辅助处理器中待升级的动态区作为目标动态区之后,所述方法还包括:
    确定所述目标动态区与其他动态区的关联关系;其中,所述其他动态区包括所述多个动态区中除目标动态区以外的动态区;
    根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径。
  9. 根据权利要求8所述的方法,所述根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径,包括:
    在根据所述目标动态区与其他动态区的关联关系,确定在所述其他动态区中不存在目标动态区的下一级联动态区的情况下,将目标数据的传输路径由指向目标动态区修改为指向目标进程,并将目标进程的输出数据的传输路径设置为指向目标应用,其中,所述目标应用包括设置在负载设备中的与目标动态区相连的应用。
  10. 根据权利要求9所述的方法,所述根据所述目标动态区与其他动态区的关联关系,修改所述目标数据的传输路径,还包括:
    在根据所述目标动态区与其他动态区的关联关系,确定在所述其他动态区中存在目标动态区的下一级联动态区的情况下,将目标数据的传输路径由指向目标动态区修改为指向目标进程,并将目标进程的输出数据的传输路径设置为指向所述目标动态区的下一级联动态区。
  11. 根据权利要求1所述的方法,所述目标进程包括Bypass进程。
  12. 根据权利要求1所述的方法,所述硬件区域包括集成于辅助处理器中的现场可编程门阵列。
  13. 一种数据处理方法,包括:
    通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程;
    调用所述目标进程处理所述目标数据。
  14. 根据权利要求13所述的方法,所述方法还包括:
    接收并响应辅助处理器的进程配置请求,根据所述辅助处理器中的动态区,在内存中设置与所述动态区对应的进程。
  15. 根据权利要求13所述的方法,所述调用所述目标进程处理所述目标数据,包括以下至少之一:对目标数据进行重定向调度处理;或对目标数据进行封装处理;或对目标数据进行解封装处理;或对目标数据的内容信息进行修改处理。
  16. 根据权利要求13所述的方法,所述目标进程包括Bypass进程。
  17. 一种数据处理装置,包括:
    确定模块,用于确定辅助处理器中待升级的动态区作为目标动态区,并确定出目标动态区的输入数据作为目标数据;其中,所述动态区包括辅助处理器上布设有更新频率大于预设的频率阈值的数据处理模块的硬件区域;
    修改模块,用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括与目标动态区对应的,且预设在负载设备的内存中的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据,所述负载设备与辅助处理器相连;
    升级模块,用于升级所述目标动态区。
  18. 一种数据处理装置,包括:
    接收模块,用于通过目标进程接收辅助处理器传输的目标数据;其中,所述辅助处理器在确定辅助处理器上待升级的动态区为目标动态区的情况下,将所述目标数据的传输路径由指向目标动态区修改为指向目标进程,所述目标进程包括与目标动态区对应 的,且预设在负载设备的内存中的进程;
    处理模块,用于调用所述目标进程处理所述目标数据。
  19. 一种服务器,包括第一处理器和第二处理器,其中,所述第一处理器和所述第二处理器电性连接;所述第二处理器布设有动态区,所述第一处理器的内存中布设有与所述动态区对应的进程;
    所述第二处理器将第二处理器中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;
    所述第二处理器将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括第一处理器的内存中与所述目标动态区对应的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据。
  20. 一种智能网卡,所述智能网卡与负载设备的处理器电性连接,其中,所述智能网卡布设有动态区,所述负载设备的处理器内存中预设有与所述动态区对应的进程;
    所述智能网卡用于将网卡中待升级的动态区确定为目标动态区,并确定出目标动态区的输入数据作为目标数据;
    所述智能网卡用于将目标数据的传输路径由指向目标动态区修改为指向目标进程;其中,所述目标进程包括负载设备的处理器内存中与所述目标动态区对应的进程,所述目标进程用于在升级所述目标动态区的过程中处理所述目标数据。
  21. 一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现权利要求1至12中任一项所述方法的步骤。
PCT/CN2021/108353 2020-07-30 2021-07-26 数据处理方法、装置、智能网卡和服务器 WO2022022442A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010749887.X 2020-07-30
CN202010749887.XA CN113296803A (zh) 2020-07-30 2020-07-30 数据处理方法、装置、智能网卡和服务器

Publications (1)

Publication Number Publication Date
WO2022022442A1 true WO2022022442A1 (zh) 2022-02-03

Family

ID=77318134

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/108353 WO2022022442A1 (zh) 2020-07-30 2021-07-26 数据处理方法、装置、智能网卡和服务器

Country Status (2)

Country Link
CN (1) CN113296803A (zh)
WO (1) WO2022022442A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115529216A (zh) * 2022-10-10 2022-12-27 苏州浪潮智能科技有限公司 自动化配置智能网卡ip的方法、系统、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070067763A1 (en) * 2005-09-19 2007-03-22 Adc Telecommunications, Inc. Mechanism to upgrade system capability without affecting service
CN104461654A (zh) * 2014-12-27 2015-03-25 西安大唐电信有限公司 一种obd设备功能单元及固件分类可选升级方法
CN110704090A (zh) * 2018-07-09 2020-01-17 阿里巴巴集团控股有限公司 现场可编程门阵列fpga及其升级方法和升级系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070067763A1 (en) * 2005-09-19 2007-03-22 Adc Telecommunications, Inc. Mechanism to upgrade system capability without affecting service
CN104461654A (zh) * 2014-12-27 2015-03-25 西安大唐电信有限公司 一种obd设备功能单元及固件分类可选升级方法
CN110704090A (zh) * 2018-07-09 2020-01-17 阿里巴巴集团控股有限公司 现场可编程门阵列fpga及其升级方法和升级系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115529216A (zh) * 2022-10-10 2022-12-27 苏州浪潮智能科技有限公司 自动化配置智能网卡ip的方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN113296803A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
US9424085B2 (en) Recognizing a process group that is related to an application
CN107832100B (zh) 一种apk插件的加载方法及其终端
US9760413B2 (en) Power efficient brokered communication supporting notification blocking
CN112486585B (zh) 恢复fpga芯片中的逻辑的方法、系统和fpga设备
US9722870B2 (en) Locality and time based dependency relationships in clusters
EP3404538B1 (en) Data processing method, and data processing apparatus
US8893272B2 (en) Method and device for recombining runtime instruction
CN110032321B (zh) 应用程序处理方法和装置、电子设备、计算机可读存储介质
US20150365463A1 (en) Dynamic application deployment
JP7161560B2 (ja) 人工知能開発プラットフォームの管理方法及び装置、媒体
JP2016110183A (ja) 情報処理システム及び情報処理システムの制御方法
CN104809400A (zh) 一种进程保护的方法及装置
US20200012544A1 (en) Optimizing startup time for event-driven functions
EP3265918B1 (en) Using memory compression to reduce memory commit charge
JP4634058B2 (ja) 実時間遠隔バックアップシステム及びそのバックアップ方法
WO2022022442A1 (zh) 数据处理方法、装置、智能网卡和服务器
CN111666167A (zh) 一种对输入事件读取处理优化方法、非易失性存储器及终端设备
CN102375759B (zh) 利用有限状态机防止代码重入的方法
CN112559498B (zh) 时序时空数据库系统的分布式架构的构建方法、装置
CN114185734A (zh) 一种监控集群的方法、装置及电子设备
JP2018072944A (ja) プログラム、システム及び情報処理方法
US9703646B2 (en) Centralized database system
CN113535368B (zh) 任务处理方法、装置和电子设备
WO2022222968A1 (zh) 会议通话的恢复方法、装置、系统、电子设备和可读存储介质
CN109660585A (zh) Aop增强对象服务的调用方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21850109

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21850109

Country of ref document: EP

Kind code of ref document: A1