WO2021114025A1 - 增量数据确定方法、确定装置、服务器及终端设备 - Google Patents

增量数据确定方法、确定装置、服务器及终端设备 Download PDF

Info

Publication number
WO2021114025A1
WO2021114025A1 PCT/CN2019/124035 CN2019124035W WO2021114025A1 WO 2021114025 A1 WO2021114025 A1 WO 2021114025A1 CN 2019124035 W CN2019124035 W CN 2019124035W WO 2021114025 A1 WO2021114025 A1 WO 2021114025A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
target
original
block
updated
Prior art date
Application number
PCT/CN2019/124035
Other languages
English (en)
French (fr)
Inventor
赵杰
Original Assignee
深圳市欢太科技有限公司
Oppo广东移动通信有限公司
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 深圳市欢太科技有限公司, Oppo广东移动通信有限公司 filed Critical 深圳市欢太科技有限公司
Priority to CN201980099820.1A priority Critical patent/CN114503076A/zh
Priority to PCT/CN2019/124035 priority patent/WO2021114025A1/zh
Publication of WO2021114025A1 publication Critical patent/WO2021114025A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Definitions

  • This application belongs to the technical field of file updating, and in particular relates to an incremental data determination method, determination device, terminal equipment, and computer-readable storage medium.
  • an incremental update method is often used, that is, the terminal equipment only updates the places that need to be changed, and does not need to be updated or the places that have been updated. Will not be updated repeatedly.
  • the traditional incremental update algorithm is: using the server/client (Client/Server, C/S) architecture, the difference between the updated target file and the original file to be updated is compared on the server side to obtain the incremental data, and then the increase The amount of data is returned to the terminal device to update the file in the terminal device.
  • One of the objectives of the embodiments of this application is to provide a method, a determining device, terminal equipment, and a computer-readable storage medium for determining incremental data, aiming to solve to a certain extent that traditional incremental update algorithms cannot efficiently update files.
  • a method for determining incremental data is provided, which is applied to a server, and the method includes:
  • the above N target blocks are allocated to different calculation modules to instruct each calculation module to execute: calculate the incremental data of the target block and the original block, where the original block is The above-mentioned original documents or parts of the above-mentioned original documents;
  • a device for determining incremental data applied to a server, and the device includes:
  • the file obtaining module is used to obtain the original file to be updated in the terminal device, and obtain the updated target file corresponding to the original file;
  • the block module is used to block the above-mentioned updated target file to obtain N target blocks, where N is an integer greater than 1;
  • the allocation module is used to allocate the above N target blocks to different calculation modules according to the load balancing algorithm to instruct each calculation module to execute: calculate the incremental data of the obtained target block and the original block, where,
  • the original block is the above-mentioned original file or a part of the above-mentioned original file;
  • the incremental return module is used to obtain each incremental data returned by each calculation module and return each incremental data to the terminal device to instruct the terminal device to update the original file according to each incremental data.
  • a server including a memory, a processor, and a computer program stored in the memory and running on the processor.
  • the processor executes the computer program, the steps of the method in the first aspect are implemented. .
  • a computer-readable storage medium stores a computer program, and when the above-mentioned computer program is executed by a processor, the steps of the method in the above-mentioned first aspect are realized.
  • a computer program product in a fifth aspect, includes a computer program, and when the above-mentioned computer program is executed by one or more processors, the steps of the method in the above-mentioned first aspect are implemented.
  • this application provides a method for determining incremental data applied to the server side.
  • obtain the original file to be updated for example, the original file may be an old version of the application installation package stored in the terminal device
  • obtain the updated target file corresponding to the original file for example, the updated target file may be a new version of the application installation package saved on the server side
  • block the updated target file to obtain multiple
  • the above multiple target blocks are allocated to different calculation modules to instruct each calculation module to execute: calculate the incremental data of the obtained target block and the original block,
  • the original block is the aforementioned original file or a partial file of the aforementioned original file (that is: the aforementioned target blocks are evenly allocated to different calculation modules.
  • the first and third target blocks can be allocated to the calculation module 1, and the second target block is allocated to the calculation module 2, so that the calculation module 1 and the calculation module 2 respectively perform the calculation operation of the incremental data) ;
  • each incremental data returned by each calculation module is obtained, and each incremental data is returned to the terminal device to instruct the terminal device to update the original file according to each incremental data.
  • the incremental data can be accelerated to a certain extent.
  • the acquisition speed can improve the file update efficiency of the terminal device to a certain extent.
  • FIG. 1 is a schematic flowchart of a method for determining incremental data provided in Embodiment 1 of the present application;
  • FIG. 2 is a schematic diagram of segmenting the updated target file according to the first embodiment of the present application.
  • FIG. 3 is a schematic diagram of a calculation module shown in Embodiment 1 of the present application.
  • FIG. 4 is a schematic flowchart of another method for determining incremental data provided in Embodiment 2 of the present application.
  • FIG. 5 is a schematic diagram of the target block, the original block and the calculation unit in the second embodiment of the present application.
  • FIG. 6 is a schematic flowchart of yet another method for determining incremental data provided by Embodiment 3 of the present application.
  • FIG. 7 is a schematic structural diagram of a device for determining incremental data provided by Embodiment 4 of the present application.
  • FIG. 8 is a schematic structural diagram of a server provided in Embodiment 5 of the present application.
  • the term “if” can be interpreted as “when” or “once” or “in response to determination” or “in response to detection” depending on the context .
  • the phrase “if determined” or “if detected [described condition or event]” can be interpreted as meaning “once determined” or “in response to determination” or “once detected [described condition or event]” depending on the context ]” or “in response to detection of [condition or event described]”.
  • the following describes a method for determining incremental data provided in the first embodiment of the present application.
  • the method for determining incremental data is applied to the server side. Please refer to FIG. 1.
  • the method for determining includes:
  • step S101 the original file to be updated in the terminal device is obtained, and the updated target file corresponding to the original file is obtained;
  • the server may execute this step S101 after receiving the update file request sent by the terminal device.
  • the terminal device needs to update file X to file X1
  • it can send a file update request to the server
  • the server receives the file update request, it obtains file X and file X1.
  • the above-mentioned updated target file is often already stored in the server. Therefore, the updated target file can be directly read from the memory.
  • this application does not limit the method of obtaining the updated target file.
  • obtaining the original file to be updated in the terminal device may specifically be: obtaining the version identifier of the original file to be updated in the terminal device, and based on the version identifier, obtaining the terminal device to be updated.
  • Original file the server can quickly obtain the original file to be updated (because the server usually saves files with different version identifications, so after the identification is obtained, the original file to be updated can be directly obtained from the storage. Avoid transferring original files with a large amount of data).
  • the method of determining the original file to be updated by obtaining the version identifier may cause the original file obtained by the server to be different from the original file actually saved in the terminal device (for example, the user may modify the file to be updated), resulting in The update fails.
  • the original file to be updated can be determined in the following manner: accept the original file to be updated sent by the terminal device.
  • This method can ensure that the original file obtained by the server is completely consistent with the original file to be updated in the terminal device.
  • this requires a large amount of data transmission between the terminal device and the server, and therefore, the file update efficiency may be reduced.
  • the server can receive the version identification of the original file to be updated and the number of times the user has modified the original file; if the user does not modify it, it directly obtains the file to be updated from the memory Original file; if there is a modification, communicate with the terminal device to obtain the original file to be updated.
  • step S102 block the above-mentioned updated target file to obtain N target blocks, where N is an integer greater than 1;
  • each target block can be as shown in Figure 2(a) and 2(b), and there is no cross-repetitive data between the two; or, as shown in Figure 2(c), there is At least two target blocks have cross-repetitive data, and the application does not limit the method of dividing the target blocks.
  • this block method can improve the anti-interference performance between the terminal device and the server to a certain extent (for example, when the terminal device performs a file update operation, if the target block 1 is obtained according to the incremental data There is no segment of duplicate data between the target block 2 and the target block 2, which means that there is interference in the transmission of the incremental data. At this time, the server can be requested to resend the incremental data.
  • the block method described in step S102 can be as shown in Figure 2(a). Except for the last target block, the data amount of each target block is exactly the same (the data amount of the last target block).
  • the size depends on the size of the target file after the update. It may be the same as the size of each target block before, or it may be smaller than the size of each target block before); it can also be shown in Figure 2(b) without dividing each target block. The size is limited.
  • the updated target file can be randomly divided to obtain N target blocks.
  • Embodiment 2 and Embodiment 3 will give specific division methods. For details, please refer to the description of Embodiment 2 and Embodiment 3 in detail.
  • step S103 according to the load balancing algorithm, the above-mentioned N target blocks are respectively allocated to different calculation modules to instruct each calculation module to execute: calculate the obtained target block and the original block incremental data, where,
  • the original block is the above-mentioned original file or a part of the above-mentioned original file;
  • the "computing module" described in this step S103 may be a computing terminal set up separately from the server (terminal devices 302 and 303 as shown in FIG. 3), or it may be a thread or process in the server, which is not covered by this application. Make a limit.
  • step S102 the server needs to allocate corresponding target blocks to multiple calculation modules according to the current calculation burden of each calculation module, so as to ensure that the calculation load of each calculation module is balanced, so as to obtain incremental data faster. For example, if step S102 divides 3 target blocks, there are a total of 2 calculation modules, and before the target block is allocated, both calculation modules are idle. At this time, one target block can be allocated to one of the calculation modules. , To assign two target blocks to another computing module.
  • the original block used by the calculation module when calculating incremental data may be the same as or different from the original block used by other calculation modules. This application does not limit this.
  • the original block used by each calculation module is the original file itself, the amount of incremental data obtained by each calculation module is the least (because the current incremental data
  • the calculation method of is usually: get the ID of the same part of the target block and the original file and the added part.
  • the ID of the same part will occupy a larger percentage, and this part can only record the ID Therefore, the amount of incremental data obtained is less), and accordingly, the time to return each incremental data to the terminal device will be shorter, which is convenient for faster file update.
  • step S104 obtain the incremental data returned by each calculation module, and return each incremental data to the above-mentioned terminal device to instruct the terminal device to update the above-mentioned original file according to each incremental data;
  • the server may summarize various incremental data to obtain a total incremental data, and then return the total incremental data to the above-mentioned terminal device; or, it may also use the calculation based on each calculation module Speed.
  • the advantage of returning each of the above incremental data to the terminal device in turn and returning to the terminal device in turn is that the amount of data processed by the terminal device at a single point in time is not large, which is beneficial to reducing the computing burden of the terminal device.
  • the following describes another method for determining incremental data provided in the second embodiment of the present application.
  • the method for determining incremental data is also applied to the server side.
  • the computing module is specifically a computing terminal set up separately from the server.
  • the method for determining incremental data includes:
  • step S201 the original file to be updated in the terminal device is obtained, and the updated target file corresponding to the original file is obtained;
  • step S201 is completely the same as that of step S101 in the first implementation.
  • step S101 in the first implementation.
  • step S202 based on the file type of each file contained in the updated target file, the updated target file is divided into N target blocks, where each file contained in each target block has the same file type, and N Is an integer greater than 1;
  • a method of dividing the target block is given, and correspondingly, in the subsequent step S203, for each target block, each of the original files of the same file type will be The file is determined to be the original block corresponding to the target block.
  • the file type of the target block is the same as that of the corresponding original file.
  • the incremental data can be calculated quickly.
  • the original block corresponding to each target block may be the original file to be updated obtained in step S201. Although they are all original files, it can still be ensured that each incremental data is small. However, this may cause the need to transmit larger data between the terminal device and the computing terminal, and the transmission will take a long time.
  • step S202 uses FIG. 5 to describe each step included in the second embodiment of the present application.
  • step S202 is described below:
  • the updated target file is divided into 4 target partitions, where target partition 1 is a jpg type file, the target partition is a 2-bit dll type file, and the target partition 3 is a dat type file.
  • the target block 4 is a txt file.
  • the file types of the two target blocks are allowed to be the same, for example, when the file ratio of a certain type in the target file after the update is greater than a certain preset ratio (for example, 80%), this type of file can be divided into multiple target partitions, that is, there may be cases where the file types of target partition 1 and target partition 2 are the same.
  • step S203 for each target segment, based on the file type of the file contained in the target segment, extract each file corresponding to the file type in the original file, and determine each file as corresponding to the target segment The original block;
  • the original file can be divided into blocks based on this step S203. For details, please refer to Figure 5.
  • each file in the original file whose file type is jpg is determined to be the original block 1 corresponding to the target block 1
  • each file in the original file whose file type is dll is determined to correspond to the target block 2.
  • the original block 2 of the original file is determined as the original block 3 corresponding to the target block 3 for each file of the file type dat
  • each file with the file type of txt in the original file is determined to be the original block corresponding to the target block 4.
  • the updated target file contains 3 target blocks, the types are type X, type Y, and type Z.
  • the original file only contains files of type X and type Y.
  • each file in the original file of type X can be determined as the original block corresponding to the target block of type X, and the type is
  • Each file in the original file of Y is determined as the original block corresponding to the target block of type Y, and the original file itself is determined as the original block corresponding to the target block of type Z.
  • the step S203 may specifically be: for each target block, if the original file contains each file of the same file type as the target block, then each file may be determined to be the same as the target block.
  • step S204 the method for determining incremental data should further include the following steps:
  • the original file For each target block, if the original file does not contain files of the same file type as the target block, the original file itself can be determined as the original block corresponding to the target block.
  • step S204 for each target block, the target block and the original block corresponding to the target block are determined as the calculation unit corresponding to the target block;
  • step S202 and step S203 As shown in FIG. 5, according to the results of step S202 and step S203, 4 calculation units are obtained.
  • step S205 according to the load balancing algorithm, the above-mentioned N computing units are respectively allocated to different computing terminals to instruct each computing terminal to execute: the target block in the computing unit acquired by calculation and the original score in the acquired computing unit Incremental data of the block;
  • the data running burden of each computing terminal can be obtained first. If the data running burden difference between the two computing terminals is less than the preset difference, the following method 1 or method can be used 2 to allocate each target block (wherein, the above-mentioned data running burden is a parameter representing the operating status of the computing terminal data or program, and the data running burden can be determined by parameters such as CPU occupancy, memory occupancy and/or system load average) :
  • each computing unit is allocated to different computing terminals, wherein the identification sequence number takes a value of 1, 2...N.
  • the identification sequence number takes a value of 1, 2...N.
  • computing unit 1 and computing unit 2 can be allocated to computing terminal 1
  • computing unit 3 and computing unit 4 can be allocated to computing terminal 2.
  • Manner 2 Determine the check value of each calculation unit, and allocate each calculation unit to different calculation terminals based on the check value of each calculation unit. For example, as shown in Figure 5, assuming there are two computing terminals, the message-digest algorithm 5 (MD5) check value of each computing unit can be calculated, which is determined according to the last digit of the check value The computing unit is allocated to which computing terminal. For example, if the last bit is 0, it is allocated to computing terminal 1, and if the last bit is 1, it is allocated to computing terminal 2.
  • MD5 message-digest algorithm 5
  • step S206 obtain the incremental data returned by each computing terminal, and return each incremental data to the above-mentioned terminal device to instruct the terminal device to update the above-mentioned original file according to each incremental data;
  • step S206 is the same as that of step S104 in the first embodiment.
  • step S104 in the first embodiment.
  • the second embodiment of the present application clarifies that the computing module is a separate computing terminal from the server, and therefore, the requirements for the hardware and software of the server and the maintenance cost are reduced.
  • the second embodiment of the present application also clarifies the determination method of the target block and the original block. This method can ensure that the calculation burden of the computing terminal is small, and the calculated incremental data is also small, which can further accelerate the file update. speed.
  • the determining method includes:
  • step S301 the original file to be updated in the terminal device is obtained, and the updated target file corresponding to the original file is obtained;
  • step S301 is completely the same as that of step S101 in the first embodiment, and the description of the first embodiment can be added to the description, and the details are not repeated here.
  • step S302 based on the storage order of the data in the updated target file, the updated target file is divided into N target blocks, where each target block contains files in continuous storage order, and N is greater than An integer of 1;
  • the target block segmentation method described in step S302 is a relatively simple segmentation method, which is convenient for programmers to develop.
  • step S303 for each target block, the target block and the original file are determined as the calculation unit corresponding to the target block;
  • the third embodiment of this application is different from the foregoing second embodiment.
  • the foregoing second embodiment is divided according to file types. Therefore, each original block may be each file of the corresponding file type.
  • the original file since it is simply divided according to the storage order, in order to ensure that the amount of incremental data is small, the original file itself needs to be determined as the original block corresponding to each target block ( The specific reason is described in step S103 in the first embodiment. For details, please refer to the description of the first embodiment, which will not be repeated here).
  • step S304 according to the load balancing algorithm, the above-mentioned N computing units are respectively allocated to different computing terminals to instruct each computing terminal to execute: calculate the target block in the obtained computing unit and the original score in the obtained computing unit. Incremental data of the block;
  • step S305 the incremental data returned by each computing terminal is obtained, and each incremental data is returned to the above-mentioned terminal device to instruct the terminal device to update the above-mentioned original file according to each incremental data.
  • steps S304-S305 is completely the same as steps S205-S206 in the second embodiment, and the details can be referred to the description of the second embodiment, which will not be repeated here.
  • the method for determining incremental data provided in the third embodiment of the present application is much simpler than that in the second embodiment, and therefore, it is more convenient for programmers to develop.
  • the fourth embodiment of the present application provides a device for determining incremental data, which is applied to a server.
  • the incremental data determining device 400 includes:
  • the file obtaining module 401 is configured to obtain the original file to be updated in the terminal device, and obtain the updated target file corresponding to the original file;
  • the block module 402 is configured to block the above-mentioned updated target file to obtain N target blocks, where N is an integer greater than 1;
  • the allocation module 403 is configured to allocate the aforementioned N target blocks to different calculation modules according to the load balancing algorithm, so as to instruct each calculation module to execute: calculate the obtained incremental data of the target block and the original block, where ,
  • the original block is the above-mentioned original file or a part of the above-mentioned original file;
  • the incremental return module 404 is configured to obtain each incremental data returned by each calculation module, and return each incremental data to the above-mentioned terminal device, so as to instruct the above-mentioned terminal device to update the above-mentioned original file according to each incremental data.
  • the foregoing computing module is a computing terminal communicatively connected with the foregoing server;
  • the aforementioned allocation module 403 includes:
  • the calculation unit determining unit is configured to determine, for each target block, a calculation unit corresponding to the target block, wherein the calculation unit includes the target block and the original block, wherein the original block is the The original document itself or part of the original document;
  • the calculation unit allocation unit is configured to allocate the N calculation units to different calculation terminals according to the load balancing algorithm, so as to instruct each calculation terminal to execute: the target block in the calculated calculation unit and the obtained calculation unit Incremental data of the original block in.
  • the aforementioned blocking module 402 is specifically configured to:
  • calculation unit determining unit is specifically used for:
  • the original file itself is determined as the original block corresponding to the target block, and the target block and the original file are determined as the computing unit corresponding to the target block.
  • the aforementioned blocking module 402 is specifically configured to:
  • the foregoing calculation unit determining unit includes:
  • the original file determining subunit is used for each target block, based on the file type of the file contained in the target block, extract each file corresponding to the file type in the original file, and determine each file as the target file type.
  • the calculation unit determines a sub-unit for determining, for each target block, the target block and the original block corresponding to the target block as the calculation unit corresponding to the target block.
  • the above-mentioned computing unit allocating unit is specifically configured to:
  • each computing unit is allocated to different computing terminals, wherein the identification sequence number takes the value: 1, 2...N;
  • the data operation burden is a parameter representing the data or program operation status of the computing terminal.
  • the above-mentioned computing unit allocating unit is specifically configured to:
  • the data operation burden is a parameter representing the data or program operation status of the computing terminal.
  • the aforementioned blocking module 402 is specifically configured to:
  • the updated target file is divided into blocks to obtain N target blocks, wherein at least two target blocks have cross-repetitive data.
  • files with various version identifications are stored in the foregoing server;
  • the aforementioned file obtaining module 401 specifically obtains the original file to be updated in the terminal device in the following manner:
  • the aforementioned increment return module 404 is specifically configured to:
  • the various incremental data are sequentially returned to the terminal device.
  • FIG. 8 is a schematic diagram of a server provided in Embodiment 5 of the present application.
  • the server 500 of this embodiment includes a processor 501, a memory 502, and a computer program 503 that is stored in the memory 502 and can run on the processor 501.
  • the above-mentioned processor 501 implements the steps in the above-mentioned method embodiments when the above-mentioned computer program 503 is executed.
  • the processor 501 executes the computer program 503, the functions of the modules/units in the foregoing device embodiments are implemented.
  • the foregoing computer program 503 may be divided into one or more modules/units, and the foregoing one or more modules/units are stored in the foregoing memory 502 and executed by the foregoing processor 501 to complete the application.
  • the foregoing one or more modules/units may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the foregoing computer program 503 in the foregoing server 500.
  • the above-mentioned computer program 503 can be divided into a file acquisition module, a block module, an allocation module, and an incremental return module.
  • the specific functions of each module are as follows:
  • the above N target blocks are allocated to different calculation modules to instruct each calculation module to execute: calculate the incremental data of the target block and the original block, where the original block is The above-mentioned original documents or parts of the above-mentioned original documents;
  • the foregoing server may include, but is not limited to, a processor 501 and a memory 502.
  • FIG. 8 is only an example of the server 500 and does not constitute a limitation on the server 500. It may include more or less components than shown, or a combination of certain components, or different components, such as
  • the aforementioned server may also include input and output devices, network access devices, buses, and so on.
  • the so-called processor 501 may be a central processing unit (Central Processing Unit, CPU), other general processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the storage 502 may be an internal storage unit of the server 500, such as a hard disk or a memory of the server 500.
  • the memory 502 may also be an external storage device of the server 500, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, or a flash memory card equipped on the server 500. Flash Card) etc.
  • the aforementioned memory 502 may also include both an internal storage unit of the aforementioned server 500 and an external storage device.
  • the above-mentioned memory 502 is used to store the above-mentioned computer program and other programs and data required by the above-mentioned server.
  • the aforementioned memory 502 can also be used to temporarily store data that has been output or will be output.
  • the units described above as separate components may or may not be physically separated, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the above integrated modules/units are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, this application implements all or part of the processes in the foregoing method embodiments, and can also be completed by instructing relevant hardware through a computer program.
  • the foregoing computer program may be stored in a computer-readable storage medium. When the program is executed by the processor, it can implement the steps of the foregoing method embodiments.
  • the above-mentioned computer program includes computer program code, and the above-mentioned computer program code may be in the form of source code, object code, executable file, or some intermediate forms.
  • the above-mentioned computer-readable medium may include: any entity or device capable of carrying the above-mentioned computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random Access memory (RAM, Random Access Memory), electrical carrier signal, telecommunications signal, and software distribution media, etc.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • electrical carrier signal telecommunications signal
  • telecommunications signal and software distribution media, etc.
  • the content contained in the above-mentioned computer-readable media can be appropriately added or deleted in accordance with the requirements of the legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to the legislation and patent practice, the computer-readable media cannot Including electric carrier signal and telecommunication signal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种增量数据确定方法、确定装置、服务器及可读存储介质,该方法包括:获取终端设备中待更新的原始文件,并获取与该原始文件对应的更新后目标文件(S101);对上述更新后目标文件进行分块,得到N个目标分块,其中,N为大于1的整数(S102);根据负载均衡算法,将上述N个目标分块分别分配至不同的计算模块,以指示每个计算模块执行:计算获取的目标分块与原始分块的增量数据,其中,该原始分块为上述原始文件或者上述原始文件的部分文件(S103);获取各个计算模块分别返回的增量数据,并将各个增量数据返回至上述终端设备,以指示该终端设备根据各个增量数据对上述原始文件进行更新(S104)。该方法能够在一定程度上提高终端设备的文件更新效率。

Description

增量数据确定方法、确定装置、服务器及终端设备 技术领域
本申请属于文件更新技术领域,尤其涉及一种增量数据确定方法、确定装置、终端设备及计算机可读存储介质。
背景技术
目前,在对终端设备中的文件进行更新时,为了减少终端设备的数据处理量,往往采用增量更新的方法,即终端设备只更新需要改变的地方,不需要更新或者已经更新过的地方则不会重复更新。
传统的增量更新算法为:采用服务器/客户端(Client/Server,C/S)架构,在服务器端比较更新后目标文件与待更新的原始文件的差异,从而得到增量数据,然后将增量数据返回终端设备,以实现对终端设备中文件的更新。
然而,采用上述传统的增量更新算法时,如果更新后目标文件以及原始文件较大时,则服务器需要耗费大量的时间来进行比较,因此,需要耗费大量的时间来计算增量数据,所以,上述传统的增量更新算法并不能高效地实现对文件的更新。
技术问题
本申请实施例的目的之一在于:提供一种增量数据确定方法、确定装置、终端设备及计算机可读存储介质,旨在一定程度上解决传统的增量更新算法不能高效地实现对文件更新的技术问题。
技术解决方案
为解决上述技术问题,本申请实施例采用的技术方案是:
第一方面,提供了一种增量数据确定方法,应用于服务器,该方法包括:
获取终端设备中待更新的原始文件,并获取与该原始文件对应的更新后目标文件;
对上述更新后目标文件进行分块,得到N个目标分块,其中,N为大于1的整数;
根据负载均衡算法,将上述N个目标分块分别分配至不同的计算模块,以指示每个计算模块执行:计算获取的目标分块与原始分块的增量数据,其中,该原始分块为上述原始文件或者上述原始文件的部分文件;
获取各个计算模块分别返回的各个增量数据,并将各个增量数据返回至上述终端设备,以指示上述终端设备根据各个增量数据对上述原始文件进行更新。
第二方面,提供了一种增量数据确定装置,应用于服务器,该装置包括:
文件获取模块,用于获取终端设备中待更新的原始文件,并获取与该原始文件对应的更新后目标文件;
分块模块,用于对上述更新后目标文件进行分块,得到N个目标分块,其中,N为大于 1的整数;
分配模块,用于根据负载均衡算法,将上述N个目标分块分别分配至不同的计算模块,以指示每个计算模块执行:计算获取的目标分块与原始分块的增量数据,其中,该原始分块为上述原始文件或者上述原始文件的部分文件;
增量返回模块,用于获取各个计算模块分别返回的各个增量数据,并将各个增量数据返回至上述终端设备,以指示上述终端设备根据各个增量数据对上述原始文件进行更新。
第三方面,提供了一种服务器,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面方法的步骤。
第四方面,提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面方法的步骤。
第五方面,提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面方法的步骤。
技术效果
由上可见,本申请提供了一种应用于服务器侧的增量数据确定方法,首先,获取待更新的原始文件(比如,该原始文件可以是终端设备中保存的旧版本的应用程序安装包),并获取与该原始文件对应的更新后目标文件(比如,该更新后目标文件可以是服务器侧保存的新版本的应用程序安装包);其次,对上述更新后目标文件进行分块,得到多个目标分块;然后,根据负载均衡算法,将上述多个目标分块分别分配至不同的计算模块,以指示每个计算模块执行:计算获取的目标分块与原始分块的增量数据,其中,该原始分块为上述原始文件或者上述原始文件的部分文件(也即是:将上述各个目标分块均衡地分配给不同的计算模块,比如,假设有3个目标分块以及2个计算模块,可以将第一个和第三个目标分块分配给计算模块1,将第二个目标分块分配给计算模块2,使得计算模块1与计算模块2分别执行增量数据的计算操作);最后,获取各个计算模块分别返回的各个增量数据,并将各个增量数据返回至上述终端设备,以指示上述终端设备根据各个增量数据对上述原始文件进行更新。
由此可见,本申请所提供的技术方案中,可以保证多个计算模块分别同时来计算增量数据的,因此,相比于传统的增量更新算法,可以在一定程度上加快增量数据的获取速度,从而能够在一定程度上提高终端设备的文件更新效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或示范性技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其 它的附图。
图1是本申请实施例一提供的一种增量数据确定方法的流程示意图;
图2是本申请实施例一提供的对更新后目标文件进行分块的示意图;
图3是本申请实施例一示出的计算模块的示意图;
图4是本申请实施例二提供的另一种增量数据确定方法的流程示意图;
图5是本申请实施例二中目标分块、原始分块以及计算单元的示意图;
图6是本申请实施例三提供的再一种增量数据确定方法的流程示意图;
图7是本申请实施例四提供的一种增量数据确定装置的结构示意图;
图8是本申请实施例五提供的服务器的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了说明本申请上述的技术方案,下面通过具体实施例来进行说明。
下面对本申请实施例一提供的一种增量数据确定方法进行描述,该增量确定方法应用于服务器侧,请参阅附图1,该确定方法包括:
在步骤S101中,获取终端设备中待更新的原始文件,并获取与该原始文件对应的更新后目标文件;
在本申请实施例中,服务器可以在接收到终端设备发送的更新文件请求后,执行该步骤S101。比如,当终端设备需要将文件X更新为文件X1时,可以发送一文件更新请求至服务 器,服务器在接收到该文件更新请求时,获取文件X以及文件X1。
通常情况下,上述更新后目标文件往往是已经存储在服务器中了,因此,可直接从存储器中读取更新后目标文件即可。但是本申请并不对更新后目标文件的获取方式进行限定。
在本申请实施例中,获取终端设备中待更新的原始文件具体可以为:获取该终端设备中待更新的原始文件的版本标识,并基于该版本标识,获取该终端设备中待更新的所述原始文件。采用这种方法可以使服务器快速获取到待更新的原始文件(由于服务器中通常会保存有不同版本标识的文件,因此,在获取到标识之后,即可直接从存储器中得到待更新的原始文件,避免了传输数据量较大的原始文件)。但是,通过获取版本标识来确定待更新的原始文件的方法,可能会使得服务器获取的原始文件与终端设备中实际保存的原始文件不同(比如,用户可能会对待更新的文件进行修改),从而导致更新失败,因此,为避免该情况所导致的文件更新失败现象,可以采用如下方式确定待更新的原始文件:接受该终端设备发送的待更新的原始文件。这种方法可以保证服务器获取的原始文件和终端设备中待更新的原始文件完全一致,但是,这需要终端设备与服务器之间进行大量的数据传输,因此,可能会降低文件更新效率。
因此,为了避免文件更新失败并且不降低文件更新效率,服务器可以接收待更新的原始文件的版本标识,以及用户对该原始文件的修改次数;若用户没有修改,则直接从存储器中得到待更新的原始文件;若有修改,则与终端设备进行通信,以获取待更新的原始文件。
在步骤S102中,对上述更新后目标文件进行分块,得到N个目标分块,其中,N为大于1的整数;
在本申请实施例中,各个目标分块可以如图2(a)以及2(b)所示,两两之间没有交叉重复的数据;或者,也可以如图2(c)所示,存在至少两个目标分块是有交叉重复的数据的,本申请对目标分块的切分方式不做限定。本领域技术人员应该可以理解,当存在至少两个目标分块是有交叉重复的数据时,会增加后续步骤S103中的计算模块的计算量,并且终端设备在接收到增量数据之后,需要进行一个去重操作,但是这种分块方法可以在一定程度上提高终端设备与服务器之间的抗干扰性能(比如,当终端设备进行文件更新操作时,若根据增量数据得到的目标分块1与目标分块2之间没有一段重复数据,则说明增量数据在传输中出现了干扰,此时可以请求服务器重新发送增量数据)。
此外,该步骤S102所述的分块方法,可以如图2(a)所示,除最后一个目标分块之外,其余各个目标分块的数据量完全相同(最后一个目标分块的数据量大小依赖更新后目标文件的大小,可能与之前的各个目标分块大小相同,也可能小于之前的各个目标分块的大小);也可以如图2(b)所示,不对各个目标分块的大小进行限定,比如,可以随机对更新后目标文件进行切分,得到N个目标分块。此外,后续的实施例二以及实施例三均会给出具体的分 割方式,具体可详细查看实施例二以及实施例三的描述。
另外,本领域技术人员应该很明显就能看出,上述N个目标分块的并集应等于更新后目标文件,否则,根本无法实现对原始文件的更新。因此,N个目标分块的并集不等于更新后目标文件的技术方案,不在本申请的保护范围内。
在步骤S103中,根据负载均衡算法,将上述N个目标分块分别分配至不同的计算模块,以指示每个计算模块执行:计算获取的目标分块与原始分块的增量数据,其中,该原始分块为上述原始文件或者上述原始文件的部分文件;
该步骤S103所述的“计算模块”可以是与服务器分体设立的计算终端(如图3所示的终端设备302以及303),或者也可以是服务器中的线程或进程,本申请对此不做限定。
在该步骤中,服务器需要根据当前各个计算模块的计算负担,向多个计算模块来分配相应地目标分块,以保证各个计算模块的计算负担均衡,从而更快地得到增量数据。比如,若步骤S102分割出3个目标分块,总共是2个计算模块,在分配目标分块之前,两个计算模块均是空闲状态,此时,可以向其中一个计算模块分配一个目标分块,向另一个计算模块分配两个目标分块。
此外,本领域技术人员应该注意,对于某个计算模块来说,该计算模块在计算增量数据时所采用的原始分块,可以与其他计算模块所采用的原始分块相同,也可以不同,本申请对此不做限定。但是,本领域技术人员应该理解,通常来说,当各个计算模块所采用的原始分块均为原始文件本身时,各个计算模块得到的增量数据的数据量是最少的(因为目前增量数据的计算方式通常为:得到目标分块与原始文件相同的部分的标识以及增加的部分。所以,当原始文件较为全面时,相同部分的标识会占据较大的百分比,这部分仅仅记录标识即可,所以得到的增量数据的数据量较少),相应地,将各个增量数据返回至终端设备的时间也会较短,便于更快速的进行文件更新。
在步骤S104中,获取各个计算模块分别返回的增量数据,并将各个增量数据返回至上述终端设备,以指示该终端设备根据各个增量数据对上述原始文件进行更新;
在本申请实施例中,服务器可以将各个增量数据进行汇总,得到一个总的增量数据,再将该总的增量数据返回至上述终端设备;或者,也可以将根据各个计算模块的计算速度,将上述各个增量数据依次返回至上述终端设备,依次返回至终端设备的优点是:终端设备在单独时间点处理数据的量都不大,有利于减轻终端设备的运算负担。
由此可见,本申请实施例一所提供的技术方案中,可以保证多个计算模块分别同时来计算增量数据的,因此,相比于传统的增量更新算法,可以在一定程度上加快增量数据的获取速度,从而能够在一定程度上快速地对终端设备的文件进行更新。
下面对本申请实施例二提供的另一种增量数据确定方法进行描述,与实施例一相同的 是,该增量数据确定方法也应用于服务器侧,与实施例一不同的是,在本申请实施例二中,计算模块具体为与服务器分体设立的计算终端,请参阅附图4,该增量数据确定方法包括:
在步骤S201中,获取终端设备中待更新的原始文件,并获取与该原始文件对应的更新后目标文件;
该步骤S201的具体实施方式与实施一中步骤S101完全相同,具体可参见实施例一的描述,此处不再赘述。
在步骤S202中,基于上述更新后目标文件包含的各个文件的文件类型,将上述更新后目标文件分割为N个目标分块,其中,每个目标分块包含的各个文件的文件类型相同,N为大于1的整数;
在本申请实施例二中,给出了一种划分目标分块的方式,并且,相应地,后续步骤S203中,对于每个目标分块来说,会将文件类型相同的原始文件中的各个文件确定为与该目标分块对应的原始分块。在本申请实施例二中,对于每个目标分块来说,由于该目标分块与对应的原始文件的文件类型相同,因此,原则上,二者的差距会较小,因此,对于每个计算终端来说,能够较快地计算出增量数据。此外,在本申请实施例二中,每个目标分块所对应的原始分块可以均为步骤S201获取的待更新的原始文件,虽然均为原始文件时,依然能保证各个增量数据较小,但是,这样可能会使得终端设备与计算终端之间需要传输较大的数据,传输耗时较长。
下面利用附图5,对本申请实施例二包含的各个步骤进行描述。首先,参阅附图2,下面对该步骤S202进行描述:
如图5所示,将更新后目标文件划分为4个目标分块,其中,目标分块1为jpg类型的文件,目标分块2位dll类型的文件,目标分块3为dat类型的文件,目标分块4为txt类型的文件。另外,本领域技术人员应该理解,在该步骤S202中,允许两个目标分块的文件类型是相同的,比如,当更新后目标文件中某一类型的文件比例大于某一预设比例时(比如,80%),可以将该类型的文件划分为多个目标分块,也即是,可能存在目标分块1与目标分块2的文件类型相同的情况。
在步骤S203中,对于每个目标分块,基于该目标分块包含的文件的文件类型,提取所述原始文件中该文件类型对应的各个文件,将该各个文件确定为与该目标分块对应的原始分块;
通常情况下,更新后目标文件所包含的文件类型均会出现在待更新的原始文件中,因此,可以基于该步骤S203对原始文件进行分块。具体可参加附图5。
如图5所示,将原始文件中文件类型为jpg的各个文件确定为与目标分块1对应的原始分块1,将原始文件中文件类型为dll的各个文件确定为与目标分块2对应的原始分块2,原 始文件中文件类型为dat的各个文件确定为与目标分块3对应的原始分块3,原始文件中文件类型为txt的各个文件确定为与目标分块4对应的原始分块4。
此外,在某些情况下,可能存在更新后目标文件中含有原始文件未含有的文件类型,比如,更新后目标文件包含3个目标分块,类型分别为类型X、类型Y和类型Z,然而,原始文件中只包含类型为X和类型为Y的文件,此时,可以将类型为X的原始文件中的各个文件确定为与类型为X的目标分块对应的原始分块,将类型为Y的原始文件中的各个文件确定为与类型为Y的目标分块对应的原始分块,将原始文件本身确定为与类型为Z的目标分块对应的原始分块。
也即是,该步骤S203可以具体为:对于每个目标分块,若上述原始文件中包含有与该目标分块的文件类型相同的各个文件,则可以将该各个文件确定为与该目标分块对应的原始分块。
相应地,在步骤S204之前,该增量数据确定方法还应包括如下步骤:
对于每个目标分块,若上述原始文件中未包含有与该目标分块的文件类型相同的各个文件,则可以将该原始文件本身确定为与该目标分块对应的原始分块。
在步骤S204中,对于每个目标分块,将该目标分块以及与该目标分块对应的原始分块确定为与该目标分块对应的计算单元;
如图5所示,根据步骤S202以及步骤S203的结果,得到4个计算单元。
在步骤S205中,根据负载均衡算法,将上述N个计算单元分别分配至不同的计算终端,以指示每个计算终端执行:计算获取的计算单元中的目标分块与获取的计算单元中原始分块的增量数据;
在本申请实施例二中,在进行目标分块分配之前,可以先获取各个计算终端的数据运行负担,若两两计算终端的数据运行负担差异小于预设差异时,可以采用如下方式1或者方式2来分配各个目标分块(其中,上述数据运行负担为表示计算终端数据或程序运行状况的参数,该数据运行负担可以由CPU占用情况、内存占用情况和/或***皮平均负载等参数确定):
方式1:根据每个计算单元的标识序号,将各个计算单元分别分配至不同的计算终端,其中,所述标识序号取值为1、2……N。比如,如图5所示,假设有两个计算终端,则可以将计算单元1和计算单元2分配给计算终端1,将计算单元3和计算单元4分配给计算终端2。
本领域技术人员应该理解,采用该方式1时,需要保证各个计算终端所获取的计算单元的数目尽可能一致。
方式2:确定每个计算单元的校验值,基于各个计算单元的校验值,将各个计算单元分别分配至不同的计算终端。比如,如图5所示,假设有两个计算终端,可以计算每个计算单 元的信息-摘要算法5(Message-Digest Algorithm 5,MD5)校验值,根据校验值的最后1位来确定该计算单元是分配到那一个计算终端,比如,若最后一位为0,则分配至计算终端1,若最后一位为1,则分配至计算终端2。
通常情况下,我们会专门配备若干个计算终端来计算增量数据,这种情况下,两两计算终端之间往往忙时和闲时是一样的,也即是二者的数据运行负担差异往往较小,因此,可直接采用上述方式1或方式2来进行目标分块的分配。但是本领域技术人员应该知晓,上述方式1以及方式2均是一种示例,在本领域技术人员不付出创造性劳动的前提下,能够想到的其他分配方式也在本申请的保护范围之内。
在步骤S206中,获取各个计算终端分别返回的增量数据,并将各个增量数据返回至上述终端设备,以指示该终端设备根据各个增量数据对上述原始文件进行更新;
该步骤S206与实施例一中的步骤S104的具体实施方式相同,具体参见实施例一的描述,此处不再赘述。
本申请实施例二相比于实施例一,明确了计算模块为与服务器分立的计算终端,因此,降低了对服务器的硬件以及软件的需求以及维护成本。此外,本申请实施例二还明确了目标分块以及原始分块的确定方式,这种方式能够保证计算终端的计算负担较小,所计算得到的增量数据也较小,能够进一步加快文件更新速度。
下面对本申请实施例三提供的再一种增量数据确定方法进行描述,该增量确定方法应用于服务器侧,请参阅附图6,该确定方法包括:
在步骤S301中,获取终端设备中待更新的原始文件,并获取与该原始文件对应的更新后目标文件;
该步骤S301的具体执行方式与实施例一中的步骤S101完全相同,具体可参加实施例一的描述,此处不再赘述。
在步骤S302中,基于上述更新后目标文件中数据的存储顺序,将上述更新后目标文件分割为N个目标分块,其中,每个目标分块包含了存储顺序连续的各个文件,N为大于1的整数;
该步骤S302所述的目标分块分割方法是一种较为简单的分割方式,便于程序员研发。
在步骤S303中,对于每个目标分块,将该目标分块以及上述原始文件确定为与该目标分块对应的计算单元;
在本申请实施例三与上述实施例二不同,上述实施例二是按照文件类型进行划分的,因此,每个原始分块可以是对应文件类型的各个文件。然而,在本申请实施例三中,由于是简单的按照存储顺序划分,因此,为保证增量数据的数据量较少,需将原始文件本身确定为每个目标分块对应的原始分块(具体原因在实施例一中的步骤S103有描述,可详见实施例一 的描述,此处不再赘述)。
在步骤S304中,根据负载均衡算法,将上述N个计算单元分别分配至不同的计算终端,以指示每个计算终端执行:计算获取的计算单元中的目标分块与获取的计算单元中原始分块的增量数据;
在步骤S305中,获取各个计算终端分别返回的增量数据,并将各个增量数据返回至上述终端设备,以指示该终端设备根据各个增量数据对上述原始文件进行更新。
该步骤S304-S305的具体执行方式与实施例二中的步骤S205-S206完全相同,具体可参加实施例二的描述,此处不再赘述。
本申请实施例三提供的增量数据确定方法,相比于实施例二要简单很多,因此,更加便于程序员研发。
本申请实施例四提供了一种增量数据确定装置,应用于服务器。为了便于说明,仅示出与本申请相关的部分,如图7所示,该增量数据确定装置400包括:
文件获取模块401,用于获取终端设备中待更新的原始文件,并获取与该原始文件对应的更新后目标文件;
分块模块402,用于对上述更新后目标文件进行分块,得到N个目标分块,其中,N为大于1的整数;
分配模块403,用于根据负载均衡算法,将上述N个目标分块分别分配至不同的计算模块,以指示每个计算模块执行:计算获取的目标分块与原始分块的增量数据,其中,该原始分块为上述原始文件或者上述原始文件的部分文件;
增量返回模块404,用于获取各个计算模块分别返回的各个增量数据,并将各个增量数据返回至上述终端设备,以指示上述终端设备根据各个增量数据对上述原始文件进行更新。
可选地,上述计算模块是与上述服务器通信连接的计算终端;
相应地,上述分配模块403包括:
计算单元确定单元,用于对于每个目标分块,确定与该目标分块对应的计算单元,其中,该计算单元包括该目标分块以及原始分块,其中,所述原始分块为所述原始文件本身或者为所述原始文件的部分文件;
计算单元分配单元,用于根据负载均衡算法,将所述N个计算单元分别分配至不同的计算终端,以指示每个计算终端执行:计算获取的计算单元中的目标分块与获取的计算单元中的原始分块的增量数据。
可选地,上述分块模块402具体用于:
基于所述更新后目标文件中数据的存储顺序,将所述更新后目标文件分割为N个目标分块,其中,每个目标分块包含了存储顺序连续的各个文件;
相应地,上述计算单元确定单元具体用于:
对于每个目标分块,将所述原始文件本身确定为与该目标分块对应的原始分块,并将该目标分块以及所述原始文件确定为与该目标分块对应的计算单元。
可选地,上述分块模块402具体用于:
基于所述更新后目标文件包含的各个文件的文件类型,将所述更新后目标文件分割为N个目标分块,其中,每个目标分块包含的各个文件的文件类型相同;
相应地,上述计算单元确定单元包括:
原始文件确定子单元,用于对于每个目标分块,基于该目标分块包含的文件的文件类型,提取所述原始文件中该文件类型对应的各个文件,将该各个文件确定为与该目标分块对应的原始分块;
计算单元确定子单元,用于对于每个目标分块,将该目标分块以及与该目标分块对应的原始分块确定为与该目标分块对应的计算单元。
可选地,若两两计算终端的数据运行负担的差异小于预设差异时,上述计算单元分配单元具体用于:
根据每个计算单元的标识序号,将各个计算单元分别分配至不同的计算终端,其中,所述标识序号取值为:1、2……N;
其中,所述数据运行负担为表示所述计算终端的数据或程序运行状况的参数。
可选地,若两两计算终端的数据运行负担的差异小于预设差异时,上述计算单元分配单元具体用于:
确定每个计算单元的校验值,基于各个计算单元的校验值,将各个计算单元分别分配至不同的计算终端;
其中,所述数据运行负担为表示所述计算终端的数据或程序运行状况的参数。
可选地,上述分块模块402具体用于:
对所述更新后目标文件进行分块,得到N个目标分块,其中,至少两个目标分块存在交叉重复的数据。
可选地,上述服务器中保存有各个版本标识的文件;
相应地,上述文件获取模块401具体通过以下方式获取终端设备中待更新的原始文件:
获取所述终端设备中待更新的原始文件的版本标识以及所述终端设备发送的用户对该原始文件的修改次数;
若所述修改次数为零,则基于所述版本标识,从本地保存的各个文件中获取所述版本标识所指示的所述待更新的原始文件;
若所述修改次数不为零,则请求所述终端设备发送所述待更新的原始文件。
可选地,上述增量返回模块404具体用于:
根据所述各个计算模块的计算速度,将所述各个增量数据依次返回至所述终端设备。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例一以及方法实施例二基于同一构思,其具体功能及带来的技术效果,具体可参见相应方法实施例部分,此处不再赘述。
图8是本申请实施例五提供的服务器的示意图。如图8所示,该实施例的服务器500包括:处理器501、存储器502以及存储在上述存储器502中并可在上述处理器501上运行的计算机程序503。上述处理器501执行上述计算机程序503时实现上述各个方法实施例中的步骤。或者,上述处理器501执行上述计算机程序503时实现上述各装置实施例中各模块/单元的功能。
示例性的,上述计算机程序503可以被分割成一个或多个模块/单元,上述一个或者多个模块/单元被存储在上述存储器502中,并由上述处理器501执行,以完成本申请。上述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述上述计算机程序503在上述服务器500中的执行过程。例如,上述计算机程序503可以被分割成文件获取模块、分块模块、分配模块以及增量返回模块,各模块具体功能如下:
获取终端设备中待更新的原始文件,并获取与该原始文件对应的更新后目标文件;
对上述更新后目标文件进行分块,得到N个目标分块,其中,N为大于1的整数;
根据负载均衡算法,将上述N个目标分块分别分配至不同的计算模块,以指示每个计算模块执行:计算获取的目标分块与原始分块的增量数据,其中,该原始分块为上述原始文件或者上述原始文件的部分文件;
获取各个计算模块分别返回的各个增量数据,并将各个增量数据返回至上述终端设备,以指示上述终端设备根据各个增量数据对上述原始文件进行更新。
上述服务器可包括,但不仅限于,处理器501、存储器502。本领域技术人员可以理解,图8仅仅是服务器500的示例,并不构成对服务器500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如上述服务器还可以包括输入输出设备、网络接入设备、总线等。
所称处理器501可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述存储器502可以是上述服务器500的内部存储单元,例如服务器500的硬盘或内存。 上述存储器502也可以是上述服务器500的外部存储设备,例如上述服务器500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述存储器502还可以既包括上述服务器500的内部存储单元也包括外部存储设备。上述存储器502用于存储上述计算机程序以及上述服务器所需的其它程序和数据。上述存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述各个方法实施例中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以 包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (20)

  1. 一种增量数据确定方法,应用于服务器,其特征在于,所述方法包括:
    获取终端设备中待更新的原始文件,并获取与所述原始文件对应的更新后目标文件;
    对所述更新后目标文件进行分块,得到N个目标分块,其中,N为大于1的整数;
    根据负载均衡算法,将所述N个目标分块分别分配至不同的计算模块,以指示每个计算模块执行:计算获取的目标分块与原始分块的增量数据,其中,所述原始分块为所述原始文件或者所述原始文件的部分文件;
    获取各个计算模块分别返回的各个增量数据,并将各个增量数据返回至所述终端设备,以指示所述终端设备根据各个增量数据对所述原始文件进行更新。
  2. 如权利要求1所述的增量数据确定方法,其特征在于,所述计算模块是与所述服务器通信连接的计算终端;
    相应地,根据负载均衡算法,将所述N个目标分块分别分配至不同的计算模块,以指示每个计算模块执行:计算获取的目标分块与原始分块的增量数据,包括:
    对于每个目标分块,确定与该目标分块对应的计算单元,其中,该计算单元包括该目标分块以及原始分块,其中,所述原始分块为所述原始文件本身或者为所述原始文件的部分文件;
    根据负载均衡算法,将所述N个计算单元分别分配至不同的计算终端,以指示每个计算终端执行:计算获取的计算单元中的目标分块与获取的计算单元中的原始分块的增量数据。
  3. 如权利要求2所述的增量数据确定方法,其特征在于,所述对所述更新后目标文件进行分块,得到N个目标分块,包括:
    基于所述更新后目标文件中数据的存储顺序,将所述更新后目标文件分割为N个目标分块,其中,每个目标分块包含了存储顺序连续的各个文件;
    相应地,所述对于每个目标分块,确定与该目标分块对应的计算单元,包括:
    对于每个目标分块,将所述原始文件本身确定为与该目标分块对应的原始分块,并将该目标分块以及所述原始文件确定为与该目标分块对应的计算单元。
  4. 如利要求2所述的增量数据确定方法,其特征在于,所述对所述更新后目标文件进行分块,得到N个目标分块,包括:
    基于所述更新后目标文件包含的各个文件的文件类型,将所述更新后目标文件分割为N个目标分块,其中,每个目标分块包含的各个文件的文件类型相同;
    相应地,所述对于每个目标分块,确定与该目标分块对应的计算单元,包括:
    对于每个目标分块,基于该目标分块包含的文件的文件类型,提取所述原始文件中该文 件类型对应的各个文件,将该各个文件确定为与该目标分块对应的原始分块;
    对于每个目标分块,将该目标分块以及与该目标分块对应的原始分块确定为与该目标分块对应的计算单元。
  5. 如权利要求2至4中任一项所述的增量数据确定方法,其特征在于,若两两计算终端的数据运行负担的差异小于预设差异时,所述根据负载均衡算法,将所述N个计算单元分别分配至不同的计算终端,包括:
    根据每个计算单元的标识序号,将各个计算单元分别分配至不同的计算终端,其中,所述标识序号取值为:1、2……N;
    其中,所述数据运行负担为表示所述计算终端的数据或程序运行状况的参数。
  6. 如权利要求2至4中任一项所述的增量数据确定方法,其特征在于,若两两计算终端的数据运行负担的差异小于预设差异时,所述根据负载均衡算法,将所述N个计算单元分别分配至不同的计算终端,包括:
    确定每个计算单元的校验值,基于各个计算单元的校验值,将各个计算单元分别分配至不同的计算终端;
    其中,所述数据运行负担为表示所述计算终端的数据或程序运行状况的参数。
  7. 如利要求1至3中任一项所述的增量数据确定方法,其特征在于,对所述更新后目标文件进行分块,得到N个目标分块,包括:
    对所述更新后目标文件进行分块,得到N个目标分块,其中,至少两个目标分块存在交叉重复的数据。
  8. 如权利要求1至4中任一项所述的增量数据确定方法,其特征在于,所述服务器中保存有各个版本标识的文件;
    相应地,所述获取终端设备中待更新的原始文件,包括:
    获取所述终端设备中待更新的原始文件的版本标识以及所述终端设备发送的用户对该原始文件的修改次数;
    若所述修改次数为零,则基于所述版本标识,从本地保存的各个文件中获取所述版本标识所指示的所述待更新的原始文件;
    若所述修改次数不为零,则请求所述终端设备发送所述待更新的原始文件。
  9. 如权利要求1至4中任一项所述的增量数据确定方法,其特征在于,所述获取各个计算模块分别返回的各个增量数据,并将各个增量数据返回至所述终端设备,包括:
    根据所述各个计算模块的计算速度,将所述各个增量数据依次返回至所述终端设备。
  10. 一种增量数据确定装置,应用于服务器,其特征在于,所述装置包括:
    文件获取模块,用于获取终端设备中待更新的原始文件,并获取与所述原始文件对应的 更新后目标文件;
    分块模块,用于对所述更新后目标文件进行分块,得到N个目标分块,其中,N为大于1的整数;
    分配模块,用于根据负载均衡算法,将所述N个目标分块分别分配至不同的计算模块,以指示每个计算模块执行:计算获取的目标分块与原始分块的增量数据,其中,所述原始分块为所述原始文件或者所述原始文件的部分文件;
    增量返回模块,用于获取各个计算模块分别返回的各个增量数据,并将各个增量数据返回至所述终端设备,以指示所述终端设备根据各个增量数据对所述原始文件进行更新。
  11. 一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:
    获取终端设备中待更新的原始文件,并获取与所述原始文件对应的更新后目标文件;
    对所述更新后目标文件进行分块,得到N个目标分块,其中,N为大于1的整数;
    根据负载均衡算法,将所述N个目标分块分别分配至不同的计算模块,以指示每个计算模块执行:计算获取的目标分块与原始分块的增量数据,其中,所述原始分块为所述原始文件或者所述原始文件的部分文件;
    获取各个计算模块分别返回的各个增量数据,并将各个增量数据返回至所述终端设备,以指示所述终端设备根据各个增量数据对所述原始文件进行更新。
  12. 如权利要求11所述的服务器,其特征在于,所述计算模块是与所述服务器通信连接的计算终端;
    相应地,根据负载均衡算法,将所述N个目标分块分别分配至不同的计算模块,以指示每个计算模块执行:计算获取的目标分块与原始分块的增量数据,包括:
    对于每个目标分块,确定与该目标分块对应的计算单元,其中,该计算单元包括该目标分块以及原始分块,其中,所述原始分块为所述原始文件本身或者为所述原始文件的部分文件;
    根据负载均衡算法,将所述N个计算单元分别分配至不同的计算终端,以指示每个计算终端执行:计算获取的计算单元中的目标分块与获取的计算单元中的原始分块的增量数据。
  13. 如权利要求12所述的服务器,其特征在于,所述对所述更新后目标文件进行分块,得到N个目标分块,包括:
    基于所述更新后目标文件中数据的存储顺序,将所述更新后目标文件分割为N个目标分块,其中,每个目标分块包含了存储顺序连续的各个文件;
    相应地,所述对于每个目标分块,确定与该目标分块对应的计算单元,包括:
    对于每个目标分块,将所述原始文件本身确定为与该目标分块对应的原始分块,并将该 目标分块以及所述原始文件确定为与该目标分块对应的计算单元。
  14. 如权利要求12所述的服务器,其特征在于,所述对所述更新后目标文件进行分块,得到N个目标分块,包括:
    基于所述更新后目标文件包含的各个文件的文件类型,将所述更新后目标文件分割为N个目标分块,其中,每个目标分块包含的各个文件的文件类型相同;
    相应地,所述对于每个目标分块,确定与该目标分块对应的计算单元,包括:
    对于每个目标分块,基于该目标分块包含的文件的文件类型,提取所述原始文件中该文件类型对应的各个文件,将该各个文件确定为与该目标分块对应的原始分块;
    对于每个目标分块,将该目标分块以及与该目标分块对应的原始分块确定为与该目标分块对应的计算单元。
  15. 如权利要求12至14中任一项所述的服务器,其特征在于,若两两计算终端的数据运行负担的差异小于预设差异时,所述根据负载均衡算法,将所述N个计算单元分别分配至不同的计算终端,包括:
    根据每个计算单元的标识序号,将各个计算单元分别分配至不同的计算终端,其中,所述标识序号取值为:1、2……N;
    其中,所述数据运行负担为表示所述计算终端的数据或程序运行状况的参数。
  16. 如权利要求12至14中任一项所述的服务器,其特征在于,若两两计算终端的数据运行负担的差异小于预设差异时,所述根据负载均衡算法,将所述N个计算单元分别分配至不同的计算终端,包括:
    确定每个计算单元的校验值,基于各个计算单元的校验值,将各个计算单元分别分配至不同的计算终端;
    其中,所述数据运行负担为表示所述计算终端的数据或程序运行状况的参数。
  17. 如权利要求11至13中任一项所述的服务器,其特征在于,对所述更新后目标文件进行分块,得到N个目标分块,包括:
    对所述更新后目标文件进行分块,得到N个目标分块,其中,至少两个目标分块存在交叉重复的数据。
  18. 如权利要求11至14中任一项所述的服务器,其特征在于,所述服务器中保存有各个版本标识的文件;
    相应地,所述获取终端设备中待更新的原始文件,包括:
    获取所述终端设备中待更新的原始文件的版本标识以及所述终端设备发送的用户对该原始文件的修改次数;
    若所述修改次数为零,则基于所述版本标识,从本地保存的各个文件中获取所述版本标 识所指示的所述待更新的原始文件;
    若所述修改次数不为零,则请求所述终端设备发送所述待更新的原始文件。
  19. 如权利要求11至14中任一项所述的服务器,其特征在于,所述获取各个计算模块分别返回的各个增量数据,并将各个增量数据返回至所述终端设备,包括:
    根据所述各个计算模块的计算速度,将所述各个增量数据依次返回至所述终端设备。
  20. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述方法的步骤。
PCT/CN2019/124035 2019-12-09 2019-12-09 增量数据确定方法、确定装置、服务器及终端设备 WO2021114025A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980099820.1A CN114503076A (zh) 2019-12-09 2019-12-09 增量数据确定方法、确定装置、服务器及终端设备
PCT/CN2019/124035 WO2021114025A1 (zh) 2019-12-09 2019-12-09 增量数据确定方法、确定装置、服务器及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/124035 WO2021114025A1 (zh) 2019-12-09 2019-12-09 增量数据确定方法、确定装置、服务器及终端设备

Publications (1)

Publication Number Publication Date
WO2021114025A1 true WO2021114025A1 (zh) 2021-06-17

Family

ID=76329285

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/124035 WO2021114025A1 (zh) 2019-12-09 2019-12-09 增量数据确定方法、确定装置、服务器及终端设备

Country Status (2)

Country Link
CN (1) CN114503076A (zh)
WO (1) WO2021114025A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641388A (zh) * 2021-08-24 2021-11-12 北京百度网讯科技有限公司 云手机更新方法、相关装置及计算机程序产品
CN114116031A (zh) * 2021-11-22 2022-03-01 曙光信息产业股份有限公司 选项参数同步方法、装置、计算机设备和存储介质
CN114928580A (zh) * 2022-04-12 2022-08-19 深圳市优必选科技股份有限公司 数据增量发送方法、接收方法、终端设备及存储介质
CN116894014A (zh) * 2023-09-08 2023-10-17 荣耀终端有限公司 缓存更新方法、服务器、终端设备及芯片***

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117170690B (zh) * 2023-11-02 2024-03-22 湖南三湘银行股份有限公司 一种分布式构件管理***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123279A (zh) * 2010-12-28 2011-07-13 乐视网信息技术(北京)股份有限公司 一种分布式实时转码方法与***
US20150112941A1 (en) * 2013-10-18 2015-04-23 Power-All Networks Limited Backup management system and method thereof
CN105162855A (zh) * 2015-08-18 2015-12-16 浪潮(北京)电子信息产业有限公司 增量数据同步方法和装置
CN107506260A (zh) * 2017-07-27 2017-12-22 南京南瑞集团公司 一种动态分块数据库增量备份方法
CN107835206A (zh) * 2017-09-19 2018-03-23 平安普惠企业管理有限公司 数据更新方法、服务器以及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123279A (zh) * 2010-12-28 2011-07-13 乐视网信息技术(北京)股份有限公司 一种分布式实时转码方法与***
US20150112941A1 (en) * 2013-10-18 2015-04-23 Power-All Networks Limited Backup management system and method thereof
CN105162855A (zh) * 2015-08-18 2015-12-16 浪潮(北京)电子信息产业有限公司 增量数据同步方法和装置
CN107506260A (zh) * 2017-07-27 2017-12-22 南京南瑞集团公司 一种动态分块数据库增量备份方法
CN107835206A (zh) * 2017-09-19 2018-03-23 平安普惠企业管理有限公司 数据更新方法、服务器以及计算机可读存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641388A (zh) * 2021-08-24 2021-11-12 北京百度网讯科技有限公司 云手机更新方法、相关装置及计算机程序产品
CN114116031A (zh) * 2021-11-22 2022-03-01 曙光信息产业股份有限公司 选项参数同步方法、装置、计算机设备和存储介质
CN114928580A (zh) * 2022-04-12 2022-08-19 深圳市优必选科技股份有限公司 数据增量发送方法、接收方法、终端设备及存储介质
CN114928580B (zh) * 2022-04-12 2023-06-02 深圳市优必选科技股份有限公司 数据增量发送方法、接收方法、终端设备及存储介质
CN116894014A (zh) * 2023-09-08 2023-10-17 荣耀终端有限公司 缓存更新方法、服务器、终端设备及芯片***
CN116894014B (zh) * 2023-09-08 2024-02-27 荣耀终端有限公司 缓存更新方法、服务器、终端设备及芯片***

Also Published As

Publication number Publication date
CN114503076A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
WO2021114025A1 (zh) 增量数据确定方法、确定装置、服务器及终端设备
WO2020156259A1 (zh) 内存管理方法、装置、移动终端及存储介质
CN109918018B (zh) 一种数据存储方法及存储设备
CN103970520A (zh) MapReduce架构中的资源管理方法、装置和架构***
CN109508326B (zh) 用于处理数据的方法、装置和***
WO2020052379A1 (zh) 分布式存储***中处理对象的元数据的方法及装置
CN110119304B (zh) 一种中断处理方法、装置及服务器
CN108459913B (zh) 数据并行处理方法、装置及服务器
US20170126779A1 (en) Determining variable chunk size for transfer of a file
CN111694638A (zh) 规则包加载方法、规则包执行方法及终端设备
CN111343267B (zh) 一种配置的管理方法及***
CN115129621A (zh) 一种内存管理方法、设备、介质及内存管理模块
CN111796937A (zh) 基于内存的资源分配方法、计算机设备及存储介质
CN111291002A (zh) 文件对账方法、装置、计算机设备及存储介质
CN108563698B (zh) 一种HBase表的Region合并方法和装置
CN110162395B (zh) 一种内存分配的方法及装置
WO2024098888A1 (zh) 模型存储优化方法及电子设备
CN112631994A (zh) 数据迁移方法及***
CN109614242B (zh) 一种计算能力共享方法、装置、设备及介质
CN115151902A (zh) 集群扩容方法、装置、存储介质及电子设备
CN109067649B (zh) 节点处理方法及装置、存储介质和电子设备
CN109981697B (zh) 一种文件转存方法、***、服务器及存储介质
CN111159009A (zh) 一种日志服务***的压力测试方法及装置
CN112948106B (zh) 任务分配方法及装置
CN111679909B (zh) 数据处理方法、装置及终端设备

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: 19955556

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 17/11/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 19955556

Country of ref document: EP

Kind code of ref document: A1