Recruitment data downloading and conversion processing method and device, equipment and storage medium

By splitting and parallelizing recruitment data downloads with session-saving and preprocessing, the method addresses download failures and page freezes, enhancing efficiency and user experience.

CN119135671APending Publication Date: 2024-12-13QIAN JIN NETWORK INFORMATION TECH SHANGHAI LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411255603.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-09
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

Existing methods for downloading recruitment data face issues such as long response times, download failures due to large data volumes or poor network conditions, and high CPU resource usage leading to page freezes and poor user experience.

Method used

The method involves splitting the download task into multiple requests, sending them in parallel, saving data across sessions, and using preprocessing threads to splice and convert the data into binary format, allowing for resumed downloads and reducing main thread workload.

Benefits of technology

This approach shortens download time, improves success rates, and enhances user experience by preventing page freezes and ensuring seamless interaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119135671A_ABST
    Figure CN119135671A_ABST
Patent Text Reader

Abstract

The invention discloses a recruitment data downloading and conversion processing method and device, equipment and a storage medium. The method is applied to a terminal and comprises the steps that in response to downloading operation of a user, a task of downloading multiple pieces of recruitment data is split, multiple downloading requests are generated, and each downloading request corresponds to K pieces of recruitment data; sending a plurality of downloading requests to a server according to a preset parallel sending rule, and performing cross-session storage on the received recruitment data; after the user operation returns to the page again, automatically resending the downloading request which fails to complete downloading; after it is determined that downloading of the multiple downloading requests is completed, the multiple pieces of recruitment data are sent to a preprocessing thread, and the preprocessing thread splices the multiple pieces of recruitment data and converts the spliced data into binary data; and converting the binary data into a target file in an excel format through the main thread. According to the method, page lagging and page interaction blockage can be relieved, and the downloading success rate and the user experience are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a method, device, equipment and storage medium for downloading and converting recruitment data. Background Art

[0002] In order to meet user needs, many recruitment websites and recruitment clients currently provide users with a file download function. Users can use a browser to access the recruitment website page and download the required recruitment data on the recruitment website page or the recruitment client page.

[0003] The inventors of this application have found through research that many users need to be able to download recruitment data stably, support pausing and resuming downloading, and not block page interaction during downloading.

[0004] However, the inventors of the present application have found that the current method of downloading recruitment data, when the amount of data requested for download is large, or when the network condition is poor, the response time of the download request will be longer, or even the request will time out, resulting in a download failure. In addition, the user can only wait for the download to complete once. If the browser or client is closed before the file download is complete, the download will fail. The progress of the previous download cannot be obtained when the page is entered next time. In addition, when the terminal processes the returned recruitment data, if the amount of data processed is large or the processing logic is more complex, it will take up more CPU resources, causing the page to freeze, and the user's related operations on the page cannot be processed in time, affecting the interactivity and response time of the page, and thus resulting in a poor user experience. Summary of the invention

[0005] In view of this, an embodiment of the present application provides a method, device, electronic device, computer-readable storage medium and computer program product for downloading and converting recruitment data, which are used to solve at least one of the above technical problems.

[0006] The embodiment of the present application provides a method for downloading and converting recruitment data, which is applied to a terminal. The type of recruitment data includes recruitment email type or recruitment SMS type. The method for downloading and converting recruitment data includes: responding to a user's operation of downloading multiple recruitment data on a terminal page, judging whether the total download amount exceeds a preset threshold value. If the preset threshold value is exceeded, the task of downloading multiple recruitment data is split according to a preset rule to generate multiple download requests, each download request corresponds to K recruitment data, 1≤K<N, N represents the number of multiple recruitment data to be downloaded, and K and N are both integers; sending the multiple download requests to a server according to a preset parallel sending rule, and saving the recruitment data across sessions after receiving the recruitment data sent by the server. The preset parallel sending rule is to first send a target number of download requests to the server in parallel, and then When receiving recruitment data corresponding to x download requests sent by the server, continue to send x download requests to the server until all download requests are sent, the target number is less than the number of multiple recruitment data that need to be downloaded, and x is a positive integer; after the user leaves the current page and returns to this page again, determine whether there are download requests that have not been completed based on the recruitment data saved across sessions, and automatically resend the download requests that have not been completed; after determining that multiple download requests have been completed, send the downloaded multiple recruitment data to a pre-set preprocessing thread, the preprocessing thread splices the multiple recruitment data, and converts the spliced ​​data into binary data; send the binary data to the main thread, the main thread converts the binary data into a target file in Excel format, and completes the recruitment data download task.

[0007] According to some embodiments of the present application, optionally, the method for downloading and converting recruitment data also includes: when a pause download instruction input by the user is received and the recruitment data corresponding to at least one download request is not returned, sending a terminate download instruction to the server to cause the server to terminate sending the recruitment data; if a continue download instruction input by the user is received, comparing the recruitment data saved across sessions with the multiple recruitment data that need to be downloaded, determining the undownloaded recruitment data among the multiple recruitment data, and regenerating the download request based on the number of undownloaded recruitment data and sending it to the server.

[0008] According to some embodiments of the present application, optionally, each piece of recruitment data is provided with a number; the preprocessing thread is specifically used to insert each piece of recruitment data into the array in sequence according to the number of each piece of recruitment data.

[0009] According to some embodiments of the present application, optionally, the preprocessing thread is specifically used to perform the following steps: when the first number of the recruitment data currently inserted into the array reaches a preset value, query the number of inserted recruitment data in the array; if the number is the same as the preset value, continue to perform the insertion operation, and insert the recruitment data numbered after the first number into the array in sequence; if the number is less than the preset value, query the missing second number in the array, and remove the recruitment data numbered after the second number in the array, and then insert the recruitment data with the second number and the recruitment data numbered after the second number into the array in sequence; if the number is greater than the preset value, determine whether there are multiple recruitment data with the same number in the array, if not, continue to perform the insertion operation; if so, only retain one recruitment data with the same number in the array; wherein the preset value is less than the total number of multiple recruitment data that need to be downloaded.

[0010] According to some embodiments of the present application, optionally, the recruitment data includes any one of a recruitment email sending record and a recruitment SMS sending record; each recruitment email sending record includes at least one of an email number, an email address, a recipient name, a process, a template type, an email content, a sending time, a sender name, and a reply content; each recruitment SMS sending record includes at least one of an SMS number, a recipient mobile phone number, a recipient name, a process, a template type, an SMS content, a sending time, a sender name, and a reply content; wherein the template type includes at least one of an application success notification letter, an assessment invitation letter, and an interview invitation letter.

[0011] According to some embodiments of the present application, optionally, the recruitment data includes recruitment email sending records, each recruitment email sending record includes multiple field data; the main thread is also used to set key field data among the multiple field data in response to the user's selection operation on the key field data, and the key field data includes email address, recipient name, template type or sender name; the preprocessing thread is specifically used to group the recruitment email sending records with the same email address, the same recipient name, the same template type or the same sender name into the same group, and assign a group number to each group, and after inserting one or more recruitment email sending records of a group number into the array, insert one or more recruitment email sending records of the next group number into the array, until all recruitment email sending records are inserted into the array.

[0012] According to some embodiments of the present application, optionally, each download request is used to request the download of a preset number of recruitment data; the task of downloading multiple recruitment data is split according to preset rules to generate multiple download requests, including: calculating the quotient of the total number of multiple recruitment data to be downloaded and the preset number; if the quotient is an integer, generating the same number of download requests as the quotient; if the quotient is not an integer, rounding up the quotient to obtain the rounded-up value, and generating the same number of download requests as the rounded-up value.

[0013] The embodiment of the present application provides a recruitment data download and conversion processing device, which is applied to a terminal. The type of recruitment data includes a recruitment email type or a recruitment SMS type. The device includes: a generation module, which is used to respond to a user's operation of downloading multiple recruitment data on a terminal page, and determine whether the total download amount exceeds a preset threshold. If the preset threshold is exceeded, the task of downloading multiple recruitment data is split according to a preset rule to generate multiple download requests, each download request corresponds to K recruitment data, 1≤K<N, N represents the number of multiple recruitment data to be downloaded, and K and N are both integers; a communication module, which is used to send the multiple download requests to a server according to a preset parallel sending rule, and save the recruitment data across sessions after receiving the recruitment data sent by the server. The preset parallel sending rule is to first send a target number of download requests to the server in parallel, and then send the target number of download requests to the server after receiving the x sent by the server. When the recruitment data corresponding to the download request is received, x download requests are continued to be sent to the server until all the download requests are sent, the target number is less than the number of the multiple recruitment data to be downloaded, and x is a positive integer; the judgment module is used to determine whether there are download requests that have not been completed according to the recruitment data saved across sessions after the user leaves the current page and returns to this page again, and automatically resend the download requests that have not been completed; the splicing module is used to send the multiple recruitment data obtained by downloading to a preset preprocessing thread after determining that the multiple download requests have been downloaded. The preprocessing thread splices the multiple recruitment data and converts the spliced ​​data into binary data; the conversion module is used to send the binary data to the main thread, and the main thread converts the binary data into a target file in Excel format to complete the recruitment data download task.

[0014] An embodiment of the present application provides an electronic device, which includes a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the steps of the method described above are implemented.

[0015] An embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the steps of the method described above are implemented.

[0016] An embodiment of the present application provides a computer program product, wherein the computer program product includes computer program instructions, and when the computer program instructions are executed by a processor, the steps of the method described above are implemented.

[0017] The download and conversion processing method, device, electronic device, computer-readable storage medium and computer program product of the recruitment data provided by the embodiments of the present application, on the one hand, when the total amount of the downloaded multiple recruitment data exceeds the preset threshold, the task of downloading the multiple recruitment data is split according to the preset rules to generate multiple download requests; then multiple download requests are sent to the server according to the preset parallel sending rules, each download request is used to download a part of the recruitment data, and the server can query and return the recruitment data corresponding to the multiple download requests in parallel, which can shorten the download time and request response time, effectively solve the problem of download failure caused by excessive download volume or poor network conditions, and improve the download success rate. On the other hand, after the user leaves the current page and returns to the current page again, the recruitment data saved across sessions can be checked to determine whether there is a download request that has not been completed, and the download request that has not been completed can be automatically resent to obtain the recruitment data that has not been completed, that is, it can support the interruption of the download process, save the download progress, and continue downloading when entering the page next time. On the other hand, after determining that multiple download requests have completed downloading, multiple recruitment data are spliced ​​based on a preset preprocessing thread, and the spliced ​​data is converted into binary data, which reduces the occupancy of the main thread resources and alleviates the workload of the main thread. The main thread can normally handle user operations on the current page or other pages, alleviate page freezes and page interaction blockages, shorten the page response time, and improve the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following briefly introduces the drawings in the embodiments of the present application.

[0019] Figure 1 A schematic diagram of a system architecture of an embodiment of the present application.

[0020] Figure 2 A flowchart of a method for downloading and converting recruitment data according to an embodiment of the present application.

[0021] Figure 3 A flowchart of S201 in the method for downloading and converting recruitment data according to an embodiment of the present application.

[0022] Figure 4 An operational diagram of the method for downloading and converting recruitment data provided in an embodiment of the present application.

[0023] Figure 5 A schematic diagram of the structure of a recruitment data downloading and conversion processing device provided in an embodiment of the present application.

[0024] Figure 6 A schematic diagram of the hardware structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0025] The principles and spirit of the present application will be described below with reference to several exemplary embodiments. It should be understood that the purpose of providing these embodiments is to make the principles and spirit of the present application clearer and more thorough, so that those skilled in the art can better understand and implement the principles and spirit of the present application. The exemplary embodiments provided herein are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments herein, all other embodiments obtained by ordinary technicians of the art without creative work are within the scope of protection of this application.

[0026] The embodiments of the present application relate to a terminal and / or a server. Those skilled in the art will appreciate that the embodiments of the present application may be implemented as a system, apparatus, device, method, computer-readable storage medium, or computer program product. Therefore, the present disclosure may be specifically implemented in at least one of the following forms: complete hardware, complete software, or a combination of hardware and software. According to the embodiments of the present application, the present application seeks protection for a method, apparatus, electronic device, computer-readable storage medium, and computer program product for downloading and converting recruitment data. Figure 1 A schematic diagram of a system architecture of an embodiment of the present application is shown. Figure 1 As shown, the system includes a terminal 102 and a server 104. Among them, the terminal 102 may include at least one of the following: a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart TV, various wearable devices, an augmented reality AR device, a virtual reality VR device, etc. A client and a browser can be installed on the terminal 102. For example, the client can be a client that specifically performs a specific function (such as an application app), or a client with multiple application applets (different functions) embedded in it, or a client logged in through a browser. The user can operate on the terminal 102. For example, the user can open the client installed on the terminal 102 and input instructions through the client operation, or the user can open the browser installed on the terminal 102 and input instructions through the browser operation. After the terminal 102 receives the instruction input by the user, the request information containing the instruction is sent to the server 104. After receiving the request information, the server 104 performs corresponding processing and then returns the processing result information to the terminal 102. The user instruction is completed through a series of data processing and information interaction.

[0027] In this document, terms such as first, second, third, etc. are only used to distinguish one entity (or operation) from another entity (or operation), but not to require or imply any order or relationship between these entities (or operations).

[0028] Before describing the technical solutions provided by the embodiments of the present application, in order to facilitate the understanding of the embodiments of the present application, the present application first specifically describes the problems existing in the related art:

[0029] In order to meet user needs, many recruitment websites and recruitment clients currently provide users with a file download function. Users can use a browser to access the recruitment website page and download the required recruitment data on the recruitment website page or the recruitment client page.

[0030] The inventors of this application have found through research that many users need to be able to download recruitment data stably, support pausing and resuming downloading, and not block page interaction during downloading.

[0031] At present, the commonly used method for downloading recruitment data is that the terminal initiates a network request to download the file to the server. After receiving the request, the server converts the recruitment data into a file stream and stores it in the request response body and returns it to the terminal. The terminal receives the request returned by the server, identifies the file stream, and converts the file stream into a file object and saves it locally, thereby realizing the download of recruitment data.

[0032] However, the inventors of the present application have found that the currently used methods for downloading recruitment data, including but not limited to the above-mentioned methods, when the amount of data requested for download is large, or when the network conditions are poor, the response time for the download request will be longer, or even the request will time out, resulting in a download failure. In addition, the user can only wait for the download to complete once. If the browser or client is closed before the file download is complete, the download will fail. The progress of the previous download cannot be obtained when the page is entered next time. In addition, when the terminal processes the returned recruitment data, if the amount of data processed is large or the processing logic is more complex, it will occupy more CPU resources, causing the page to freeze, and the user's related operations on the page cannot be processed in time, affecting the interactivity and response time of the page, and thus resulting in a poor user experience.

[0033] In view of the above research findings of the inventors, the embodiments of the present application provide a method, device, electronic device, computer-readable storage medium and computer program product for downloading and converting recruitment data, which can solve at least one of the above technical problems existing in the related art.

[0034] The following first introduces the downloading and conversion processing method of recruitment data provided in the embodiment of the present application.

[0035] The downloading and conversion processing method of recruitment data provided in the embodiment of the present application can be applied to a terminal, such as Figure 1 The terminal 102 is shown. The types of recruitment data include but are not limited to recruitment emails or recruitment SMS. For example, the recruitment data can be a recruitment email sending record or a recruitment SMS sending record.

[0036] Figure 2 A flowchart of the method for downloading and converting recruitment data in the embodiment of the present application is shown in FIG. Figure 2 As shown, the method for downloading and converting recruitment data in the embodiment of the present application may include the following steps S201 to S205.

[0037] S201: In response to the user's operation of downloading multiple recruitment data on the terminal page, determine whether the total download amount exceeds a preset threshold. If it exceeds the preset threshold, split the task of downloading multiple recruitment data according to preset rules to generate multiple download requests, each download request corresponding to K recruitment data.

[0038] The terminal page may be a browser page or a client page. After opening the browser page or the client page, the user may download multiple recruitment data on the browser page or the client page, such as clicking a button to download (or export) multiple recruitment data.

[0039] In S201, in response to the user's operation of downloading multiple recruitment data on the terminal page, it is determined whether the total download amount exceeds a preset threshold. The total download amount includes but is not limited to the number of multiple recruitment data that need to be downloaded. For ease of explanation, the number of multiple recruitment data that need to be downloaded is represented by N, where N is a positive integer. The size of the preset threshold can be flexibly adjusted according to actual conditions, and this application does not limit this. For example, the preset threshold can be 10, 50, 100 or other values.

[0040] If the total download amount exceeds the preset threshold, the task of downloading multiple recruitment data is split according to the preset rules to generate multiple download requests. Each download request can correspond to K recruitment data, that is, each download request is used to request the download of K recruitment data, 1≤K<N, N is an integer.

[0041] For example, in some examples, if 100 pieces of recruitment data need to be downloaded, 10 download requests may be generated, each download request being used to request downloading 10 pieces of recruitment data. It should be noted that the above 100 pieces and 10 pieces are only examples and do not constitute a limitation of the present application.

[0042] S202: Send the multiple download requests to the server according to a preset parallel sending rule, and save the recruitment data across sessions after receiving the recruitment data sent by the server.

[0043] The preset parallel sending rule is to first send a target number of download requests to the server in parallel, and when receiving the recruitment data corresponding to x download requests sent by the server, continue to send x download requests to the server until all download requests are sent. The target number is less than the number of multiple recruitment data to be downloaded, and x is a positive integer. The size of the target number can be flexibly adjusted according to actual conditions, and this application does not limit this.

[0044] For example, suppose you need to download 1,000 pieces of recruitment data, and each download request is used to request the download of 10 pieces of recruitment data, so a total of 100 download requests need to be sent. However, these 100 download requests are not sent out at the same time. At the beginning, only the target number (such as 10) of download requests are sent to the server in parallel. When the recruitment data corresponding to x (such as 1) download requests sent by the server are received, x (such as 1) download requests are sent to the server again until all 100 download requests are sent. In essence, the target number (such as 10) of download requests are kept concurrently during the sending process. In this way, multiple download requests can be sent in a shorter time, thereby shortening the download time and request response time overall.

[0045] After receiving the recruitment data sent by the server, the recruitment data can be saved across sessions. Cross-session preservation refers to the ability to continuously save and share information between multiple sessions. Cross-session preservation generally refers to maintaining data consistency and accessibility between different user sessions, so that users can access and share the same information between multiple sessions, so that users can continuously access their data in different sessions.

[0046] For example, in some specific embodiments, after receiving the recruitment data sent by the server, the recruitment data can be stored in a preset client storage database, so that the cache data can be read the next time the page is entered to save request resources. The client storage database includes but is not limited to IndexedDB.

[0047] IndexedDB (Indexed Database API) is a low-level API that can be used to store large amounts of structured data on the client side and provide asynchronous access in the user's browser. It is part of the HTML5 specification and provides a way to store large amounts of data on the client side that can persist across sessions and will not be lost even if the browser is closed.

[0048] S203: After the user leaves the current page and returns to the current page, it is determined whether there is a download request that has not been completed based on the recruitment data saved across sessions, and the download request that has not been completed is automatically resent.

[0049] After the user clicks the operation of downloading multiple recruitment data on the current page, the user may switch from the current page to another page, or exit the browser or client. In S203, after the user leaves the current page and returns to the current page again, it is determined whether there is a download request that has not been completed according to the recruitment data saved across sessions, and the download request that has not been completed is automatically resent to obtain the recruitment data that has not been completed.

[0050] S204: After determining that the multiple download requests have been downloaded, the multiple recruitment data obtained by downloading are sent to a preset preprocessing thread. The preprocessing thread splices the multiple recruitment data and converts the spliced ​​data into binary data.

[0051] Among them, the preprocessing thread includes but is not limited to the Web Workers thread. Web Workers are scripts that run in the background in a web application. Web Workers can run in a thread separate from the main execution thread (usually the UI thread), which allows time-consuming tasks to be performed without interfering with the user interface, making the web application more smooth and responsive.

[0052] In S204, the downloaded multiple recruitment data are sent to the Web Workers thread, the multiple recruitment data are spliced ​​through the WebWorkers thread, and the spliced ​​data are converted into binary data.

[0053] S205: Send the binary data to the main thread, and the main thread converts the binary data into a target file in Excel format to complete the recruitment data download task.

[0054] After getting the binary data, the Web Workers thread can send the binary data to the main thread. The main thread can convert the binary data into a target file in Excel format, that is, an Excel file containing multiple recruitment data, thereby completing the recruitment data download task. The main thread is the main thread of the browser or client, which can be used to coordinate and execute page operations, ensure the normal operation of the page, respond to user input and other tasks.

[0055] In an embodiment of the present application, the work of data splicing and binary data conversion is handed over to the preprocessing thread for execution, which can reduce the occupation of main thread resources and alleviate the workload of the main thread. It can enable the main thread to normally handle user-related operations on the current page or other pages, and alleviate page freezes and page interaction blockages.

[0056] The download and conversion processing method of recruitment data provided by the embodiment of the present application, on the one hand, when the total amount of multiple recruitment data downloaded exceeds a preset threshold, the task of downloading multiple recruitment data is split according to the preset rules to generate multiple download requests; then multiple download requests are sent to the server according to the preset parallel sending rules, each download request is used to download a part of the recruitment data, which can be used for the server to query and return the recruitment data corresponding to multiple download requests in parallel, which can shorten the download time and request response time, effectively solve the problem of download failure caused by excessive download volume or poor network conditions, and improve the download success rate. On the other hand, after the user leaves the current page and returns to this page again, the recruitment data saved across sessions can be checked to determine whether there are download requests that have not been completed, and the download requests that have not been completed can be automatically resent to obtain the recruitment data that have not been completed, that is, it can support the interruption of the download process, save the download progress, and continue downloading when entering the page next time. On the other hand, after determining that multiple download requests have completed downloading, multiple recruitment data are spliced ​​based on a preset preprocessing thread, and the spliced ​​data is converted into binary data, which reduces the occupancy of the main thread resources and alleviates the workload of the main thread. The main thread can normally handle user operations on the current page or other pages, alleviate page freezes and page interaction blockages, shorten the page response time, and improve the user experience.

[0057] According to some embodiments of the present application, optionally, each download request can be used to request downloading a preset number of recruitment data, such as the above-mentioned K recruitment data. The size of the preset number can be flexibly adjusted according to actual conditions, and the present application does not limit this.

[0058] Accordingly, S201: splitting the task of downloading multiple recruitment data according to preset rules to generate multiple download requests may include the following steps 1 to 3.

[0059] Step 1: Calculate the quotient of the total number of recruitment data to be downloaded and the preset number. The expression is as follows:

[0060] Y=N / K (1)

[0061] Wherein, N represents the total number of the plurality of recruitment data that need to be downloaded, K represents the preset number, and Y represents the quotient of the total number of the plurality of recruitment data that need to be downloaded and the preset number.

[0062] Step 2: If the quotient is an integer, generate the same number of download requests as the quotient.

[0063] For example, taking N=100, K=10, and Y=10 as an example, since Y is an integer of 10, 10 download requests, which are the same number as the quotient, can be generated.

[0064] Step 3: If the quotient is not an integer, the quotient is rounded up to obtain a rounded-up value, and the same number of download requests as the rounded-up value is generated.

[0065] For example, taking N=102, K=10, and Y=10.2 as an example, since 10.2 is not an integer, 10.2 can be rounded up to obtain a rounded-up value of 11, and 11 download requests, the same number as the rounded-up value, are generated.

[0066] In this way, through the above steps 1 to 3, each piece of recruitment data that needs to be downloaded can have a corresponding download request, so as to download each piece of recruitment data and avoid missing recruitment data. In addition, the task of downloading multiple pieces of recruitment data is split according to the preset rules to generate multiple download requests; then multiple download requests are sent to the server in sequence at short time intervals, and each download request is used to download a part of the recruitment data, which can allow the server to query and return the recruitment data corresponding to multiple download requests in parallel, which can shorten the download time and request response time, effectively solve the problem of download failure caused by excessive download volume or poor network conditions, and improve the download success rate.

[0067] Figure 3 This is a flow chart of S201 in the method for downloading and converting recruitment data in an embodiment of the present application. Figure 3 As shown, according to some embodiments of the present application, optionally, S201: in response to a user's operation of downloading multiple recruitment data on a terminal page, determining whether the total download amount exceeds a preset threshold may include the following steps S301 to S303.

[0068] S301: In response to the user downloading multiple recruitment data on the terminal page, query whether the recruitment data corresponding to the identifier of each recruitment data is stored in the cross-session storage according to the identifier of each recruitment data to be downloaded. The identifier of the recruitment data includes but is not limited to the ID of the recruitment data.

[0069] S302: For the recruitment data not stored in the cross-session storage, determine whether the total download amount of the recruitment data not stored in the cross-session storage exceeds a preset threshold.

[0070] S303: If the preset threshold is exceeded, the task of downloading the recruitment data not stored in the cross-session storage is split according to the preset rule to generate multiple corresponding download requests, each download request corresponding to K pieces of recruitment data.

[0071] In this way, before sending a download request to the server, it is first queried whether the recruitment data corresponding to the identifier of each recruitment data is stored in the cross-session storage, and only a download request for downloading the recruitment data not stored in the cross-session storage is generated and sent. In this way, the recruitment data already stored in the cross-session storage can be used directly without re-downloading, thereby speeding up the download speed. On the other hand, unnecessary network requests can be avoided, saving network traffic and time. On the other hand, by querying the cross-session storage, the requests to the server are reduced, the pressure on the server is reduced, the user's download experience is improved, and the waiting time is reduced.

[0072] According to some embodiments of the present application, optionally, the embodiments of the present application can meet the needs of users to actively pause and continue downloading. Specifically, the download and conversion processing method of recruitment data can also include the following steps four and five.

[0073] Step 4: When a download pause instruction input by the user is received and the recruitment data corresponding to at least one download request is not returned, a download stop instruction is sent to the server to cause the server to stop sending the recruitment data.

[0074] During the download process, the user can input a pause download instruction, such as triggering a pause download by clicking a pause download button. After receiving the pause download instruction input by the user, if the recruitment data corresponding to at least one download request has not been returned, a stop download instruction can be sent to the server to cause the server to stop sending the recruitment data. The recruitment data returned by the server can be saved across sessions.

[0075] Step 5: If a continue downloading instruction is received from the user, the recruitment data saved across sessions is compared with the multiple recruitment data that need to be downloaded, the undownloaded recruitment data among the multiple recruitment data are determined, and based on the number of undownloaded recruitment data, a download request is regenerated and sent to the server.

[0076] Specifically, after pausing the download, the user can input a continue download instruction, such as triggering the continue download by clicking a continue download button. The continue download button and the pause download button can be the same button or different buttons, and this application does not limit this. When the continue download button and the pause download button are the same button, if the current state is the downloading state, clicking the button will trigger the pause download; if the current state is the pause download state, clicking the button will trigger the continue download. After receiving the continue download instruction input by the user, the recruitment data saved across sessions can be compared with the multiple recruitment data that need to be downloaded to determine the recruitment data that has not been downloaded among the multiple recruitment data that need to be downloaded, that is, the recruitment data that has not been saved across sessions. Then, based on the number of recruitment data that have not been downloaded, a download request is regenerated and sent to the server. The specific process of regenerating the download request is similar to the process of generating multiple download requests in S201 above, please refer to the above, and will not be repeated here.

[0077] In this way, through the related operations of step four and step five, the embodiment of the present application can meet the user's needs for actively pausing and continuing downloading.

[0078] According to some embodiments of the present application, optionally, each piece of recruitment data may be provided with a number, such as numbered 1 to n, where n is an integer greater than 1.

[0079] The preprocessing thread can be specifically used to insert each piece of recruitment data into the array in sequence according to the number of each piece of recruitment data.

[0080] Specifically, after sending multiple recruitment data to the preprocessing thread, the preprocessing thread can be used to insert each recruitment data into the array in sequence according to the number of each recruitment data, and convert the array composed of recruitment data into binary data that can be converted into an Excel file stream.

[0081] In some specific embodiments, optionally, the preprocessing thread can be specifically used to execute the following steps six to nine.

[0082] Step 6: When the first number of the recruitment data currently inserted into the array reaches a preset value, query the number of recruitment data that have been inserted into the array.

[0083] For ease of explanation, the number of the recruitment data currently inserted into the array is referred to as the first number. The preset value corresponds to the number of one of the recruitment data, and the preset value can be less than the total number of the multiple recruitment data that need to be downloaded. It can be flexibly set according to actual conditions, and this application does not limit this. For example, in some examples, for example, when the total number of multiple recruitment data that need to be downloaded is 100, the preset value can be 50, which is half of the total number of multiple recruitment data that need to be downloaded.

[0084] When the first number of the recruitment data currently inserted into the array reaches the preset value, the number of recruitment data inserted into the array can be queried. If the inserted recruitment data in the array is not missing, then in theory the number of recruitment data inserted into the array should be the same as the preset value.

[0085] Step 7: If the number of entries is the same as the preset value, continue to perform the insertion operation and insert the recruitment data whose numbers are after the first number into the array in sequence.

[0086] When the number of inserted recruitment data in the array is the same as the preset value, the insertion operation can be continued to insert the recruitment data whose numbers are after the first number into the array in sequence.

[0087] Step 8: If the number of entries is less than the preset value, query the missing second number in the array, remove the recruitment data whose numbers are after the second number in the array, and then insert the recruitment data with the second number and the recruitment data whose numbers are after the second number into the array in sequence.

[0088] If the number of inserted recruitment data in the array is less than the preset value, it means that at least one recruitment data with a number before the first number has not been inserted into the array. At this time, the missing second number in the array can be queried, and the recruitment data with a number after the second number in the array can be removed, and then the recruitment data with the second number can be inserted into the array, and then the recruitment data with a number after the second number can be inserted into the array in sequence, thereby improving the correctness of the recruitment data insertion order in the array and the integrity of the recruitment data in the array, and effectively avoiding the missing of recruitment data in the array.

[0089] Step 9: If the number of entries is greater than the preset value, determine whether there are multiple recruitment data with the same number in the array. If not, continue to perform the insertion operation; if so, only retain one recruitment data with the same number in the array.

[0090] If the number of recruitment data inserted in the array is greater than the preset value, it means that at least one recruitment data with a number before the first number may be inserted repeatedly into the array. At this time, it can be determined whether there are multiple recruitment data with the same number in the array. If so, it means that at least one recruitment data with a number before the first number is inserted repeatedly into the array. Only one recruitment data with the same number can be retained in the array, and other recruitment data with the same number can be deleted, so that there is no duplicate recruitment data in the array. If not, the insertion operation can be continued, thereby increasing the speed of inserting recruitment data into the array and shortening the data insertion time.

[0091] According to some embodiments of the present application, the recruitment data may optionally include any one of a recruitment email sending record and a recruitment SMS sending record. That is, the recruitment data may be a recruitment email sending record or a recruitment SMS sending record. Based on the recruitment data download and conversion processing method provided in the embodiments of the present application, a user may download a target file in an Excel format containing multiple recruitment email sending records, or download a target file in an Excel format containing multiple recruitment SMS sending records.

[0092] Exemplarily, each recruitment email sending record may include at least one of the email number, email address, recipient name, process, template type, email content, sending time, sender name and reply content. Among them, the template type may include at least one of a successful application notification letter, an assessment invitation letter and an interview invitation letter. The successful application notification letter may be a notification letter sent to a job seeker to inform the job seeker that the job seeker has successfully applied for a position in the company. For example, after the job seeker applies for a position in the company and submits his resume, a successful application notification letter may be sent to the job seeker. The successful application notification letter may be sent by email or by text message. The assessment invitation letter is a letter inviting the job seeker to be assessed. The assessment invitation letter may be sent by email or by text message. The interview invitation letter is a letter inviting the job seeker to an interview. The interview invitation letter may be sent by email or by text message.

[0093] In the target file in Excel format, multiple fields in the recruitment email sending record, such as email number, email address, recipient name, process, template type, email content, sending time, sender name and reply content, can be displayed in separate columns to facilitate user viewing.

[0094] For example, each recruitment SMS sending record may include at least one of the SMS number, recipient's mobile phone number, recipient's name, process, template type, SMS content, sending time, sender's name and reply content. The template type includes at least one of the following: application success notification letter, assessment invitation letter and interview invitation letter.

[0095] In the target file in Excel format, multiple fields in the recruitment SMS sending record, such as SMS number, recipient mobile phone number, recipient name, process, template type, SMS content, sending time, sender name and reply content, can be displayed separately to facilitate user viewing.

[0096] According to other embodiments of the present application, optionally, in addition to inserting each recruitment data into the array according to the number of each recruitment data, the preprocessing thread can also group multiple recruitment data according to key field data set by the user, and insert the recruitment data of each group into the array according to the group number.

[0097] Specifically, taking the recruitment data as a recruitment email sending record as an example, each recruitment email sending record may include multiple field data, such as email number, email address, recipient name, process, template type, email content, sending time, sender name and / or reply content, etc.

[0098] The main thread can also be used to set key field data in multiple field data in response to the user's selection operation on the key field data. For example, the key field data can include an email address, a recipient's name, a template type, or a sender's name.

[0099] The preprocessing thread can be specifically used to group the recruitment email sending records with the same email address, the same recipient name, the same template type or the same sender name into the same group according to the key field data selected by the user, and assign a group number to each group. For example, when the key field data is the email address, the recruitment email sending records with the same email address can be grouped into the same group. Similarly, when the key field data is the recipient name, the recruitment email sending records with the same recipient name can be grouped into the same group. The same template type or the same sender name are similar and will not be repeated here.

[0100] The preprocessing thread can also be used to insert one or more recruitment email sending records of a group number into the array, and then insert one or more recruitment email sending records of the next group number into the array, until all recruitment email sending records are inserted into the array.

[0101] In this way, multiple recruitment email sending records are grouped according to the key field data set by the user, and the recruitment email sending records of each group are inserted into the array according to the group number. This allows multiple recruitment email sending records in the final target file to be displayed according to the grouping expected by the user, which is convenient for users to view and can meet their viewing habits and personalized needs.

[0102] According to some embodiments of the present application, optionally, the main thread can be used to call a binary large object BLOB, and convert binary data into a target file in an Excel format based on the binary large object BLOB.

[0103] In JavaScript, a Binary Large Object (BLOB) object represents an immutable, file-like raw data block. It is a sequence of bytes and is often used to represent file contents, binary data, etc. BLOB objects are created by the BLOB constructor and can contain binary or text data.

[0104] According to some embodiments of the present application, optionally, the recruitment data downloading and conversion processing method provided in the embodiments of the present application may further include the following steps:

[0105] For any i-th download request, after sending the i-th download request to the server for more than a preset time, if the recruitment data corresponding to the i-th download request is not received, the i-th download request is sent to the server again until the recruitment data corresponding to the i-th download request is received or the total number of sending multiple download requests reaches a preset number threshold, where i is a positive integer. In this way, the success rate of downloading recruitment data can be improved.

[0106] Among them, the preset duration and preset number thresholds can be flexibly adjusted according to actual conditions, and this application does not limit this.

[0107] For ease of understanding, the following Figure 4 The specific application embodiment shown exemplifies the downloading and conversion processing method of recruitment data provided in the embodiment of the present application.

[0108] Figure 4 This is an operation diagram of the method for downloading and converting recruitment data provided in the embodiment of the present application. Figure 4 As shown, the terminal 102 is provided with a main thread and a Web Workers thread, and the terminal 102 can send multiple download requests to the server 104, and the server 104 returns the recruitment data corresponding to each of the multiple download requests. The recruitment data download and conversion processing method can include the following steps S401 to S407.

[0109] S401: In response to a user's operation of downloading multiple recruitment data on a terminal page, the terminal queries whether recruitment data corresponding to the identifiers of the recruitment data to be downloaded is stored in the cross-session storage according to the identifiers of the recruitment data to be downloaded.

[0110] S402: If the total download amount of the recruitment data not stored in the cross-session storage exceeds a preset threshold, the task of downloading the recruitment data not stored in the cross-session storage is split according to a preset rule to generate multiple corresponding download requests, each download request corresponding to K pieces of recruitment data.

[0111] S403: Send multiple download requests to the server according to a preset parallel sending rule.

[0112] S404: For any i-th download request, after sending the i-th download request to the server for more than a preset time, if the recruitment data corresponding to the i-th download request is not received, the i-th download request is sent to the server again until the recruitment data corresponding to the i-th download request is received or the total number of sending multiple download requests reaches a preset threshold number of times.

[0113] S405: After receiving the recruitment data sent by the server, the recruitment data is saved across sessions.

[0114] S406: After the user leaves the current page and returns to this page again, determine whether there are download requests that have not been completed based on the recruitment data saved across sessions, and automatically resend the download requests that have not been completed; after determining that multiple download requests have been downloaded, send the multiple recruitment data obtained by downloading to a preset preprocessing thread, which is used to splice the multiple recruitment data and convert the spliced ​​data into binary data.

[0115] S407: Send the binary data to the main thread, and the main thread converts the binary data into a target file in Excel format to complete the recruitment data download task.

[0116] The download and conversion processing method of recruitment data provided by the embodiment of the present application, on the one hand, when the total amount of multiple recruitment data downloaded exceeds a preset threshold, the task of downloading multiple recruitment data is split according to the preset rules to generate multiple download requests; then multiple download requests are sent to the server according to the preset parallel sending rules, each download request is used to download a part of the recruitment data, which can be used for the server to query and return the recruitment data corresponding to multiple download requests in parallel, which can shorten the download time and request response time, effectively solve the problem of download failure caused by excessive download volume or poor network conditions, and improve the download success rate. On the other hand, after the user leaves the current page and returns to this page again, the recruitment data saved across sessions can be checked to determine whether there are download requests that have not been completed, and the download requests that have not been completed can be automatically resent to obtain the recruitment data that have not been completed, that is, it can support the interruption of the download process, save the download progress, and continue downloading when entering the page next time. On the other hand, after determining that multiple download requests have completed downloading, multiple recruitment data are spliced ​​based on a preset preprocessing thread, and the spliced ​​data is converted into binary data, which reduces the occupancy of the main thread resources and alleviates the workload of the main thread. The main thread can normally handle user operations on the current page or other pages, alleviate page freezes and page interaction blockages, shorten the page response time, and improve the user experience.

[0117] Based on the same technical concept as the downloading and conversion processing method of recruitment data provided in the above embodiment, accordingly, the present application also provides a downloading and conversion processing device for recruitment data. The downloading and conversion processing device for recruitment data provided in the present application can be applied to a terminal. The types of recruitment data may include recruitment emails or recruitment SMS. Please refer to the following embodiments.

[0118] Figure 5 A schematic diagram of a structure of a recruitment data download and conversion processing device provided in an embodiment of the present application. Figure 5 As shown, the recruitment data downloading and conversion processing device 50 provided in the embodiment of the present application may include the following modules:

[0119] The generating module 501 is used to respond to the operation of the user downloading multiple recruitment data on the terminal page, determine whether the total download amount exceeds a preset threshold, and if it exceeds the preset threshold, split the task of downloading multiple recruitment data according to a preset rule to generate multiple download requests, each download request corresponds to K recruitment data, 1≤K<N, N represents the number of multiple recruitment data to be downloaded, and K and N are both integers;

[0120] The communication module 502 is used to send the multiple download requests to the server according to a preset parallel sending rule, and save the recruitment data across sessions after receiving the recruitment data sent by the server. The preset parallel sending rule is to first send a target number of download requests to the server in parallel, and when the recruitment data corresponding to the x download requests sent by the server are received, continue to send x download requests to the server until all the download requests are sent, and the target number is less than the number of the multiple recruitment data to be downloaded, and x is a positive integer;

[0121] The judgment module 503 is used to determine whether there is a download request that has not been completed according to the recruitment data saved across sessions after the user leaves the current page and returns to the current page, and automatically resend the download request that has not been completed;

[0122] The splicing module 504 is used to send the downloaded multiple recruitment data to a preset preprocessing thread after determining that the multiple download requests have been downloaded. The preprocessing thread splices the multiple recruitment data and converts the spliced ​​data into binary data.

[0123] The conversion module 505 is used to send the binary data to the main thread, and the main thread converts the binary data into a target file in Excel format to complete the recruitment data download task.

[0124] The download and conversion processing device for recruitment data provided by the embodiment of the present application, on the one hand, when the total amount of multiple recruitment data downloaded exceeds a preset threshold, the task of downloading multiple recruitment data is split according to the preset rules to generate multiple download requests; then multiple download requests are sent to the server according to the preset parallel sending rules, each download request is used to download a part of the recruitment data, and the server can query and return the recruitment data corresponding to the multiple download requests in parallel, which can shorten the download time and request response time, effectively solve the problem of download failure caused by excessive download amount or poor network conditions, and improve the download success rate. On the other hand, after the user leaves the current page and returns to this page again, the recruitment data saved across sessions can be checked to determine whether there is a download request that has not been completed, and the download request that has not been completed can be automatically resent to obtain the recruitment data that has not been completed, that is, it can support the interruption of the download process, save the download progress, and continue downloading when entering the page next time. On the other hand, after determining that multiple download requests have completed downloading, multiple recruitment data are spliced ​​based on a preset preprocessing thread, and the spliced ​​data is converted into binary data, which reduces the occupancy of the main thread resources and alleviates the workload of the main thread. The main thread can normally handle user operations on the current page or other pages, alleviate page freezes and page interaction blockages, shorten the page response time, and improve the user experience.

[0125] According to some embodiments of the present application, optionally, the recruitment data downloading and conversion processing device 50 provided in the embodiments of the present application may also include an interactive module for sending a terminate download instruction to the server when a pause download instruction input by the user is received and the recruitment data corresponding to at least one download request is not returned, so that the server terminates sending the recruitment data; if a continue download instruction input by the user is received, the recruitment data saved across sessions is compared with the multiple recruitment data that need to be downloaded, the recruitment data that has not been downloaded among the multiple recruitment data is determined, and according to the number of recruitment data that have not been downloaded, the download request is regenerated and sent to the server.

[0126] According to some embodiments of the present application, optionally, each piece of recruitment data is provided with a number. The preprocessing thread is specifically used to insert each piece of recruitment data into the array in sequence according to the number of each piece of recruitment data.

[0127] According to some embodiments of the present application, optionally, the preprocessing thread is specifically used to perform the following steps: when the first number of the recruitment data currently inserted into the array reaches a preset value, query the number of inserted recruitment data in the array; if the number is the same as the preset value, continue to perform the insertion operation, and insert the recruitment data numbered after the first number into the array in sequence; if the number is less than the preset value, query the missing second number in the array, and remove the recruitment data numbered after the second number in the array, and then insert the recruitment data with the second number and the recruitment data numbered after the second number into the array in sequence; if the number is greater than the preset value, determine whether there are multiple recruitment data with the same number in the array, if not, continue to perform the insertion operation; if so, only retain one recruitment data with the same number in the array; wherein the preset value is less than the total number of multiple recruitment data that need to be downloaded.

[0128] According to some embodiments of the present application, optionally, the recruitment data includes any one of a recruitment email sending record and a recruitment SMS sending record; each recruitment email sending record includes at least one of an email number, an email address, a recipient name, a process, a template type, an email content, a sending time, a sender name, and a reply content; each recruitment SMS sending record includes at least one of an SMS number, a recipient mobile phone number, a recipient name, a process, a template type, an SMS content, a sending time, a sender name, and a reply content; wherein the template type includes at least one of an application success notification letter, an assessment invitation letter, and an interview invitation letter.

[0129] According to some embodiments of the present application, optionally, the recruitment data includes recruitment email sending records, each recruitment email sending record includes multiple field data; the main thread is also used to set key field data among the multiple field data in response to the user's selection operation on the key field data, and the key field data includes email address, recipient name, template type or sender name; the preprocessing thread is specifically used to group the recruitment email sending records with the same email address, the same recipient name, the same template type or the same sender name into the same group, and assign a group number to each group, and after inserting one or more recruitment email sending records of a group number into the array, insert one or more recruitment email sending records of the next group number into the array, until all recruitment email sending records are inserted into the array.

[0130] According to some embodiments of the present application, each download request is optionally used to request downloading a preset number of recruitment data. The generation module 501 is specifically used to: calculate the quotient of the total number of multiple recruitment data to be downloaded and the preset number; if the quotient is an integer, generate the same number of download requests as the quotient; if the quotient is not an integer, round up the quotient to obtain a rounded-up value, and generate the same number of download requests as the rounded-up value.

[0131] Figure 5 Each module / unit in the device shown has the function of implementing each step in the downloading and conversion processing method of recruitment data provided in the above method embodiment, and can achieve its corresponding technical effect. For the sake of concise description, it will not be repeated here.

[0132] The electronic device in the embodiment of the present application may be a user terminal device, a server, other computing devices, or a cloud server. Figure 6 This is a hardware structure diagram of an electronic device of an embodiment of the present application. The electronic device may include a processor 601 and a memory 602 storing computer program instructions. When the processor 601 executes the computer program instructions, it implements the process or function of any of the above-mentioned embodiment methods.

[0133] Specifically, the processor 601 may include a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application. The memory 602 may include a large-capacity memory for data or instructions. For example, the memory 602 may be at least one of the following: a hard disk drive (HDD), a read-only memory (ROM), a random access memory (RAM), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a tape, a universal serial bus (USB) drive or other physical / tangible memory storage device. For another example, the memory 602 may include a removable or non-removable (or fixed) medium. For another example, the memory 602 may be inside or outside the integrated gateway disaster recovery device. The memory 602 may be a non-volatile solid-state memory. In other words, the memory 602 usually includes a tangible (non-transitory) computer-readable storage medium (such as a memory device) encoded with computer-executable instructions, and when the software is executed (such as executed by one or more processors), the operation described in the method of the embodiment of the present application can be performed. The processor 601 implements the process or function of any method in the above embodiments by reading and executing the computer program instructions stored in the memory 602.

[0134] In one example, Figure 6The electronic device shown may also include a communication interface 603 and a bus 610. Among them, the processor 601, the memory 602, and the communication interface 603 are connected through the bus 610 and complete the communication between each other. The communication interface 603 is mainly used to realize the communication between each module, device, unit and / or device in the embodiment of the present application. The bus 610 includes hardware, software or both, and can couple the components of the online data traffic billing device to each other. For example, the bus may include at least one of the following: an accelerated graphics port (AGP) or other graphics bus, an enhanced industrial standard architecture (EISA) bus, a front-end bus (FSB), a hypertransport (HT) interconnect, an industrial standard architecture (ISA) bus, an infinite bandwidth interconnect, a low pin count (LPC) bus, a memory bus, a micro channel architecture (MCA) bus, a peripheral component interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a serial advanced technology attachment (SATA) bus, a video electronics standard association local (VLB) bus or other suitable buses. The bus 610 may include one or more buses. Although the embodiments of the present application describe or illustrate a specific bus, the embodiments of the present application may consider any suitable bus or interconnection method.

[0135] In combination with the method in the above embodiments, an embodiment of the present application also provides a computer-readable storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the process or function of any method in the above embodiments is implemented.

[0136] In addition, an embodiment of the present application further provides a computer program product, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the process or function of any one of the methods in the above embodiments is implemented.

[0137] The above exemplarily describes the flowcharts and / or block diagrams of the methods, devices, systems and computer program products of the embodiments of the present application, and describes the relevant various aspects. It should be understood that each box or combination thereof in the flowchart and / or block diagram can be implemented by computer program instructions, or by dedicated hardware that performs a specified function or action, or by a combination of dedicated hardware and computer instructions. For example, these computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to form a machine that enables these instructions executed by such a processor to enable the implementation of the functions / actions specified in each box or combination thereof in the flowchart and / or block diagram. Such a processor can be a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit.

[0138] The functional blocks shown in the structured block diagram of the embodiment of the present application can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application-specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc.; when implemented in software, it is a program or code segment used to perform the required task. The program or code segment can be stored in a memory, or transmitted on a transmission medium or a communication link via a data signal carried in a carrier. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.

[0139] It should be noted that the present application is not limited to the specific configurations and processes described above or shown in the figures. The above is only a specific implementation mode of the present application. Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working process of the described system, device, module or unit can refer to the corresponding process in the method embodiment without further description. It should be understood that the scope of protection of the present application is not limited to this. Any technician familiar with the technical field can think of various equivalent modifications or substitutions within the technical scope disclosed in the present application, and these modifications or substitutions should be included in the scope of protection of the present application.

Claims

1. A method for downloading and converting recruitment data, characterized in that: Applied to a terminal, the type of the recruitment data includes a recruitment email type or a recruitment SMS type; the method includes: In response to the user's operation of downloading multiple recruitment data on the terminal page, it is determined whether the total download amount exceeds a preset threshold. If it exceeds the preset threshold, the task of downloading multiple recruitment data is split according to a preset rule to generate multiple download requests, each download request corresponds to K recruitment data, 1≤K<N, N represents the number of multiple recruitment data to be downloaded, and K and N are both integers; Send the multiple download requests to the server according to a preset parallel sending rule, and save the recruitment data across sessions after receiving the recruitment data sent by the server, wherein the preset parallel sending rule is to first send a target number of download requests to the server in parallel, and when the recruitment data corresponding to the x download requests sent by the server are received, continue to send x download requests to the server until all the download requests are sent, the target number is less than the number of the multiple recruitment data to be downloaded, and x is a positive integer; After the user leaves the current page and returns to the current page again, it is determined whether there is a download request that has not been completed based on the recruitment data saved across sessions, and the download request that has not been completed is automatically resent; After determining that the multiple download requests have all been downloaded, sending the multiple pieces of recruitment data downloaded to a preset preprocessing thread, the preprocessing thread splices the multiple pieces of recruitment data and converts the spliced ​​data into binary data; The binary data is sent to the main thread, and the main thread converts the binary data into a target file in Excel format to complete the recruitment data download task.

2. The method according to claim 1, characterized in that The method further comprises: When receiving a download pause instruction input by the user and the recruitment data corresponding to at least one download request has not been returned, sending a download stop instruction to the server to cause the server to stop sending the recruitment data; If a continue downloading instruction input by the user is received, the recruitment data saved across sessions will be compared with the multiple recruitment data that need to be downloaded, the undownloaded recruitment data among the multiple recruitment data will be determined, and based on the number of undownloaded recruitment data, a download request will be regenerated and sent to the server.

3. The method according to claim 1, characterized in that Each piece of recruitment data is assigned a number; The preprocessing thread is specifically used to insert each piece of recruitment data into the array in sequence according to the serial number of each piece of recruitment data.

4. The method according to claim 3, characterized in that The preprocessing thread is specifically used to perform the following steps: When the first number of the recruitment data currently inserted into the array reaches a preset value, query the number of recruitment data inserted into the array; If the number of entries is the same as the preset value, the insertion operation is continued, and the recruitment data with numbers after the first number are inserted into the array in sequence; If the number of entries is less than the preset value, the missing second number in the array is queried, and the recruitment data with numbers after the second number in the array are removed, and then the recruitment data with the second number and the recruitment data with numbers after the second number are inserted into the array in sequence; If the number of entries is greater than the preset value, determine whether there are multiple recruitment data with the same number in the array. If not, continue to perform the insertion operation; if so, only keep one recruitment data with the same number in the array; The preset value is smaller than the total number of recruitment data that need to be downloaded.

5. The method according to claim 1, characterized in that The recruitment data includes any one of the recruitment email sending records and recruitment SMS sending records; Each recruitment email sending record includes at least one of the following: email number, email address, recipient name, process, template type, email content, sending time, sender name and reply content; Each recruitment SMS sending record includes at least one of the SMS number, recipient's mobile phone number, recipient's name, process, template type, SMS content, sending time, sender's name and reply content; The template type includes at least one of an application success notification letter, an assessment invitation letter and an interview invitation letter.

6. The method according to claim 1, characterized in that The recruitment data includes recruitment email sending records, each recruitment email sending record includes multiple field data; The main thread is also used to set key field data among multiple field data in response to a user's selection operation on the key field data, wherein the key field data includes an email address, a recipient's name, a template type, or a sender's name; The preprocessing thread is specifically used to group the recruitment email sending records with the same email address, the same recipient name, the same template type or the same sender name into the same group, and assign a group number to each group. After inserting one or more recruitment email sending records of a group number into the array, one or more recruitment email sending records of the next group number are inserted into the array until all recruitment email sending records are inserted into the array.

7. The method according to claim 1, characterized in that Each download request is used to request to download a preset amount of recruitment data; The task of downloading multiple recruitment data is split according to the preset rules to generate multiple download requests, including: Calculate the quotient of the total number of multiple recruitment data that need to be downloaded and the preset number; If the quotient is an integer, then the same number of download requests as the quotient is generated; If the quotient is not an integer, the quotient is rounded up to obtain a rounded-up value, and the same number of download requests as the rounded-up value is generated.

8. A recruitment data download and conversion processing device, characterized in that: Applied to a terminal, the type of the recruitment data includes a recruitment email type or a recruitment SMS type; the device includes: A generation module is used to respond to the user's operation of downloading multiple recruitment data on the terminal page, determine whether the total download amount exceeds a preset threshold, and if it exceeds the preset threshold, split the task of downloading multiple recruitment data according to a preset rule to generate multiple download requests, each download request corresponds to K recruitment data, 1≤K<N, N represents the number of multiple recruitment data to be downloaded, and K and N are both integers; A communication module, used for sending the multiple download requests to the server according to a preset parallel sending rule, and saving the recruitment data across sessions after receiving the recruitment data sent by the server, wherein the preset parallel sending rule is to first send a target number of download requests to the server in parallel, and when the recruitment data corresponding to the x download requests sent by the server are received, continue to send x download requests to the server until all the download requests are sent, the target number is less than the number of the multiple recruitment data to be downloaded, and x is a positive integer; A judgment module, used for determining whether there is a download request that has not been completed according to the recruitment data saved across sessions after the user leaves the current page and returns to the current page again, and automatically resending the download request that has not been completed; A splicing module, for sending the downloaded multiple recruitment data to a preset preprocessing thread after determining that the multiple download requests have been downloaded, the preprocessing thread splicing the multiple recruitment data and converting the spliced ​​data into binary data; The conversion module is used to send the binary data to the main thread, and the main thread converts the binary data into a target file in Excel format to complete the recruitment data download task.

9. An electronic device, characterized in that: The electronic device comprises: a processor and a memory storing computer program instructions; when the electronic device executes the computer program instructions, the method according to any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the method according to any one of claims 1 to 7 is implemented.