Data processing method, device, smart network card and server
During the upgrade of the auxiliary processor, the transmission path of the data processing is transferred from the dynamic area to the target process in the load device memory, and the problem of the upgrade of the auxiliary processor affecting the stability of data processing is solved, and the continuity and high reliability of data processing are achieved.
Patent Information
- Application Number
- CN202010749887.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-07-30
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2040-07-30
AI Technical Summary
The hardware area upgrade process of the auxiliary processor may affect the stability of data processing and may even cause data processing interruptions.
By determining the dynamic area to be upgraded as the target dynamic area and modifying the transmission path of the target data from the target dynamic area to point to the target process preset in the load device memory, the target process can process the target data during the upgrade process.
The upgrade process of auxiliary processors is realized without affecting the stability of data processing, ensuring the continuity and high reliability of data processing.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] This specification belongs to the field of Internet technology, and in particular to data processing methods, devices, smart network cards and servers. Background Art
[0002] In some application scenarios, in order to reduce the amount of data processing on the load device (such as a server, etc.), an auxiliary processor (such as a network card, etc.) is often connected to the load device. The auxiliary processor can then receive the data flowing into the load device, process the data accordingly, and then transmit it to the load device to share the data processing capacity of the load device.
[0003] However, the hardware area in the auxiliary processor often needs to be upgraded, and the upgrade process is bound to affect the data processing on the auxiliary processor and even cause the data processing on the auxiliary processor to be interrupted.
[0004] Therefore, there is an urgent need for a method that can ensure that the upgrade process of the auxiliary processor does not affect the data processing on the auxiliary processor. Summary of the invention
[0005] This specification provides a data processing method, device, smart network card and server, so that the upgrade process of the auxiliary processor will not affect the data processing on the auxiliary processor, thereby ensuring the stability of the data processing on the auxiliary processor.
[0006] A data processing method, device, intelligent auxiliary processor and load device provided in this specification are implemented as follows:
[0007] A data processing method comprises: 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 comprises a hardware area on the auxiliary processor where a data processing module with an update frequency greater than a preset frequency threshold is arranged; modifying the transmission path of the target data from pointing to the target dynamic area to pointing to a target process; wherein the target process comprises a process corresponding to the target dynamic area and preset in the memory of a load device, the target process being used to process the target data in the process of upgrading the target dynamic area, and the load device being connected to the auxiliary processor; upgrading the target dynamic area.
[0008] A data processing method comprises: receiving target data transmitted by an auxiliary processor through a 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 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 a load device; and calling the target process to process the target data.
[0009] A data processing device comprises: a determination module, used to determine a dynamic area to be upgraded in an auxiliary processor as a target dynamic area, and to determine input data of the target dynamic area as target data; wherein the dynamic area comprises a hardware area on the auxiliary processor where a data processing module with an update frequency greater than a preset frequency threshold is arranged; a modification module, used to modify a transmission path of target data from pointing to the target dynamic area to pointing to a target process; wherein the target process comprises a process corresponding to the target dynamic area and preset in a memory of a load device, the target process being used to process the target data in the process of upgrading the target dynamic area, and the load device being connected to the auxiliary processor; and an upgrade module, used to upgrade the target dynamic area.
[0010] A data processing device includes: a receiving module, which is used to receive target data transmitted by an auxiliary processor through a 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 modified from pointing to the target dynamic area to pointing to the target process, and the target process includes a process corresponding to the target dynamic area and preset in the memory of a load device; and a processing module, which is used to call the target process to process the target data.
[0011] A server comprises a first processor and a second processor, wherein the first processor and the second processor are electrically connected; the second processor is provided with a dynamic area, and the first processor has a memory provided with a process corresponding to the dynamic area; the second processor determines the dynamic area to be upgraded in the second processor as a target dynamic area, and determines the input data of the target dynamic area as target data; the second processor modifies the transmission path of the target data from pointing to the target dynamic area to pointing to a target process; wherein the target process comprises a process corresponding to the target dynamic area in the memory of the first processor, and the target process is used to process the target data during the process of upgrading the target dynamic area.
[0012] A smart network card, the smart network card is electrically connected to a processor of a server, wherein the smart network card is provided with a dynamic area, and a process corresponding to the dynamic area is preset in the processor memory of the server; the smart network card is used to determine the dynamic area to be upgraded in the network card as a target dynamic area, and determine the input data of the target dynamic area as target data; the smart network card 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 the 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 during the process of upgrading the target dynamic area.
[0013] A computer-readable storage medium stores computer instructions, which, when executed, are used to determine a dynamic area to be upgraded in an auxiliary processor as a target dynamic area, and to determine input data of the target dynamic area as target data; wherein the dynamic area includes a hardware area on the auxiliary processor where a data processing module with an update frequency greater than a preset frequency threshold is arranged; the transmission path of the target data is modified from pointing to the target dynamic area to pointing to a target process; wherein the target process includes a process corresponding to the target dynamic area and preset 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, and the load device is connected to the auxiliary processor; and the target dynamic area is upgraded.
[0014] The data processing method, device, intelligent network card and server provided in this specification can pre-configure the process corresponding to the dynamic area in the auxiliary processor in the memory of the load device connected to the auxiliary processor before upgrading the auxiliary processor; when upgrading the auxiliary processor, the dynamic area to be upgraded in the auxiliary processor can be first determined as the target dynamic area, and the data input into the target dynamic area can be determined as the target data, and then the transmission path of the above target data can be modified from originally pointing to the target dynamic area to pointing 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 in the above manner, the target dynamic area is upgraded, so that the upgrade process of the auxiliary processor will not affect the data processing of the target data on the auxiliary processor, thereby ensuring the stability and continuity of the data processing on the auxiliary processor. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In order to more clearly illustrate the embodiments of this specification, the drawings required for use in the embodiments will be briefly introduced below. The drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0016] Figure 1 It is a schematic diagram of an embodiment of a system structure composed of a data processing method provided by an embodiment of this specification;
[0017] Figure 2 is a flowchart of a data processing method provided by an embodiment of this specification;
[0018] Figure 3 It is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in a scenario example;
[0019] Figure 4 It is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in a scenario example;
[0020] Figure 5 is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in a scenario example;
[0021] Figure 6 It is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in a scenario example;
[0022] Figure 7 It is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in a scenario example;
[0023] Figure 8 It is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in a scenario example;
[0024] Fig. 9 It is a schematic diagram of an embodiment of applying the data processing method provided by the embodiments of this specification in a scenario example;
[0025] Fig.10 It is a schematic diagram of the structure of a server provided by an embodiment of this specification;
[0026] Fig.11 It is a schematic diagram of the structural composition of a data processing device provided by an embodiment of this specification. DETAILED DESCRIPTION
[0027] In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this specification.
[0028] The present specification provides a data processing method, which can be applied to a system architecture including a load device and a network card. Figure 1 As shown. The network card (an auxiliary processor) can be connected to a load device (such as a server, etc.) by wired or wireless means, and is electrically connected to a processor in the load device. The network card can be connected to an external network to receive part or all of the data flowing into the load device from the external network.
[0029] In this embodiment, the 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. Specifically, the load device may be, for example, a server, a computer, a smart phone, and the like.
[0030] In this embodiment, the network card may specifically include a network IO (input and output) device that integrates certain data processing functions. The network card may at least integrate a hardware area, such as a FPGA (Field Programmable Gate Array).
[0031] Before specific implementation, when the network card is connected to the load device, on the network card side, the carried hardware area can be first divided into two types of hardware areas: dynamic area and static area. In addition, the network card can also determine the multiple data processing modules (or processing logic, processing program, etc.) and data interfaces to be deployed on the network card according to the connected load device. And determine the update frequency of the above multiple data processing modules. Then, according to the update frequency, the data processing modules with higher 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 lower update frequency (for example, the update frequency is less than or equal to the preset frequency threshold) are allocated to the static area. At the same time, some relatively fixed interfaces (or APIs) can also be deployed in the static area.
[0032] On the load device side, after connecting to the network card, a portion of memory resources can be allocated in the memory (for example, CPU, etc.), and the corresponding process (for example, Bypass process, etc.) can be configured using the above memory resources according to the data processing module in the dynamic area of the network card. The above process is usually in a non-operating state, and the load device will not use the process for related data processing.
[0033] In specific implementation, after the network card receives the upgrade instruction, before the upgrade, the network card can 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 area, the dynamic area to be upgraded can be determined as the target dynamic area. Further, the input data transmitted from the network card to the target dynamic area can be determined as the target data.
[0034] 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 target process can replace the target dynamic area in the process of upgrading the target dynamic area of the network card to process the target data.
[0035] After completing the above path modification, the network card upgrades the target dynamic area according to the above upgrade instruction.
[0036] Accordingly, during the process of upgrading the target dynamic area of the network card, the load device can receive the target data through the target process, and the target process will change from a non-operating state to an operating state. The load device can temporarily process the target data by calling the target process instead of the target dynamic area.
[0037] In this way, during the process of upgrading the target dynamic area of the network card, the memory resources of the load device can be temporarily used to replace the hardware resources on the network card to continue data processing on the target data, so that the upgrade process will not affect the processing of the target data on the network card, thereby improving the stability of data processing on the network card.
[0038] After confirming that the upgrade is complete, the network card can modify the transmission path of the 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 promptly switch to use the updated target dynamic area to reprocess the target data. The target process on the load device side re-enters the non-operating state, which will not affect the data processing on the load device side.
[0039] See also Figure 2As shown, the embodiment of this specification provides a data processing method. Among them, the method can be specifically applied to the auxiliary processor side connected to the load device. When implemented specifically, the method may include the following contents.
[0040] S201: Determine a dynamic area to be upgraded in the auxiliary processor as a target dynamic area, and determine input data of the target dynamic area as target data; wherein the dynamic area includes a hardware area on the auxiliary processor where a data processing module with an update frequency greater than a preset frequency threshold is disposed.
[0041] In some embodiments, the auxiliary processor can be specifically understood as an electronic device that assists the load device in performing part of the data processing tasks to reduce the data processing burden on the load device side.
[0042] Specifically, the auxiliary processor may include a network card, etc. Of course, the network card listed above is only a schematic illustration. In specific implementation, other suitable devices may be used as the auxiliary processor according to specific circumstances and processing requirements.
[0043] The following is a specific description using a network card as an auxiliary processor as an example. The use of other types of auxiliary processors can refer to the embodiments of the network card. This specification does not elaborate on this.
[0044] In some embodiments, the network card may be connected to the load device in a wired or wireless manner. The network card may be a network IO device that integrates certain data processing functions, and can perform data processing functions such as hardware accelerated unloading of software applications on the load device. The load device may be an electronic device that can realize functions such as data transmission and data processing. Specifically, the load device may be a server, a computer, a smart phone, and the like. The load device may be installed with an application (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.
[0045] In specific implementation, in order to reduce the amount of data processing on the load device side, all or part of the data flowing to the load device from the outside can be received through a network card connected to the load device; and the received data is processed accordingly by the network card before being transmitted to the load device. In this way, the effect of sharing the data processing overhead of the load device (for example, including the network overhead and storage overhead of the load device) can be achieved.
[0046] In some embodiments, the network card may be a smart network card that carries a processor (eg, an on-chip CPU module, an on-chip memory, etc.) Correspondingly, the method may be independently executed by the network card itself.
[0047] Of course, the network card can also be a non-intelligent network card without a processor. Accordingly, the method can be performed by the processor of the load device connected to the network card to control the network card.
[0048] In some embodiments, the network card may also carry at least a hardware area. Specifically, the hardware area may include an FPGA (Field Programmable Gate Array). The FPGA may be specifically understood as a semiconductor integrated circuit that may support changes and settings to the electrical functions of the network card.
[0049] In specific implementation, the user can set the corresponding interface (such as API interface) on the network card by writing the corresponding logic code on the hardware area such as FPGA, and / or deploy the corresponding data processing module (such as processing logic, processing program, etc. for executing specific data processing), so that the network card can realize the corresponding data processing function. Usually, 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 module and interface deployed in the hardware area of the network card accordingly.
[0050] In some embodiments, the dynamic area may specifically include a hardware area on the auxiliary processor where a data processing module that is updated more frequently (for example, the update frequency is greater than a preset frequency threshold) is arranged. Relatively speaking, the hardware area of the auxiliary processor may also include a static area. The static area may specifically include a hardware area on the auxiliary processor where a data processing module that is updated relatively less frequently (for example, the update frequency is less than or equal to a preset frequency threshold) is arranged. Among them, a relatively fixed interface may also be arranged in the static area. Usually, the upgrade frequency for the dynamic area will be higher than the upgrade frequency for the static area.
[0051] In some embodiments, before the specific implementation, after the auxiliary processor is connected to the load device, the auxiliary processor can first determine the multiple data processing modules that need to be deployed on the hardware area of the auxiliary processor according to the data processing situation of the load device. Further, the update frequencies of the multiple data processing modules deployed in the auxiliary processor can be determined respectively; then, according to the update frequencies of the data processing modules, the data processing modules with update frequencies greater than the preset frequency threshold are allocated to the dynamic area; and the data processing modules with update frequencies less than or equal to the preset frequency threshold are allocated to the static area.
[0052] In some embodiments, during specific implementation, the update frequency of each data processing module can be determined by querying the historical update records of multiple data processing modules. For example, the update frequency of the data processing module related to a certain APP of the load device can be estimated by querying the network update log of the APP.
[0053] When dividing and establishing the dynamic area and the static area, the data processing modules that are updated frequently (for example, the update frequency is greater than the preset frequency threshold) can be screened out and concentrated in a sub-area in the hardware area of the auxiliary processor, and the sub-area is used as a dynamic area. Figure 3 shown.
[0054] The specific value of the preset frequency threshold can be flexibly set according to the overall update frequency of multiple data processing modules on the auxiliary processor (for example, the average value of the update frequency) and the specific processing requirements of the user. This specification does not limit this.
[0055] In some embodiments, during specific implementation, the data processing modules that are updated relatively infrequently (for example, the update frequency is less than or equal to the preset frequency threshold) can be screened out from the above-mentioned multiple data processing modules, and centrally arranged in another sub-area in the hardware area of the auxiliary processor, and the sub-area is used as a static area. Of course, the above-mentioned data processing modules that are updated relatively infrequently can also be arranged in other hardware areas of the hardware area of the auxiliary processor except the dynamic area, that is, other areas of the hardware area of the auxiliary processor that are not the dynamic area can also be used as static areas.
[0056] In some embodiments, during specific implementation, some interfaces that are relatively fixed or have a lower probability of change may also be arranged in the static area.
[0057] In some embodiments, when the data processing module is not updated, the auxiliary processor does not need to be upgraded, and the auxiliary processor operates normally, reference may be made to Figure 3 As shown. Data flowing into the load device from the outside (such as an external network, etc.) 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 distributes the above data through the static area and transmits it to the corresponding dynamic area. After the above data is processed accordingly by the data processing modules in each dynamic area, it is transmitted from each dynamic area to specific applications such as APP and VM installed on the load device.
[0058] In some embodiments, before implementation, after the auxiliary processor is connected to the load device, the auxiliary processor may also generate and send a process configuration request to the load device. The process configuration request may be specifically understood as a request data for requesting the load device to configure a standby process corresponding to the dynamic area in the auxiliary processor in the memory.
[0059] In some embodiments, the above-mentioned process configuration request may also specifically carry associated information of the dynamic area, for example, module parameters of the data processing module in the dynamic area, program code, and / or interface parameters of the output interface of the dynamic area, interface parameters of the input interface, and / or logic code built into the dynamic area, etc.
[0060] Correspondingly, the load device can receive and respond to the above-mentioned process configuration request, allocate a portion of memory resources in the memory of the load device (for example, CPU), and use the above-mentioned memory resources to configure the process corresponding to the above-mentioned dynamic area as a backup process based on software resources.
[0061] In some embodiments, the above process may specifically include a Bypass process (also called a bypass process). The Bypass process may be specifically understood as a backup process for the data processing flow in the dynamic area, and may be understood as a processing module based on software resources that is different from hardware.
[0062] In normal situations (for example, when the dynamic area works normally), the Bypass process can be in a non-operating state and will not burden the memory resources of the load device. In abnormal situations (for example, when the dynamic area cannot work normally), the Bypass process will be awakened and enter the running state, and then the Bypass process can temporarily replace the dynamic area to perform the data processing originally responsible for the dynamic area, thereby avoiding the phenomenon that the data processing originally responsible for the dynamic area is interrupted due to the failure of the dynamic area upgrade to work normally, affecting the data processing on the auxiliary processor.
[0063] Of course, it should be noted that the Bypass process listed above is only a schematic illustration. In specific implementation, according to specific circumstances, other types of appropriate processes can also be used to use resources such as memory on the load device side to back up the data processing flow of the dynamic area.
[0064] In some embodiments, after the load device sets the process corresponding to the dynamic area in the memory according to the dynamic area in the auxiliary processor in the above manner, the corresponding relationship between the process and the dynamic area can also be recorded and saved. In addition, the load device can also send the above corresponding relationship to the auxiliary processor. So that when the dynamic area is subsequently upgraded, 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 corresponding relationship.
[0065] In some embodiments, before determining the dynamic area to be upgraded in the auxiliary processor as the target dynamic area, the method may further include: receiving an upgrade instruction; wherein the upgrade instruction is used to determine the hard-added area to be upgraded on the auxiliary processor.
[0066] In some embodiments, the upgrade instruction may be specifically understood as instruction data for instructing to update the logic code in the hardware area of the auxiliary processor and to perform a corresponding upgrade on the auxiliary processor.
[0067] Specifically, the upgrade instruction may also carry logic code for updating the hardware area of the auxiliary processor. In addition, the upgrade instruction may also carry indication information related to the hardware area to be upgraded, etc. The indication information may specifically include the type of the hardware area to be upgraded. For example, the type of the hardware area to be upgraded is a dynamic area or a static area. The indication information may also include identification information for indicating the hardware area to be upgraded. For example, the identification information of the hardware area to be upgraded is a dynamic area numbered DTQ-OO1 in the auxiliary processor (corresponding to one of the multiple dynamic areas), etc.
[0068] In some embodiments, during specific implementation, the auxiliary processor may receive the above-mentioned upgrade instruction from a third party from an external network, or may receive the upgrade instruction generated and sent by the load device.
[0069] Specifically, for example, a social application APP named XX Chat is installed on the load device. Usually, the push information from the server of the network platform of XX Chat will first be received by the auxiliary processor through the network interface set in the static area, and then the data processing module responsible for data distribution in the static area will transmit the push information to the dynamic area where the data processing module responsible for processing the push information is arranged according to the transmission path matching the push information.
[0070] The data processing module in the dynamic area responsible for processing the push information can redirect and schedule the push information, determine that the target application to be scheduled by the push information is the XX chat APP installed on the load device, and then transmit the push information to the XX chat APP of the load device through a 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.
[0071] Currently, in order to cooperate with the update of the network platform side of XX Chat, a better user experience is provided for users. The server of the network platform of XX Chat can generate corresponding upgrade instructions according to the update content on the platform side, and send the instructions to the auxiliary processor of the load device equipped with XX Chat APP to instruct the auxiliary processor to upgrade the relevant hardware area. So that after receiving the push information, the dynamic area in the hardware area on the upgraded auxiliary processor can pre-process the push information first, for example, set a keyword tag at the beginning of the push information; after pre-processing, the pre-processed push information is redirected and scheduled, and the pre-processed push information is accurately transmitted to the XX Chat APP of the load device.
[0072] In some embodiments, during specific implementation, it can be determined whether the hardware area to be upgraded is a dynamic area according to the upgrade instruction. If it is determined that the hardware area to be upgraded is a dynamic area, the dynamic area to be upgraded can be further determined as the target dynamic area.
[0073] In some embodiments, it may be first determined whether the hardware area to be upgraded is a static area or a dynamic area according to the upgrade instruction.
[0074] In some embodiments, when it is determined that the hardware area to be upgraded is a static area, a cold upgrade method can be used to upgrade the hardware area in the auxiliary processor. Specifically, for example, 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); according to the upgrade instruction, the static area of the auxiliary processor is upgraded; after the upgrade is completed, the static area is reset to end the upgrade; and then the auxiliary processor is restarted to resume normal data processing.
[0075] In some embodiments, when it is determined that the hardware area to be upgraded is a dynamic area, a hot upgrade method can be used to stably and efficiently complete the upgrade process of the auxiliary processor without interrupting data processing on the auxiliary processor.
[0076] In some embodiments, after determining that the hardware area to be upgraded is a dynamic area, the dynamic area to be upgraded on the auxiliary processor may be further determined as a target dynamic area according to the upgrade instruction.
[0077] Specifically, for example, when the dynamic area includes multiple dynamic areas (such as dynamic area 1, dynamic area 2 and dynamic area 3), the specific dynamic area to be upgraded can be determined as dynamic area 2 from the above multiple dynamic areas according to the upgrade instruction, and then dynamic area 2 can be determined as the target dynamic area.
[0078] In some embodiments, the input data of the target dynamic area can be determined as the target data according to the target dynamic area. Specifically, 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 matching the identification information of the target dynamic area can be found, and the data corresponding to the transmission path can be determined as the target data.
[0079] 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 is used to process the target data during the process of upgrading the target dynamic area, and the load device is connected to the auxiliary processor.
[0080] In some embodiments, the target process can be specifically understood as a pre-configured process corresponding to the target dynamic area. The target process can be understood as a backup of the data processing flow contained 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.
[0081] In some embodiments, the process corresponding to the target dynamic area can be determined as the target process by querying the correspondence between the dynamic area and the process according to the identification information of the target dynamic area.
[0082] In some embodiments, in order to avoid the subsequent upgrade process affecting the data processing on the auxiliary processor, when implementing it, refer to Figure 4 As shown, the transmission path of the target data can be modified from the original target dynamic area to the target process. In this way, when the static area subsequently distributes the received data, the target data can be transmitted to the target process according to the modified transmission path, and the target data will no longer be transmitted to the target dynamic area.
[0083] In some embodiments, the target process can be set to receive target data transmitted by the auxiliary processor, which can be triggered to enter the running state, and then the target process can restore the data processing flow of the target dynamic area, perform corresponding processing on the received target data on behalf of the target dynamic area, and then transmit the processed target data to the corresponding APP or VM and other target applications in the load device.
[0084] In some embodiments, during specific implementation, the auxiliary processor may send a preset wake-up signal to the target process after completing the modification of the transmission path of the target data. Accordingly, 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.
[0085] Specifically, for example, the auxiliary processor can modify the transmission path of the push information sent by the XX chat network platform in the above manner, and change the transmission path from originally pointing to dynamic area 1 to pointing to process 1. And send a preset wake-up signal to process 1, so that process 1 is converted from the original non-running state to the running state and starts to process the push information.
[0086] S203: Upgrading the target dynamic area.
[0087] In some embodiments, after the transmission path is modified, the static area can transmit the target data to the target process according to the modified transmission path, and no longer transmit the target data to the target dynamic area. The target process can replace the target dynamic area to perform corresponding processing on the received target data.
[0088] In this case, the target dynamic area can be upgraded according to the upgrade instruction. In the process of upgrading the target dynamic area, the static area transmits the target data to the target process for processing according to the modified transmission path. Therefore, it can be avoided that the data processing originally responsible for the target dynamic area is interrupted due to the failure of the target dynamic area to work normally during the upgrade process, thereby affecting the data processing on the auxiliary processor.
[0089] In some embodiments, the above-mentioned upgrading the target dynamic area according to the upgrading instruction may specifically include: modifying the logic code of the target dynamic area according to the upgrading instruction using the logic code for updating carried by the upgrading instruction; and reloading the modified logic code in the target dynamic area; and then resetting the target dynamic area. After the resetting is completed, the upgrading of the target dynamic area is completed. The upgraded target dynamic area can resume a normal working state.
[0090] In some embodiments, after upgrading the target dynamic area, the method may also include: determining whether the upgrade of the target dynamic area is completed; if it is determined that the upgrade of the target dynamic area is completed, modifying the transmission path of the target data from pointing to the target process to pointing to the target dynamic area.
[0091] In some embodiments, specifically, the auxiliary processor may detect whether the target dynamic area has been upgraded by sending a detection signal light at preset time intervals, for example, every 10 seconds. If it is determined that the target dynamic area has not been upgraded, the static area may 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.
[0092] When it is determined that the target dynamic area upgrade is completed, the auxiliary processor can modify the transmission path from pointing to the target process back to pointing to the target dynamic area. Then the static area can transfer the target data to the target dynamic area according to the transmission path, and the target dynamic area performs specific processing on the target data based on the updated logic code. At this time, the target process no longer processes the target data. The target process can re-enter the non-operating state.
[0093] Specifically, for example, after receiving the push information sent from the XX chat network platform, the static area will transmit the push information to process 1 according to the modified transmission path, instead of transmitting it to dynamic area 1. Process 1 will temporarily replace dynamic area 1 to redirect the received push information and send the push information to the XX chat APP in the load device.
[0094] At the same time, the auxiliary processor can upgrade the dynamic area 1 according to the upgrade instruction. After determining that the upgrade of the dynamic area 1 is completed, the auxiliary processor will modify the transmission path of the push information from pointing to the process 1 back to pointing to the dynamic area 1.
[0095] At this time, the dynamic area 1 can process the above 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; then redirect the push information and transmit the push information with the keyword tag to the XX chat APP of the load device. In this way, the user can receive the push information carrying the keyword through the XX chat APP.
[0096] Based on the above method, by modifying the transmission path of the target data, when the auxiliary processor needs to be upgraded, it is possible to flexibly switch to the preset target process to replace the target dynamic area to continue processing the target data, so that the upgrade process of the auxiliary processor will not affect the data processing on the auxiliary processor, thereby ensuring the stability and continuity of the data processing on the auxiliary processor.
[0097] In some embodiments, for some more complex application scenarios, the dynamic area of the auxiliary processor may include multiple different dynamic areas. Figure 5 and Figure 6 shown.
[0098] The association relationship between the above-mentioned different dynamic areas may include a mutually independent parallel relationship. For example, the data processing flows involved in the data processing modules in different dynamic areas do not affect each other and are executed in parallel. Figure 5 As shown. Dynamic area 1 and dynamic area 2 are independent of each other and are connected in parallel. After data 1 from the external network is received by the auxiliary processor (for example, it can be recorded as SMART NIC), it will be first allocated and transmitted to dynamic area 1 through the static area. The data 1 is processed by the data processing module in dynamic area 1 to obtain the processed data 1 as the output data of dynamic area 1. The processed data 1 is then transmitted to APP1 (an application deployed on the load device) in the load device (for example, it can be recorded as Host) connected to the auxiliary processor, and does not need to be further processed by other dynamic areas. Data 2 is similar to data 1. After being processed by the data processing module in dynamic area 2, the processed data 2 obtained will be transmitted from dynamic area 2 to APP2 in the load device, and does not need to be further processed by other dynamic areas.
[0099] The association relationship between the above-mentioned different dynamic areas can also include a serial relationship with mutual correlation. For example, the input data involved in the data processing of the data processing module in a certain dynamic area is the output data after processing in the previous dynamic area, that is, the data processing involved in the data processing modules in different dynamic areas is related. For example, multiple dynamic areas need to be connected in series in a certain order, and a complete data processing flow can be completed in series. Figure 6 As shown. Dynamic area 3 and dynamic area 4 are connected in series. After data 3 is processed for the first time by dynamic area 3, the first processed data 3 output from dynamic area 3 will be first transmitted to dynamic area 4. Dynamic area 4 will use the first processed data 3 as input data, process the data for the second time, obtain the second processed data 3, and then use the second processed data 3 as output data to transmit to APP3 in the load device. Specifically, the above-mentioned dynamic area 3 can be understood as the upper cascade dynamic area of dynamic area 4, and correspondingly, dynamic area 4 can be understood as the lower cascade dynamic area of dynamic area 3.
[0100] In some embodiments, in order to be able to more accurately adjust the data transmission path, after determining that the hardware area to be upgraded of the auxiliary processor is the target dynamic area according to the upgrade instruction, the method may also include the following contents when implemented: determining the association relationship between the target dynamic area and other dynamic areas; accordingly, modifying the transmission path of the target data according to the association relationship between the target dynamic area and other dynamic areas.
[0101] In some embodiments, the other dynamic areas mentioned above can be specifically understood as dynamic areas other than the target dynamic area in the hardware area of the auxiliary processor.
[0102] In some embodiments, the above-mentioned association relationship may specifically include a parallel relationship, a series relationship, etc. Among them, the above-mentioned series relationship may further include a previous cascade relationship and / or a next cascade relationship with other dynamic areas, etc. Of course, the above-mentioned association relationships are only a schematic illustration. In specific implementation, according to specific circumstances and processing requirements, more complex association relationships other than the above-mentioned relationships may be introduced. This specification does not limit this.
[0103] In some embodiments, when it is determined that the association relationship between the target dynamic area and other dynamic areas is a parallel relationship, the above modification of the transmission path of the target data according to the association relationship between the target dynamic area and other dynamic areas 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 originally connected to the target dynamic area and set in the load device.
[0104] For example, see Figure 7 As shown, the target dynamic area is dynamic area 1, and dynamic area 1 and dynamic area 2 are in parallel relationship. Figure 5 As shown in the content, when modifying the transmission path, you only need to change the transmission path of data 1 from pointing to dynamic area 1 to pointing to process 1, and at the same time set the transmission path of the output data of process 1 to point to APP1.
[0105] In some embodiments, when it is determined that the association relationship between the target dynamic zone and other dynamic zones is a series relationship, it can be further determined whether the target dynamic zone has a next-level cascade dynamic zone.
[0106] In some embodiments, the above-mentioned modification of the transmission path of the target data according to the association relationship between the target dynamic zone and other dynamic zones may include the following contents when implemented specifically: when it is determined that the next cascade dynamic zone of the target dynamic zone does not exist in the other dynamic zones according to the association relationship between the target dynamic zone, the transmission path of the target data is modified from pointing to the target dynamic zone to pointing to the target process, and the transmission path of the output data of the target process is set to point to the target application.
[0107] In some embodiments, the above-mentioned modification of the transmission path of the target data according to the association relationship between the target dynamic zone and other dynamic zones may also include the following content when implemented specifically: when it is determined that there is a next-level cascade dynamic zone of the target dynamic zone in the other dynamic zones according to the association relationship between the target dynamic zone and other dynamic zones, the transmission path of the target data is modified from pointing to the target dynamic zone to pointing to the target process, and the transmission path of the output data of the target process is set to point to the next-level cascade dynamic zone of the target dynamic zone.
[0108] For example, see Figure 8 The target dynamic area is dynamic area 3, and dynamic area 3 and dynamic area 4 are in series relationship. Figure 6 As shown in the content, when modifying the transmission path, it is necessary to change the transmission path of data 3 from pointing to dynamic area 3 to pointing to process 3, and at the same time set the transmission path of the output data of process 3 to point to dynamic area 4.
[0109] In some embodiments, when the target dynamic zone includes multiple dynamic zones, that is, when multiple dynamic zones are to be upgraded at the same time, in specific implementation, when it is determined that there is a next-level cascade dynamic zone of the current target dynamic zone in the other dynamic zones according to the association relationship between the current target dynamic zone and other dynamic zones (other dynamic zones except the current target dynamic zone), it can be further determined whether the next-level cascade dynamic zone of the current target dynamic zone also belongs to the target dynamic zone. When it is determined that the next-level cascade dynamic zone of the current target dynamic zone also belongs to the target dynamic zone, the transmission path of the current target data can be modified from pointing to the current target dynamic zone to pointing to the target process corresponding to the current target dynamic zone, and the transmission path of the output data of the target process is set to point to the target process corresponding to the next-level cascade dynamic zone of the current target dynamic zone. When it is determined that the next-level cascade dynamic zone of the current target dynamic zone does not belong to the target dynamic zone, the transmission path of the current target data can be modified from pointing to the current target dynamic zone to pointing to the target process corresponding to the current target dynamic zone, and the transmission path of the output data of the target process is set to point to the next-level cascade dynamic zone of the current target dynamic zone.
[0110] In some embodiments, for some auxiliary processors with higher configurations, such as smart network cards, etc., such auxiliary processors themselves can carry certain memory resources, such as CPU and other software resources. In order not to increase the data processing burden on the load device side, before specific implementation, the above process can also be pre-set in the memory of the auxiliary processor.
[0111] In some embodiments, during specific implementation, when the auxiliary processor carries memory resources, the target process may also include a process corresponding to the target dynamic area and preset in the memory of the auxiliary processor.
[0112] For example, see Fig. 9 After the auxiliary processor is connected to the load device and the dynamic area is allocated and established, the auxiliary processor can also allocate a portion of memory resources in the local memory (for example, the CPU of the auxiliary processor, etc.) to configure a process corresponding to the dynamic area (for example, the Bypass process, etc.) locally in the auxiliary processor as a backup process.
[0113] Accordingly, when the dynamic area to be upgraded is determined to be the target dynamic area, a pre-configured target process corresponding to the target dynamic area can be determined from the memory area of the auxiliary processor, and 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.
[0114] When upgrading the target dynamic area, 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. Therefore, the auxiliary processor upgrade process will not increase the data processing burden of the load device, and at the same time, the data processing on the auxiliary processor can be guaranteed to be normal and stable, reducing the data processing amount of the load device and avoiding the impact on the data processing of the load device.
[0115] As can be seen from the above, the data processing method provided in the embodiment of the specification can configure the process corresponding to the dynamic area in the auxiliary processor in advance in the memory of the load device connected to the auxiliary processor before upgrading the auxiliary processor; when upgrading the auxiliary processor, the dynamic area to be upgraded in the auxiliary processor can be determined as the target dynamic area, and the data input into the target dynamic area can be determined as the target data, and then the transmission path of the target data can be modified from originally pointing to the target dynamic area to pointing to the target process corresponding to the target dynamic area, so that the target data can be continued to be processed by calling the target process during the upgrade process; after the transmission path of the target data is modified in the above manner, the target dynamic area is upgraded, so that the upgrade process of the auxiliary processor will not affect the data processing of the target data on the auxiliary processor, ensuring the stability and continuity of the data processing on the auxiliary processor, and avoiding the occurrence of hardware single point failure and other problems. In addition, when the dynamic area includes multiple dynamic areas, the association relationship between the target dynamic area and other dynamic areas is first determined; and then the transmission path of the target data is modified in a targeted manner according to the association relationship between the target dynamic area and other dynamic areas, so that in the process of upgrading the auxiliary processor, the corresponding processing can be more accurately performed based on the modified transmission path. By pre-configuring the target process in the local software area of the auxiliary processor when it is determined that the auxiliary processor carries memory, the target process local to the auxiliary processor can be used to temporarily replace the target dynamic area for data processing during the upgrade of the auxiliary processor hardware area, thereby avoiding the upgrade process from increasing the data processing burden of the load device and ensuring the stability of data processing on the load device side.
[0116] The embodiment of this specification also provides a data processing method. The method is applied to a load device. When the method is implemented, it may include the following contents.
[0117] S1: Receive 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 modified from pointing to the target dynamic area to pointing to the target process, and the target process includes a process corresponding to the target dynamic area and preset in the memory of the load device.
[0118] S2: Calling the target process to process the target data.
[0119] In some embodiments, when the method is implemented, it may also include the following: receiving and responding to a process configuration request of an auxiliary processor, and setting a process corresponding to the dynamic area in the memory according to the dynamic area in the auxiliary processor.
[0120] In some embodiments, the calling of the target process to process the target data may include at least one of the following during specific implementation: redirecting and scheduling the target data; or encapsulating the target data; or decapsulating the target data; or modifying the content information of the target data, etc. Of course, it should be noted that the data processing listed above is only a schematic description. During specific implementation, other related data processing types other than those listed above may be introduced according to specific circumstances and processing needs. This specification does not limit this.
[0121] In some embodiments, the target process may specifically include a Bypass process, etc. Of course, it should be noted that the Bypass process listed above is only a schematic illustration. In specific implementation, according to specific circumstances, other suitable processes other than the Bypass process may also be constructed as backup processes corresponding to the target dynamic area.
[0122] In some embodiments, the target process may be in a non-operating state, so that the load device does not need to consume additional resources to maintain the target process.
[0123] In specific implementation, when the load device receives 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, the target process will enter the running state, and then the target process can process the received target data instead of the target dynamic area.
[0124] When the target dynamic area upgrade is completed, the auxiliary processor modifies the transmission path of the target data, and the target data is no longer transmitted to the target process, the target process can re-enter the non-operating state.
[0125] Specifically, for example, the target process may automatically enter a non-operating state when detecting that the target data is not received for a period exceeding a preset time threshold. Alternatively, the auxiliary processor may generate and send a preset recovery signal to the load device after determining that the target dynamic area upgrade is completed and re-modifying the transmission path of the target data to point back to the target dynamic area. The load device receives and responds to the preset recovery signal and restores the target process to its original non-operating state.
[0126] Based on the above method, by modifying the transmission path of the target data, when the auxiliary processor is to be upgraded, the target process preset on the load device can be flexibly switched to replace the target dynamic area to process the target data, so that the upgrade process of the auxiliary processor will not affect the data processing on the auxiliary processor, thereby improving the stability of the data processing on the auxiliary processor. Moreover, after the upgrade is completed, the target dynamic area on the auxiliary processor re-processes the target data, and restores the target process on the load device to a non-operating state, thereby reducing the impact on the data processing on the load device side.
[0127] An embodiment of the present 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 provided with a dynamic area, and the first processor has a memory provided with a process corresponding to the dynamic area; the second processor determines the dynamic area to be upgraded in the second processor as a target dynamic area, and determines the input data of the target dynamic area as target data; the second processor modifies the transmission path of the target data from pointing to the target dynamic area to pointing to a target process; wherein the target process includes a process corresponding to the target dynamic area in the memory of the first processor, and the target process is used to process the target data during the upgrade of the target dynamic area.
[0128] See also Fig.10 As shown, the embodiment of this specification also 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 structures can be connected by internal cables or the like so that each structure can perform specific data interaction. The second processor 1003 is provided with a dynamic area, and the memory of the first processor 1002 is provided with a process corresponding to the dynamic area.
[0129] The network communication port 1001 can be specifically used to receive upgrade instructions.
[0130] The second processor 1003 may 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;
[0131] 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 process in the memory of the first processor 1002 corresponding to the target dynamic area.
[0132] In this way, during the process of upgrading the target dynamic area, 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.
[0133] The memory 1004 may be specifically used to store corresponding instruction programs.
[0134] In this embodiment, the network communication port 1001 can be a virtual port that is bound to different communication protocols so that different data can be sent or received. For example, the network communication port can be a port responsible for web data communication, a port responsible for FTP data communication, or a port responsible for email data communication. In addition, the network communication port can also be a physical communication interface or communication chip. For example, 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.
[0135] In this embodiment, the first processor 1002 may be implemented in any appropriate manner. For example, the processor may take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) executable by the (micro)processor, a logic gate, a switch, an application specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, etc. This specification does not limit this.
[0136] In this embodiment, the second processor 1003 can be specifically understood as an auxiliary processor, which is used to assist the server in performing some data processing tasks to reduce the data processing burden of the server. Specifically, the second processor 1003 can be an auxiliary processor built into the server, or an auxiliary processor (such as a network card) that is externally connected to the server but electrically connected to the first processor 1002 of the server.
[0137] In this embodiment, the memory 1004 may include multiple levels. In a digital system, anything that can store binary data 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 a system, a storage device with a physical form is also called a memory, such as a memory stick, TF card, etc.
[0138] The embodiment of this specification also provides a smart network card, which is electrically connected to the processor of a load device, wherein the smart network card is provided with a dynamic area, and a process corresponding to the dynamic area is preset in the processor memory of the load device; the smart 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 smart network card 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 the process corresponding to the target dynamic area in the processor memory of the load device, and the target process is used to process the target data during the process of upgrading the target dynamic area.
[0139] The embodiments of this specification also provide a computer storage medium based on the above-mentioned data processing method, wherein the computer storage medium stores computer program instructions, and when the computer program instructions are executed, the following are achieved: 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 a hardware area on the auxiliary processor where a data processing module with an update frequency greater than a preset frequency threshold is arranged; modifying a transmission path of the target data from pointing to the target dynamic area to pointing to a target process; wherein the target process includes a process corresponding to the target dynamic area and preset 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, and the load device is connected to the auxiliary processor; upgrading the target dynamic area.
[0140] In this embodiment, the storage medium includes, but is not limited to, a random access memory (RAM), a read-only memory (ROM), a cache, a hard disk (HDD), or a memory card. The memory may be used to store computer program instructions. The network communication unit may be an interface for network connection communication set in accordance with the standard specified by the communication protocol.
[0141] In this embodiment, the functions and effects specifically implemented by the program instructions stored in the computer storage medium can be explained in comparison with other implementations and will not be described in detail here.
[0142] The embodiments of this specification also provide a computer storage medium based on the above-mentioned data processing method, wherein the computer storage medium stores computer program instructions, and when the computer program instructions are executed, the following are achieved: receiving target data transmitted by an auxiliary processor through a target process; wherein, when the auxiliary processor determines that the dynamic area to be upgraded on the auxiliary processor is a target dynamic area, the auxiliary processor modifies the transmission path of the target data from pointing to the target dynamic area to pointing to a 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 calling the target process to process the target data.
[0143] See also Fig.11 As shown, at the software level, the embodiments of this specification also provide a data processing device, which may specifically include the following structural modules.
[0144] Determination module 1101 can be specifically 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 a hardware area on the auxiliary processor where a data processing module with an update frequency greater than a preset frequency threshold is arranged.
[0145] The modification module 1102 can 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 a process corresponding to the target dynamic area and preset in the memory of the load device, and the target process is used to process the target data during the process of upgrading the target dynamic area, and the load device is connected to the auxiliary processor.
[0146] The upgrading module 1103 may be specifically used to upgrade the target dynamic area.
[0147] It should be noted that the units, devices or modules described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. For the convenience of description, the above devices are described separately by functions divided into various modules. Of course, when implementing this specification, the functions of each module can be implemented in the same or more software and / or hardware, or the modules that implement the same function can be implemented by a combination of multiple sub-modules or sub-units. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0148] It can be seen from the above that the data processing device provided in the embodiments of this specification can ensure that the upgrade process of the auxiliary processor does not affect the processing of target data on the auxiliary processor, thereby improving the stability of data processing on the auxiliary processor.
[0149] The embodiments of this specification also provide another data processing device, which may specifically include the following structural modules.
[0150] The receiving module may be specifically used to receive 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 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;
[0151] The processing module can be specifically used to call the target process to process the target data.
[0152] Although the present specification provides method operation steps as described in the embodiments or flow charts, more or less operation steps may be included based on conventional or non-creative means. The order of steps listed in the embodiments is only one way of executing the order of many steps, and does not represent a unique execution order. When the device or client product in practice is executed, it can be executed in sequence or in parallel according to the method shown in the embodiments or the drawings (for example, a parallel processor or a multi-threaded processing environment, or even a distributed data processing environment). The term "include", "include" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, product or device including a series of elements includes not only those elements, but also includes other elements that are not explicitly listed, or also includes elements inherent to such a process, method, product or device. In the absence of more restrictions, it is not excluded that there are other identical or equivalent elements in the process, method, product or device including the elements. The first, second, etc. words are used to represent the name, and do not represent any particular order.
[0153] Those skilled in the art also know that, in addition to implementing the controller in a purely computer-readable program code, the controller can be made to implement the same function in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, such a controller can be considered as a hardware component, and the devices for implementing various functions included therein can also be considered as structures within the hardware component. Or even, the devices for implementing various functions can be considered as both software modules for implementing the method and structures within the hardware component.
[0154] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, classes, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media including storage devices.
[0155] Through the description of the above embodiments, it can be known that those skilled in the art can clearly understand that the present specification can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present specification can essentially be embodied in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a mobile terminal, a server, or a network device, etc.) to execute the methods described in each embodiment of the present specification or some parts of the embodiments.
[0156] The various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. This specification can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld devices or portable devices, tablet devices, multi-processor systems, microprocessor-based systems, set-top boxes, programmable electronic devices, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc.
[0157] Although the present specification is described through embodiments, those skilled in the art will appreciate that there are many modifications and changes to the present specification without departing from the spirit of the present specification, and it is intended that the appended claims include these modifications and changes without departing from the spirit of the present specification.
Claims
1. A data processing method, characterized in that: include: Determine a dynamic area to be upgraded in the auxiliary processor as a target dynamic area, and determine input data of the target dynamic area as target data; wherein the dynamic area includes a hardware area on the auxiliary processor where a data processing module with an update frequency greater than a preset frequency threshold is arranged; 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 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; The target dynamic region is updated.
2. The method according to claim 1, characterized in that The auxiliary processor includes a network card.
3. The method according to claim 1, characterized in that In the case where the auxiliary processor carries memory resources, the target process also includes a process corresponding to the target dynamic area and preset in the memory of the auxiliary processor.
4. The method according to claim 1, characterized in that: Before determining the dynamic area to be upgraded in the auxiliary processor as the target dynamic area, the method further includes: An upgrade instruction is received; wherein the upgrade instruction is used to determine a hard-added area to be upgraded on the auxiliary processor.
5. The method according to claim 1, characterized in that: After upgrading the target dynamic area, the method further comprises: Determine whether the target dynamic area is upgraded; When it is determined that 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.
6. The method according to claim 4, characterized in that Before receiving the upgrade instruction, the method further includes: Determining update frequencies of a plurality of data processing modules disposed in the auxiliary processor; According to the update frequency of the data processing module, the data processing module with an update frequency greater than a preset frequency threshold is allocated to the dynamic area; the data processing module with an update frequency less than or equal to the preset frequency threshold is allocated to the static area.
7. The method according to claim 1, characterized in that The dynamic region includes a plurality of dynamic regions.
8. The method according to claim 7, characterized in that After determining the dynamic area to be upgraded in the auxiliary processor as the target dynamic area, the method further includes: Determine the association relationship between the target dynamic area and other dynamic areas; wherein the other dynamic areas include dynamic areas other than the target dynamic area among the multiple dynamic areas; The transmission path of the target data is modified according to the association relationship between the target dynamic area and other dynamic areas.
9. The method according to claim 8, characterized in that The modifying the transmission path of the target data according to the association relationship between the target dynamic area and other dynamic areas includes: When it is determined, based on the association relationship between the target dynamic zone and other dynamic zones, that there is no next-level cascade dynamic zone of the target dynamic zone in the other dynamic zones, the transmission path of the target data is modified from pointing to the target dynamic zone to pointing to the target process, and the transmission path of the output data of the target process is set to point to the target application, wherein the target application includes an application connected to the target dynamic zone set in the load device.
10. The method according to claim 9, characterized in that The modifying the transmission path of the target data according to the association relationship between the target dynamic area and other dynamic areas also includes: When it is determined that a next-level cascade dynamic area of the target dynamic area exists in the other dynamic areas based on the association relationship between the target dynamic area and 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 transmission path of the output data of the target process is set to point to the next-level cascade dynamic area of the target dynamic area.
11. The method according to claim 1, characterized in that The target process includes a Bypass process.
12. The method according to claim 1, characterized in that The hardware area includes a field programmable gate array integrated into the auxiliary processor.
13. A data processing method, comprising: The target data transmitted by the auxiliary processor is received 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 modified from pointing to the target dynamic area to pointing to the target process, and the target process includes a process corresponding to the target dynamic area and preset in the memory of the load device; wherein the dynamic area includes a hardware area on the auxiliary processor where a data processing module with an update frequency greater than a preset frequency threshold is arranged; The target process is called to process the target data.
14. The method according to claim 13, further comprising: A process configuration request of an auxiliary processor is received and responded to, and a process corresponding to the dynamic area is set in a memory according to the dynamic area in the auxiliary processor.
15. The method according to claim 13, characterized in that The calling of the target process to process the target data includes at least one of the following: redirecting and scheduling the target data; or encapsulating the target data; or decapsulating the target data; or modifying the content information of the target data.
16. The method according to claim 13, characterized in that The target process includes a Bypass process.
17. A data processing device, comprising: A determination module is used to determine a dynamic area to be upgraded in the auxiliary processor as a target dynamic area, and to determine input data of the target dynamic area as target data; wherein the dynamic area includes a hardware area on the auxiliary processor where a data processing module with an update frequency greater than a preset frequency threshold is arranged; A modification module, 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 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 upgrading module is used to upgrade the target dynamic area.
18. A data processing device, comprising: A receiving module, configured to receive target data transmitted by the auxiliary processor through a target process; wherein, when the auxiliary processor determines that the dynamic area to be upgraded on the auxiliary processor is a target dynamic area, the auxiliary 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 a process corresponding to the target dynamic area and preset in the memory of the load device; wherein the dynamic area includes a hardware area on the auxiliary processor where a data processing module with an update frequency greater than a preset frequency threshold is arranged; A processing module is used to call the target process to process the target data.
19. 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 provided with a dynamic area, and the memory of the first processor is provided with a process corresponding to the dynamic area; wherein the dynamic area includes a hardware area on the auxiliary processor where a data processing module with an update frequency greater than a preset frequency threshold is provided; 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 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 a process in the memory of the first processor corresponding to the target dynamic area, and the target process is used to process the target data during the process of upgrading the target dynamic area.
20. A smart network card, the smart network card being electrically connected to a processor of a load device, wherein: The intelligent network card is provided with a dynamic area, and a process corresponding to the dynamic area is preset in the processor memory of the load device; wherein the dynamic area includes a hardware area where a data processing module with an update frequency greater than a preset frequency threshold is arranged on the auxiliary processor; 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 smart network card 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 a process corresponding to the target dynamic area in the processor memory of the load device, and the target process is used to process the target data during the upgrade of the target dynamic area.
21. A computer-readable storage medium having computer instructions stored thereon, wherein the instructions, when executed, implement the steps of the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
OBD equipment function unit and firmware classification optional upgrading method
CN104461654A
Application program upgrading method and device
CN107748668A