WO2021082859A1 - 一种数据处理方法及装置 - Google Patents

一种数据处理方法及装置 Download PDF

Info

Publication number
WO2021082859A1
WO2021082859A1 PCT/CN2020/119040 CN2020119040W WO2021082859A1 WO 2021082859 A1 WO2021082859 A1 WO 2021082859A1 CN 2020119040 W CN2020119040 W CN 2020119040W WO 2021082859 A1 WO2021082859 A1 WO 2021082859A1
Authority
WO
WIPO (PCT)
Prior art keywords
browser
collection
cache
event
events
Prior art date
Application number
PCT/CN2020/119040
Other languages
English (en)
French (fr)
Inventor
谢雪彦
林挺
卢道和
Original Assignee
深圳前海微众银行股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳前海微众银行股份有限公司 filed Critical 深圳前海微众银行股份有限公司
Publication of WO2021082859A1 publication Critical patent/WO2021082859A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Definitions

  • the present invention relates to the technical field of financial technology (Fintech), in particular to a data processing method and device.
  • the financial technology field usually has a variety of applications, and users can apply for financial services on these applications, such as payment services, loan services, or insurance services.
  • the application when a user triggers a buried event on an application, the application generates a collection event based on the buried event and reports the collected event to the collection server.
  • the collection event may not be successfully reported to the collection server.
  • the application in order to improve the collection success rate of the collection event, the application can also buffer the collection event to a certain location first , And then report the buffered collection event again after the fault is repaired.
  • the existing browser caching technology actually exists as a software configuration item attached to the terminal device. Generally, it is fixedly set according to the browser version when the terminal device leaves the factory. A terminal device can only use the default settings for the Dedicated browser caching mechanism for terminal devices. The existing browser caching technology cannot actually be applied to terminal devices with browsers of different versions.
  • the present invention provides a data processing method to solve the technical problem that the existing browser caching technology can only support a dedicated browser version, which causes the collection event cached by the application program to be garbled or the collection event cannot be cached.
  • the present invention provides a data processing method, which is suitable for a data processing device, and includes: the data processing device first determines the collection event to be cached, and then based on the preset browser and browser caching mechanism.
  • the mapping relationship determines the cache mechanism of the target browser that matches the browser, and uses the cache mechanism of the target browser to cache the collection events to be cached.
  • the collection events to be buffered may include collection events that are not successfully reported to the collection server among multiple collection events.
  • the multiple collection events are detected after the user triggers the first preset operation on the browser and executes the first preset operation. Suppose it is generated when the corresponding task is operated, and each collection event is used to record the event of executing each subtask in the task.
  • the data processing device in this solution can support multiple browser caching mechanisms at the same time. In this way, after acquiring the collection event to be cached, the data processing device can use the target caching mechanism matching the browser to cache the collection event to be cached. In order to ensure the accuracy of the collection event to be cached, this method helps to solve the problem of garbled or unable to cache collection events caused by only setting a default browser caching mechanism in the prior art. The accuracy of the cached collection events.
  • the data processing device determines the target browser caching mechanism that matches the browser, including: the data processing device obtains the configuration file of the browser, and if the configuration file of the browser contains the window.localStorage object, it is determined
  • the localhost caching mechanism is an alternative browser caching mechanism. If the configuration file of the browser contains any one or more of the window.indexedDB object, window.IDBTransaction object, and window.IDBKeyRange object, the indexDB caching mechanism is determined to be a backup Select the browser caching mechanism.
  • the WebSQL caching mechanism is determined to be an alternative browser caching mechanism; if there are multiple alternative browser caching mechanisms, browse from multiple alternatives Among the browser caching mechanisms, the browser caching mechanism with the highest priority is selected as the target browser caching mechanism.
  • the above design pre-sets the priority of multiple browser caching mechanisms. When there are multiple alternative browser caching mechanisms, by using the browser caching mechanism with the highest priority to perform the caching operation, the efficiency of caching can be improved. In addition, the priority of multiple browser caching mechanisms in this manner can be set according to design requirements, so that the needs of users can be more satisfied.
  • the data processing device determines the target browser caching mechanism that matches the browser, including: the data processing device obtains the configuration file of the browser, and detects whether the configuration file of the browser contains the window.localStorage object, If it exists, the local host caching mechanism is determined to be the target browser caching mechanism. If it does not exist, check whether the configuration file of the browser contains any one or more of the system browser database object, window.IDBTransaction object, and window.IDBKeyRange object. If it does, determine the indexDB caching mechanism as the target browse If it does not include the browser cache mechanism, then check whether the browser’s configuration file contains the window.openDatabase object. If it does, it will determine that the WebSQL cache mechanism is the target browser’s cache mechanism.
  • this method determines the caching mechanism supported by the browser by querying the configuration file, which can accurately match the appropriate target caching mechanism.
  • this method can directly determine the browser caching mechanism as the target browser caching mechanism when the object corresponding to a certain browser caching mechanism is detected, without Then perform the operation of detecting the objects of other browsers' caching mechanisms, so that the operation is relatively simple, the efficiency is high, and the flexibility is strong.
  • the data processing device may also determine that there is no user-specified target browser caching mechanism. In this way, this method supports the user to specify the browser caching mechanism, so that the actual needs of the user can be more satisfied, the actual scene is met, and the user experience is improved. Moreover, first matching the user-specified caching mechanism and then configuring the configuration file to determine the caching mechanism can accurately match the target caching mechanism on the basis of ensuring the user's needs, which is more flexible.
  • the data processing device uses the cache mechanism of the target browser to cache the collection events, including: the data processing device uses a preset compression algorithm to compress the multiple collection events to be cached, and obtains the corresponding data of the multiple collection events to be cached. String cache, and cache string data corresponding to multiple collection events to be cached in the storage space corresponding to the cache mechanism of the target browser. In this way, all the collected events to be buffered can be compressed into a string buffer through a single compression process, so that the buffering of the collected data to be buffered can be completed with a small number of operations, and the occupation of the buffered collected data can be reduced. This reduces the number of subsequent retransmissions and improves the retransmission efficiency.
  • the data processing device uses a preset compression algorithm to compress the multiple collection events to be buffered, and obtains the string buffer corresponding to the multiple collection events to be buffered, including: for each collection event to be buffered , The data processing device first extracts the value of the collection event under each feature from the collection event, and then generates the feature vector corresponding to the feature according to the value of the multiple collection events to be cached under each feature, and finally The feature vector corresponding to the feature is combined to obtain the string cache corresponding to the multiple collection events to be cached.
  • this method supports storing multiple collection events to be cached in the form of key-value pairs (i.e. string cache). Compared with multiple collection events to be cached, the string cache can occupy a smaller amount of data. The compression effect is better.
  • the data processing device uses the cache mechanism of the target browser to cache collection events, including: for any feature, use a preset compression algorithm to compress any collection event to be cached, and obtain each collection event to be cached.
  • the string cache corresponding to the collection event is cached, and the string data corresponding to each collection event to be cached is cached and stored in the storage space corresponding to the cache mechanism of the target browser.
  • the data processing device uses the cache mechanism of the target browser to cache the collection event to be cached, if it detects that the user triggers the second preset operation on the browser, it executes the second preset operation corresponding to the Generate multiple collection events during the task, create the first queue, and determine whether the string cache is stored in the storage space corresponding to the cache mechanism of the target browser. If so, first store the string cache in the first queue, and then store multiple items The collection events are sequentially stored in the first queue. In this case, multiple collection events are located after the string buffer. If not, the multiple collection events are sequentially stored in the first queue. In this way, when the collected data is retransmitted, the data processing device can sequentially report the collected data stored in the first queue to the collection server.
  • the present invention provides a data processing device, which includes:
  • the determination module is used to determine the collection event to be buffered.
  • the collection events to be buffered may include collection events that are not successfully reported to the collection server among multiple collection events.
  • the multiple collection events are detected after the user triggers the first preset operation on the browser and executes the first preset operation. Generated when the corresponding task is operated, and each collection event is used to record the event of each subtask in the execution of the task.
  • the cache module is used to determine the target browser cache mechanism matching the browser based on the preset mapping relationship between the browser and the browser cache mechanism, and use the target browser cache mechanism to cache the collection events to be cached.
  • the determining module is specifically used to: obtain the configuration file of the browser. If the configuration file of the browser contains the window.localStorage object, determine that the localhost caching mechanism is an alternative browser caching mechanism; if the browser If the configuration file contains any one or more of the window.indexedDB object, window.IDBTransaction object, and window.IDBKeyRange object, the indexDB caching mechanism is determined to be an alternative browser caching mechanism; if the browser’s configuration file contains window.openDatabase object, the WebSQL caching mechanism is determined to be an alternative browser caching mechanism; if there are multiple alternative browser caching mechanisms, the browser caching mechanism with the highest priority is selected from the multiple alternative browser caching mechanisms as Target browser caching mechanism.
  • the determining module is specifically used to: after obtaining the configuration file of the browser, detect whether the configuration file of the browser contains the window.localStorage object, and if so, determine that the local host cache mechanism is the cache mechanism of the target browser ; If not, check whether the configuration file of the browser contains any one or more of the system browser database object, window.IDBTransaction object, and window.IDBKeyRange object. If so, determine that the indexDB cache mechanism is the target browser Cache mechanism, if not, check whether the browser’s configuration file contains the window.openDatabase object, if yes, determine that the WebSQL cache mechanism is the target browser’s cache mechanism, if not, determine that there is no target browser that matches the browser Caching mechanism.
  • the determining module before the determining module obtains the configuration file of the browser, it is also used to determine that there is no user-specified target browser caching mechanism.
  • the cache module is specifically used to: compress the multiple collection events to be cached using a preset compression algorithm, obtain the string buffer corresponding to the multiple collection events to be cached, and combine the multiple collection events to be cached
  • the string data corresponding to the event is cached and stored in the storage space corresponding to the cache mechanism of the target browser.
  • the cache module is specifically used to: for each collection event to be cached, extract the value of the collection event under each feature from the collection event; for any feature, according to the feature to be cached Based on the values of the multiple collection events in the feature, the feature vector corresponding to the feature is generated. In this way, according to the feature vector corresponding to each feature, the string buffer corresponding to the multiple collection events to be cached is obtained by combining.
  • the buffer module is specifically used to compress any collection event to be buffered using a preset compression algorithm, obtain a string buffer corresponding to each collection event to be buffered, and store each collection event to be buffered
  • the string data corresponding to the event is cached and stored in the storage space corresponding to the cache mechanism of the target browser.
  • the device further includes a processing module.
  • the caching module uses the target browser caching mechanism to cache the collection events to be cached
  • the processing module is used to: after detecting that the user triggers the second preset operation on the browser, Multiple collection events are generated when the task corresponding to the second preset operation is executed; the first queue is created to determine whether the string cache is stored in the storage space corresponding to the cache mechanism of the target browser, and if so, the string cache is first stored in In the first queue, multiple collection events are sequentially stored in the first queue; multiple collection events are located after the string buffer; if not, multiple collection events are sequentially stored in the first queue; the first The collected data stored in the queue is reported to the collection server.
  • the present invention provides a computing device, including at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program, and when the program is executed by the processing unit, the processing unit executes any of the above-mentioned first aspect Data processing method.
  • the present invention provides a computer-readable storage medium that stores a computer program executable by a computing device.
  • the program runs on the computing device, the computing device executes any data processing method in the first aspect.
  • FIG. 1 is a schematic diagram of a possible system architecture provided by an embodiment of the present invention
  • FIG. 2 is an overall flowchart corresponding to a data collection method provided by an embodiment of the present invention
  • FIG. 3 is a schematic flowchart corresponding to a data caching method provided by an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a method for reporting collection events based on a cursor according to an embodiment of the present invention
  • FIG. 5 is a schematic diagram of a method for reporting collected data based on a first-in first-out queue algorithm according to an embodiment of the present invention
  • FIG. 6 is a schematic diagram of a method for determining a cache mechanism of a target browser according to an embodiment of the present invention
  • FIG. 7 is a schematic diagram of the overall flow of a caching method provided by an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of the overall flow of another caching method provided by an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of the overall flow of a data retransmission method according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of the overall flow of another data retransmission method according to an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a data processing device provided by an embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of a terminal device according to an embodiment of the present invention.
  • FIG. 13 is a schematic structural diagram of a back-end device provided by an embodiment of the present invention.
  • Figure 1 is a schematic diagram of a possible system architecture provided by an embodiment of the present invention.
  • the system architecture may include a collection server (110) and client devices (such as client device 121, client device 122, and client devices). End device 123).
  • client devices such as client device 121, client device 122, and client devices.
  • End device 123 It should be understood that the present invention does not specifically limit the number of collection servers and the number of clients. For example, one collection server can be connected to only one client device, or can be connected to multiple client devices at the same time.
  • the connection method is not limited to wired or wireless.
  • the client device may refer to a server that provides an application program, and the application program is an application program with an embedded browser.
  • At least one client device may be set in at least one business system, for example, the client device 121 is a client device set in a loan business system, the client device 122 is a client device set in an insurance business system, and the client device 123 is a client device set in an insurance business system. It is a client device set in the wealth management business system.
  • the client device can detect the operation triggered by the user on the browser of the application and can provide the user with corresponding services.
  • FIG. 2 is a schematic diagram of the overall process corresponding to a data collection method provided by an embodiment of the present invention, and the method includes:
  • the client device 121 may sequentially generate the collection event 1 corresponding to the buried point event 1, the collection event 2 corresponding to the buried point event 2, and the collection event 3 corresponding to the buried point event 3. For example, when the client device 121 provides the Motodai application, if the user opens the Motodai product page of the Motodai application and triggers the "one-click loan" button on the page, the client device 121 can sequentially Query relevant information of users from multiple third-party platforms to determine whether loans can be provided to users.
  • the client device 121 can first query the user’s personal information from the personal information maintenance platform. After the personal information query is passed, it can then query the user’s account opening information from the account opening information maintenance platform.
  • the loan information maintenance platform queries the user’s loan qualification. If the personal information, account opening information, and loan qualification are all queried, the client device 121 can provide the user with a loan. If any of the personal information, account opening information, and loan qualification is not inquired, If passed, the client device 121 can reject the user's loan application. In this process, when performing the loan service corresponding to the "one-click loan", the client device will perform three subtasks of querying the user's personal information, querying the user's account opening information, and querying the user's loan qualifications.
  • the burial event 1 instructs the client device 121 (or the user) to perform a personal query
  • the buried event 2 instructs the client device 121 (or user) to perform the sub-task of querying the account opening information in the account opening information maintenance platform
  • the buried event 3 instructs the client device 121 (or user) ) Perform the subtask of querying loan eligibility in the loan information maintenance platform.
  • the client device 121 may sequentially generate the collection event 1 corresponding to the buried point event 1, the collection event 2 corresponding to the buried point event 2, and the collection event 3 corresponding to the buried point event 3.
  • the execution interval of the three subtasks of querying the user’s personal information, querying the user’s account opening information, and querying the user’s loan eligibility is very short, possibly only a few milliseconds, so the client device 121 is executing In the process of loan business, it is equivalent to generating collection event 1, collection event 2 and collection event 3 in parallel.
  • the client device 121 can transfer the collection event 1, the collection event 2, and the collection event 3 from the queue a 1 tail sequentially inserted into the queue a 1, assuming the queue capture event a 1 stored in the occupied queue a bit 0 to the position i-1, the capture event 1 can occupy queue a position I 1, capture event 2 may 1 in a holding queue position i + 1, capture event queue 3 can occupy a position of an i + 2.
  • i can be an integer greater than or equal to zero.
  • the client device 121 can also assign a unique identifier to the collection event.
  • the unique identifier of the collection event can be set by those skilled in the art based on experience. For example, it can be set in an example. It is a combination of timestamp and random number, and the length is 16 bits.
  • the content of each collection event may include, but is not limited to: application identification, user identification, collection event identification, device information, user information, and business information.
  • the device information may include the device model, brand, system version, browser version, processor type, central processing unit (CPU) core number, etc.
  • the user information may include the user's customer number or user The unique identification ID in the service, or may also include the user's name, gender, mobile phone number, habitual residence, etc.
  • the service information may refer to the type of the buried event, the serial number of the service, etc., which is not specifically limited.
  • the client device 121 is provided with a buried event.
  • the client device 121 can generate a collection event ( For example, event k) is collected, and then the collection event k is placed in a queue, and the queue is used to store the collection event to be reported.
  • the client device 121 can report the collection event k in the queue to the collection server 110.
  • the collection event can be reported in sequence according to the sequence of the collection event in the queue.
  • the collection event k can be reported again, or it can be reported according to the preset cycle.
  • the client device 121 can obtain an unreported item from the queue a 1 every 2 minutes.
  • the event is collected and reported to the collection server 110.
  • the client device 121 may also first query whether there is a collection event being reported in the reporting process, and if it does not exist, it can directly report the collection event k to the collection server 110, if it exists, You can wait for the completion of the reporting of the collection event (for example, collection event h) being reported (that is, the response message sent by the collection server is received).
  • the collection event k can be reported to the collection server 110; if it is determined that the reporting of the collection event h has failed, the number of times the collection event h has been reported to the collection server 110 can be queried If the number of reported times is greater than or equal to the preset number, it indicates that the current network is faulty. Therefore, all collection events h and other unreported collection events can be cached from queue a 1. If the reported number of times is less than the preset number, Then you can report the collection event h again, and after the reporting is completed, it is determined whether the collection event h is reported successfully, and the above steps are repeated.
  • the client device 121 may remove a 1 queue.
  • the client device 121 may sequentially generate the embedded point Collection event 4 corresponding to event 4, collection event 5 corresponding to buried point event 5, and collection event 6 corresponding to buried point event 6.
  • the queue a 1 is deleted, there is no longer a queue for reporting collection events in the client device.
  • the client device 121 can recreate a queue a 2 and collect events 4, 5, and 6 events collected in a 2 is stored in the queue. It is understandable that the client device 121 can also query to determine whether there is a buffered collection event before storing the collection event 4, the collection event 5, and the collection event 6 in the queue a 2. If there is a buffered collection event, may be buffered first capture event queue from the tail of a 2 a 2 is inserted in the queue, then the capture event 4, 5 and capture event capture event queue 6 is inserted from a 2 a 2 of the tail queue, based on the final The queue a 2 performs the reporting process. In this way, the client device 121 may first report the collection event that was not reported last time to the collection server 110, and then report the newly generated collection event this time to the collection server 110, thereby increasing the success rate of collection event collection.
  • Figure 2 is only an exemplary and simple description, and the data collection methods listed are only for the convenience of explaining the solution, and do not constitute a limitation on the solution.
  • the storage method of the collected data and the data to be cached The collected data can be set by those skilled in the art based on experience, or can also be set according to business needs, which is not specifically limited.
  • FIG. 3 is a schematic flowchart of a data caching method provided by an embodiment of the present invention.
  • the method is suitable for client devices, such as the client device 121 and the client device shown in FIG. The device 122 or the client device 123.
  • the following takes the client 121 to execute the data caching method as an example for introduction.
  • the method includes:
  • Step 301 The client device determines the collection event to be buffered.
  • the collection events to be buffered can be determined according to preset rules, which can be set by those skilled in the art based on experience, or can be specified by the user, or can be set according to business needs , Not limited.
  • the preset rule may mean that the network traffic is less than the preset traffic.
  • the client device 121 can monitor the changes in the network traffic in real time. Assuming traffic, it indicates that the current network is faulty. Therefore, the client device 121 can use all the collection events that have not been reported in the queue a 1 at this moment as collection events to be buffered.
  • the preset rule may mean that the number of reported collection events is greater than the preset number.
  • the preset number is 3, and the client device 121 is in the queue according to the collection event. in the order of a 1 reports the collected event queue is directed to a 1 in any of a capture event, if acquisition process of reporting article preset number of unsuccessful events reported to the collection server 110, the client device 121 The collection event and other unreported collection events in the queue a 1 can be regarded as collection events to be buffered.
  • the client device determines a capture event from the queue is not reported in a variety of ways, the following describes two possible implementations, it can be appreciated, the event determining acquisition unreported manner also It can be set by the user according to business needs, which is not limited in the embodiment of the present invention:
  • the client device 121 may preset a cursor, and the cursor is used to indicate the position of the collection event to be reported in the queue a 1.
  • FIG. 4 is a schematic diagram of a method for reporting collection events based on a cursor provided by an embodiment of the present invention.
  • a queue a 1 for reporting collection events has been set in the client device 121, and the queue a 1 includes a queue head and the tail, capture event can be inserted from the queue and a queue tail 1 sequentially queue a 1, queue a 1 sequentially stores a capture event 1, capture event 2 and capture event 3, capture event a holding queue a starting position 1, 0, Acquisition event 2 occupies position 1 of queue a 1 , and acquisition event 3 occupies position 2 of queue a 1.
  • the cursor can indicate the initial position of queue a 1 in the initial state, that is, position 0.
  • the client device 121 when the client device 121 reports the collection event for the first time, it can first obtain the collection event 1 stored in position 0 indicated by the cursor, and then The collection event 1 can be placed in the browser request queue, and the collection event 1 can be reported to the collection server 110 via the browser. If the client device 121 receives the first type response message (used to indicate that the collection event is successfully received) sent by the collection server 110, it means that the collection event 1 is successfully reported to the collection server 110, so the client device 121 can control the cursor from the queue a The direction of the head of the line 1 moves back one position to the direction of the tail of the line, so that the cursor is indicated at position 1 of the queue a 1.
  • the first type response message used to indicate that the collection event is successfully received
  • the client device 121 can store the collection event 2 in the position 1 indicated by the cursor. Report to the collection server 110. Further, when reporting the collection event 2, if the client device 121 receives the second type response message sent by the collection server 110 (used to indicate that no collection event is received within a set time period or an illegal format collection event is received), It means that the collection event 2 is not successfully reported to the collection server 110, so the client device 121 can report the collection event 2 repeatedly. If the preset number of times (for example, 3 times) is repeatedly reported, the second type response message sent by the collection server 110 is received.
  • the preset number of times for example, 3 times
  • the cursor by using the cursor to record the position of the collection event to be reported in the queue, the position of the collection event in the queue can not be changed, so that the client device does not need to move the collection event frequently to add a new collection event In the queue, it helps to reduce system performance loss.
  • the cursor can also be used to easily obtain the location of the next collection event to be reported to improve the flexibility of data collection.
  • the client device 121 can use the first-in first-out queue algorithm to report the collected data, and: every time the client device 121 successfully reports a collection event, the collection event is deleted from the queue a 1 and the other The collection events are moved forward one by one, so as to keep the elements in the queue a 1 continuously updated.
  • FIG. 5 is a schematic diagram of an implementation method for reporting collected data based on a first-in first-out queue algorithm according to an embodiment of the present invention.
  • the queue a 1 sequentially stores collection event 1, collection event 2, and collection event 3
  • a capture event queue 1 occupies the initial position 01
  • a capture event queue position 2 occupied by a 1
  • a capture event queue occupancy 3 1 2 position
  • the client device 121 may first obtain the collection event 1 stored in the position 0 of the queue a 1 , and then place the collection event 1 in the browser request queue, and report the collection event 1 to the collection server 110 via the browser.
  • the client device 121 If the client device 121 receives the first type response message sent by the collection server 110, it means that the collection event 1 is successfully reported to the collection server 110, so the client device 121 can control the collection event 1 to be moved out of the queue from the head of the queue a 1 a 1 (or delete capture event 1), and sequentially controls capture event 2 and event 3 capture a forward position, so that the capture event queue 2 occupies a position of 01, a capture event queue positions occupied 3 1 1. Thus, each client device 121 reported a capture event are collected in the queue in the event of an initial position.
  • the client device 121 when reporting the collection event 2, if the client device 121 receives the second type response message sent by the collection server 110, it means that the collection event 2 was not successfully reported to the collection server 110, so the client device 121 can repeat the preset The collection event 2 is reported the number of times (not as good as 3 times). If the second type of response message sent by the collection server 110 is received for 3 times of repeated reporting, it means that the collection event 2 has not been successfully reported to the collection server 110 in the 3 repeated reports. The current network is faulty, so the client device 121 can use the collection events in the queue a 1 that are not reported to the collection server 110 as collection events to be buffered.
  • the collection events stored in the queue a 1 are all collection events that have not been reported to the collection server 110, that is, when a network failure is determined, the client device 121 may capture event queues are stored in a 1 a 1 in the queue buffer.
  • the storage space occupied by the queue can be reduced, so that there is no need to re-expand the storage space for the queue when the collection events increase, which helps to improve the availability of the queue and Utilization rate of storage space.
  • the position indicated by the cursor in queue a 1 can be transferred to queue a.
  • the collection events between the end positions of 1 are taken as collection events to be buffered. If the collection event to be buffered is determined using the second implementation manner , all collection events stored in the queue a 1 can be taken as the collection events to be buffered.
  • Step 302 The client device determines the target browser cache mechanism matching the browser based on the preset mapping relationship between the browser and the browser cache mechanism, and uses the target browser cache mechanism to cache the collection event.
  • Example 1 Let the user specify the cache mechanism of the target browser by exposing the configuration.
  • the client device 121 can pre-write a function to set the cache mechanism of the target browser, such as the waLog.using(protocol, database) function.
  • the front-end or The backend directly exposes the waLog.using(protocol, database) function to the user.
  • this function supports the user to input the first parameter protocol and the second parameter database.
  • the first parameter protocol is used to prompt the user to specify the target browser caching mechanism.
  • the optional values include but are not limited to any of localStorage, indexedDB and webSQL;
  • the second parameter database is used to prompt for specifying the storage location of the collection event cached by the cache mechanism of the target browser.
  • the function becomes: waLog.using(localStorage, test).
  • waLog.using This shows that the user specifies to use the localStorage caching mechanism as the target browser's caching mechanism, and sets the collection events cached by the localStorage caching mechanism to be stored in a database named ‘test’.
  • test a database named ‘test’.
  • the caching mechanism is used as a caching mechanism of the target browser.
  • the user can send a response message that the caching mechanism of the target browser does not exist.
  • the browser caching mechanism can be specified by the user to meet the actual needs of the user, thereby more satisfying the actual scene, and the user experience is better.
  • Example 2 According to the support of the browser, the cache mechanism of the target browser that matches the browser is automatically selected.
  • the client device 121 may first obtain the configuration file of the browser from the application, and determine from the configuration file of the browser whether there are multiple The object corresponding to the browser cache mechanism. If the window.localStorage object exists in the browser configuration file, the localhost cache mechanism is determined as an alternative browser cache mechanism. If the browser configuration file contains the window.indexedDB object, For any one or more of the window.IDBTransaction object and window.IDBKeyRange object, the indexDB caching mechanism is used as an alternative browser caching mechanism. If the window.openDatabase object exists in the browser configuration file, WebSQL will be cached Mechanism as an alternative browser caching mechanism.
  • the candidate browser cache object with the highest priority among the multiple candidate browser cache objects may be determined as the target browser cache object.
  • the browser caching mechanism with the highest priority can be used to perform the caching operation, thereby improving the cache
  • the priority of multiple browser caching mechanisms can be set as needed, which can better meet the needs of users.
  • the client device 121 may also first obtain the configuration file of the browser from the application, and then detect whether the configuration file of the browser contains window.localStorage object, if it is, the local host caching mechanism can be determined as the target browser caching mechanism, if not, it can be detected whether the browser's configuration file contains the system browser database object, window.IDBTransaction object and window.IDBKeyRange Any one or any number of objects in the object, if it is, the indexDB caching mechanism can be used as the target browser’s caching mechanism, if not, it can be detected whether the browser’s configuration file contains the window.openDatabase object, if so, you can change
  • the WebSQL cache mechanism is a cache mechanism of the target browser.
  • the cache mechanism supported by the browser is determined by querying the configuration file, which can accurately match the appropriate target cache mechanism; and by setting the order of detecting browser objects in the configuration file, you can When a browser cache mechanism corresponds to an object, the browser cache mechanism is directly determined as the target browser cache mechanism, and there is no need to perform the operation of detecting objects of other browser cache mechanisms, so the operation is relatively simple, efficient and flexible Strong sex.
  • Example 3 Combine implementation example 1 and example 2.
  • the client device 121 may first determine whether there is a browser caching mechanism specified by the user according to the solution in Example 1. If it exists, the browser caching mechanism specified by the user is used as the target caching mechanism; if it does not exist, then the browser caching mechanism specified by the user is used as the target caching mechanism. Then automatically determine the target caching mechanism that matches the browser according to the scheme in Example 2.
  • FIG. 6 is a schematic flowchart of a method for determining a cache mechanism of a target browser according to an embodiment of the present invention.
  • the method can be applied to client devices, such as the client device 121 and the client device 122 in FIG. 1 Or client device 123.
  • the method includes:
  • step 601 the client device determines whether there is a browser caching mechanism specified by the user, if yes, execute step 602, and if not, execute step 603.
  • the judgment method may be: the client device first calls the waLog.using(protocol, database) function to determine whether the first parameter protocol of the function is assigned a value, and if so, it is determined that there is a user-specified Browser caching mechanism, if not, it is determined that there is no browser caching mechanism specified by the user.
  • step 602 the client device uses the browser caching mechanism specified by the user as the target browser caching mechanism, and executes step 610.
  • the user can assign localStorage, indexedDB or webSQL to the first parameter protocol, thereby specifying any one of the localStorage caching mechanism, indexedDB caching mechanism, and webSQL caching mechanism.
  • the localhost caching mechanism can be used as the target browser caching mechanism.
  • the indexedDB caching mechanism can be used as the target browsing Browser caching mechanism.
  • the browser caching mechanism specified by the user is the webSQL caching mechanism
  • the webSQL caching mechanism can be used as the target browser caching mechanism.
  • step 603 the client device determines whether the configuration file of the browser contains the window.localStorage object, if so, execute step 604, and if not, execute step 605.
  • step 604 the client device uses the localhost caching mechanism as the target browser caching mechanism, and executes step 610.
  • Step 605 The client device determines whether the configuration file of the browser contains any one or more of the window.indexedDB object, window.IDBTransaction object, and window.IDBKeyRange object. If yes, execute step 606, if not, then Go to step 607.
  • step 606 the client device uses the indexDB caching mechanism as the target browser caching mechanism, and executes step 610.
  • step 607 the client device determines whether the configuration file of the browser contains the window.openDatabase object, if yes, execute step 608, and if not, execute step 609.
  • step 608 the client device uses the WebSQL caching mechanism as the target browser caching mechanism, and executes step 610.
  • Step 609 The client device generates and sends an alarm message, and/or does not cache the collected events to be cached.
  • step 610 the client device uses the cache mechanism of the target browser to cache the collected events to be cached.
  • Example 3 by first determining whether the user specifies the target browser caching mechanism, and then determining the target browser caching mechanism according to the configuration file, the target caching mechanism can be accurately matched on the basis of ensuring the user's needs, and the flexibility is better.
  • example 1, example 2, and example 3 integrate the localStroage caching mechanism, IndexDB caching mechanism, and WebSQL caching mechanism. These three caching mechanisms are all based on the W3C international standards. It is understandable that the embodiment of the present invention does not limit the application to only use these three browser caching mechanisms, and the user can also set the browser caching mechanism supported by the application according to business needs, which is not specifically limited.
  • the client device can directly use the target browser caching mechanism to directly cache the collection events to be cached, or it can first compress the collection events to be cached, and then use the target browser caching mechanism Cache the compressed collection events to be cached.
  • Two possible caching methods are described below by taking compressed collection events to be cached as an example:
  • the client device can directly compress multiple collection events to be cached using a preset compression algorithm to obtain a string cache corresponding to the multiple collection events to be cached, and store the string data in the cache The storage space corresponding to the cache mechanism of the target browser.
  • the preset compression algorithm can be set by those skilled in the art based on experience, and is not specifically limited.
  • the client device can first extract the value of each collection event under each feature from each collection event to be cached, and then for any feature, according to the multiple collection events to be cached in the According to the value under the item feature, the feature vector corresponding to the item feature is generated. In this way, the client device can obtain the string cache corresponding to the multiple collection events to be cached according to the feature vector combination corresponding to each feature.
  • the embodiment of the present invention refers to a string buffer obtained by buffering multiple collection events as a string buffer, and a string buffer obtained by buffering one collection event as a buffer event.
  • Figure 7 is a schematic diagram of the process corresponding to cache mode 1.
  • the client device 121 can send the collection event 1, the collection event 2 and collection event 3 are taken as collection events to be buffered.
  • the extracted key can be used as a template to arrange the key and value.
  • the extracted value is arranged behind the key key, so that the collection event 1, the collection event 2 and the collection event 3 are compressed into a string buffer.
  • the localStorage mechanism can store the compressed string cache in the test database, and then report it to the collection server 110 again after the network is restored.
  • the collection server 110 can decompress the string buffer using a decompression algorithm corresponding to the preset compression algorithm to obtain collection event 1, collection event 2, and collection event 3.
  • acquisition event 1 For example, if the data format of acquisition event 1, acquisition event 2, and acquisition event 3 are:
  • three keys can be extracted from collection event 1, collection event 2 and collection event 3. They are defined_name, defined_value, and deviceId, and the value of these three keys in event 1 is collected. (The value under the feature item) are h5, consumption, 4160c4, the values of the three keys in the collection event 2 are h6, account opening, and 4160c4, and the values of the three keys in the collection event 3 are h7 and statement. , 4160c4, so, using the preset compression algorithm to compress the string buffers obtained from collection event 1, collection event 2, and collection event 3 are:
  • the format of the string buffer is a string data buffer, and this string data buffer contains all the data of the collection event 1, the collection event 2, and the collection event 3.
  • all collected events to be buffered are compressed into a string buffer through a compression process, which can complete the buffering of collected data with fewer operations, and can reduce the space occupied by the buffered collected data. Reduce the number of subsequent retransmissions and improve the retransmission efficiency.
  • the client device can use a preset compression algorithm to compress each collection event to be cached to obtain a string cache corresponding to each collection event to be cached, and can correspond to multiple collection events to be cached
  • the multiple pieces of string data are cached and stored in the storage space corresponding to the cache mechanism of the target browser.
  • the embodiment of the present invention refers to the string buffer corresponding to each collection event to be buffered as a buffer event.
  • Figure 8 is a schematic diagram of the process corresponding to the second buffering method.
  • the client device can first use the pre-setup for any of the collection event 1, the collection event 2, and the collection event 3.
  • the compression algorithm extracts the key and value from the collection event, and then the extracted key can be ranked first in the array, and the extracted value can be placed behind the key as the value, thereby compressing the collection event It is a cached event.
  • the localStorage mechanism can sequentially store the compressed multiple cache events in the test database, and then re-report to the collection server 110 in turn after waiting for the network to recover;
  • the collection server 110 can use the decompression algorithm corresponding to the preset compression algorithm to decompress each cache event to obtain collection event 1, collection event 2, and collection event 3 respectively.
  • the cache events obtained by compressing collection event 1, collection event 2 and collection event 3 using a preset compression algorithm are:
  • the number of compressed collection events can be set by the user.
  • the collection event 1 and the collection event can be set first. 2 Compress into a string buffer, and then compress the collection event 3 into a buffer event 3, or you can compress the collection event 1 into a buffer event 1, and then compress the collection event 2 and the collection event 3 into a string buffer, etc. ,
  • the specific is not limited.
  • the client embodiment of the present invention can delete the queue a 1 , thereby avoiding the queue a 1 from occupying memory space meaninglessly, and reducing the performance loss of the system.
  • Data collection method illustrated based on FIG. 2 when a queue is removed after 1, when client device 121 detects that the user triggers a second predetermined operation, and generates a new acquisition event 4, 5 and capture event capture event 6, the The client device 121 can also first determine whether there is a queue that has been set up for reporting collection events.
  • the client device 121 can create the queue a 2 and use it Queue a 2 stores collection event 4, collection event 5, and collection event 6.
  • the collection event 5 and the collection event 6 in the queue a 2 you can first query whether the cache space corresponding to the cache mechanism of the target browser stores cache events, if so, you can first store the cache events in a 2 stored in the queue, then capture event 4, 5 and capture event capture events stored in the queue 6 a 2.
  • Figure 9 is a schematic diagram of the overall flow of the data retransmission method corresponding to the acquisition event to be buffered using the buffering method one.
  • the buffering method one is used to buffer the acquisition event 1, the acquisition event 2, and the acquisition event 3, a character string is obtained Buffer A, after storing string buffer A, collection event 4, collection event 5, and collection event 6 in queue a 2 , string buffer A can occupy position 0 of queue a 2 , and collection event 4 can occupy queue a 2 1 position, the position capture event queue can occupy 5 2 a 2, 6 can occupy the position capture event queue of a 2 3.
  • the cursor may indicate a starting position in the queue 02, so the first client device 121 may store location 0 buffer A string is placed in the browser request queue, via a browser
  • the device reports to the collection server 110.
  • the client device 121 may indicate a cursor control, a 2 queue are sequentially transmitted in the queue position of a 2 Collect data; accordingly, if the second type of response message sent by the collection server 110 is received, it means that the string buffer A has not been successfully reported to the collection server 110. Therefore, the client device 121 can resend the string buffer A.
  • the client device 121 can first compress the string buffer A, collection event 4, collection event 5, and collection event 6, and then compress the resulting characters
  • the string cache or cache event is stored in the storage space corresponding to the cache mechanism of the target browser, and the queue a 2 can be deleted after the cache is successful.
  • the cache mode is not limited to cache mode one and cache mode two.
  • FIG. 10 is a schematic diagram of the data retransmission method corresponding to the acquisition event to be buffered using the second buffering method.
  • the second buffering method is used to buffer the acquisition event 1
  • the acquisition event 2 and the acquisition event 3 the buffer event 1 is obtained.
  • the cache event 2 and buffering event 3 the cache event 1 can occupy queue a location 02
  • the cache events 2 can occupy positions queue a 2 to 1
  • cache events 3 can occupy positions queue a 2
  • capture event 4 may occupy a queue position 2 of 3
  • 5 capture event can occupy a queue position 2
  • 6 can occupy the position capture event queue a 2 5.
  • the cursor may indicate a starting position in the queue 02, so that the client device 121 may be stored in the first buffer location 0 event 1 is placed in the browser request queue, via a browser Report to the collection server 110.
  • the client device 121 may indicate a cursor control, a 2 are sequentially transmitted in the queue buffer in the queue position of a 2 Event and collected data.
  • the second type of response message sent by the collection server 110 it means that the buffer event 1 has not been successfully reported to the collection server 110. Therefore, the client device 121 can resend the buffer event 1.
  • the client device 121 can compress the cache event 1, the cache event 2, the cache event 3, the collection event 4, the collection event 5, and the collection event 6, and then
  • the cache mechanism of the target browser is used to store the string cache or cached event obtained by the cache in the storage space corresponding to the cache mechanism of the target browser, and the queue a 2 can be deleted after the cache is successful.
  • the cache mode is not limited to cache mode one and cache mode two.
  • the client device 121 may delete the string cache or cache event from the cache space corresponding to the cache mechanism of the target browser, thereby reducing the space occupied by the cache.
  • the delete operation and the report operation can be executed in parallel, or the delete operation can be performed collectively after the report operation is completed. For example, every time a cache event is successfully reported, the cache event can be deleted from the cache space, or it can be waited in the queue. After the reported events are completed, the successfully reported cached events are deleted from the cache space.
  • the specifics are not limited.
  • an embodiment of the present invention also provides a data processing device, and the specific content of the device can be implemented with reference to the foregoing method.
  • FIG. 11 is a data processing device provided by the present invention. As shown in FIG. 11, the device includes:
  • the determining module 1101 is configured to determine the collection events to be buffered; the collection events to be buffered include collection events that are not successfully reported to the collection server among a plurality of collection events, and the plurality of collection events are the detection that the user triggers the browser Is generated when the task corresponding to the first preset operation is executed after the first preset operation, and each collection event is used to record the event of executing each subtask in the task;
  • the caching module 1102 is configured to determine a target browser caching mechanism matching the browser based on a preset mapping relationship between the browser and the browser caching mechanism, and use the target browser caching mechanism to cache the waiting Cached collection events.
  • the determining module 1101 is specifically configured to: obtain a configuration file of the browser, and if the configuration file of the browser contains a window.localStorage object, determine that the localhost caching mechanism is an alternative browser caching mechanism; If the configuration file of the browser contains any one or more of the window.indexedDB object, window.IDBTransaction object, and window.IDBKeyRange object, it is determined that the indexDB caching mechanism is an alternative browser caching mechanism; if said The configuration file of the browser contains the window.openDatabase object, the WebSQL caching mechanism is determined to be an alternative browser caching mechanism, and if there are multiple alternative browser caching mechanisms, select from the multiple alternative browser caching mechanisms The browser cache mechanism with the highest priority is used as the target browser cache mechanism.
  • the determining module 1101 is specifically configured to: obtain the configuration file of the browser, detect whether the configuration file of the browser contains the window.localStorage object, and if so, determine that the local host caching mechanism is the target browser Cache mechanism; if not, detect whether the configuration file of the browser contains any one or more of the system browser database object, window.IDBTransaction object, and window.IDBKeyRange object; if so, determine the indexDB cache mechanism It is the cache mechanism of the target browser. If not, it is detected whether the browser’s configuration file contains the window.openDatabase object. If so, it is determined that the WebSQL cache mechanism is the cache mechanism of the target browser. If not, it is determined that there is no Describes the cache mechanism of the target browser matched by the browser.
  • the determining module 1101 before the determining module 1101 obtains the configuration file of the browser, it is further configured to determine that there is no cache mechanism of the target browser specified by the user.
  • the caching module 1102 is specifically configured to: compress a plurality of collection events to be cached using a preset compression algorithm, obtain a string cache corresponding to the plurality of collection events to be cached, and store the to-be-cached The string data corresponding to the multiple collection events are cached and stored in the storage space corresponding to the cache mechanism of the target browser.
  • the caching module 1102 is specifically configured to: for each collection event to be cached, extract the value of the collection event under each feature from the collection event, and for any feature, Generate a feature vector corresponding to the feature according to the values of the multiple collection events to be cached under the feature, and combine the feature vectors corresponding to each feature to obtain the characters corresponding to the multiple collection events to be cached String cache.
  • the cache module 1102 is specifically configured to: compress any collection event to be cached using a preset compression algorithm, obtain a string cache corresponding to each collection event to be cached, and store the to-be-cached The string data corresponding to each collection event is cached and stored in the storage space corresponding to the cache mechanism of the target browser.
  • the device further includes a processing module 1103.
  • the processing module 1103 is configured to: detect that the user triggers the After the second preset operation on the browser, multiple collection events are generated when the task corresponding to the second preset operation is executed, the first queue is created, and it is determined whether the storage space corresponding to the cache mechanism of the target browser is stored There is a string buffer, if it is, the string buffer is first stored in the first queue, and then the multiple collection events are sequentially stored in the first queue; the multiple collection events are located at all After the character string is buffered, the collected data stored in the first queue is reported to the collection server in sequence.
  • embodiments of the present invention also provide a computing device, including at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program, and when the program is executed by the processing unit , So that the processing unit executes the data processing method described in any of FIGS. 2-10.
  • embodiments of the present invention also provide a computer-readable storage medium that stores a computer program executable by a computing device, and when the program runs on the computing device, the computing device executes The data processing method described in any of Figures 2 to 10.
  • an embodiment of the present invention provides a terminal device. As shown in FIG. 12, it includes at least one processor 1201 and a memory 1202 connected to the at least one processor.
  • the embodiment of the present invention does not limit the processor.
  • the bus can be divided into address bus, data bus, control bus and so on.
  • the memory 1202 stores instructions that can be executed by at least one processor 1201, and the at least one processor 1201 can execute the steps included in the aforementioned data processing method by executing the instructions stored in the memory 1202.
  • the processor 1201 is the control center of the terminal device, which can use various interfaces and lines to connect various parts of the terminal device, and realize data by running or executing instructions stored in the memory 1202 and calling data stored in the memory 1202. deal with.
  • the processor 1201 may include one or more processing units, and the processor 1201 may integrate an application processor and a modem processor.
  • the application processor mainly processes the operating system, user interface, and application programs.
  • the adjustment processor mainly handles issuing instructions. It can be understood that the foregoing modem processor may not be integrated into the processor 1201.
  • the processor 1201 and the memory 1202 may be implemented on the same chip, and in some embodiments, they may also be implemented on separate chips.
  • the processor 1201 may be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application specific integrated circuit (ASIC), a field programmable gate array or other programmable logic devices, discrete gates or transistors Logic devices and discrete hardware components can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention.
  • the general-purpose processor may be a microprocessor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiment of the data processing method may be directly embodied as being executed and completed by a hardware processor, or executed and completed by a combination of hardware and software modules in the processor.
  • the memory 1202 as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules.
  • the memory 1202 may include at least one type of storage medium, for example, may include flash memory, hard disk, multimedia card, card-type memory, random access memory (Random Access Memory, RAM), static random access memory (Static Random Access Memory, SRAM), Programmable Read Only Memory (PROM), Read Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), magnetic memory, disk , CD, etc.
  • the memory 1202 is any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto.
  • the memory 1202 in the embodiment of the present invention may also be a circuit or any other device capable of realizing a storage function for storing program instructions and/or data.
  • an embodiment of the present invention provides a back-end device. As shown in FIG. 13, it includes at least one processor 1301 and a memory 1302 connected to the at least one processor.
  • the embodiment of the present invention does not limit the processing.
  • the bus can be divided into address bus, data bus, control bus and so on.
  • the memory 1302 stores instructions that can be executed by at least one processor 1301, and the at least one processor 1301 can execute the steps included in the aforementioned data processing method by executing the instructions stored in the memory 1302.
  • the processor 1301 is the control center of the back-end equipment.
  • the processor 1301 may include one or more processing units, and the processor 1301 may integrate an application processor and a modem processor, where the application processor mainly processes operating systems, application programs, etc., and the modem processor Mainly analyze the received instructions and analyze the received results. It can be understood that the foregoing modem processor may not be integrated into the processor 1301. In some embodiments, the processor 1301 and the memory 1302 may be implemented on the same chip, and in some embodiments, they may also be implemented on separate chips.
  • the processor 1301 may be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application specific integrated circuit (ASIC), a field programmable gate array or other programmable logic devices, discrete gates or transistors Logic devices and discrete hardware components can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention.
  • the general-purpose processor may be a microprocessor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiment of the data processing method may be directly embodied as being executed and completed by a hardware processor, or executed and completed by a combination of hardware and software modules in the processor.
  • the memory 1302 as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules.
  • the memory 1302 may include at least one type of storage medium, for example, may include flash memory, hard disk, multimedia card, card-type memory, random access memory (Random Access Memory, RAM), static random access memory (Static Random Access Memory, SRAM), Programmable Read Only Memory (PROM), Read Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), magnetic memory, disk , CD, etc.
  • the memory 1302 is any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto.
  • the memory 1302 in the embodiment of the present invention may also be a circuit or any other device capable of realizing a storage function for storing program instructions and/or data.
  • the embodiments of the present invention can be provided as methods or computer program products. Therefore, the present invention may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
  • a computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种数据处理方法及装置,其中方法包括:确定待缓存的采集事件后,确定与浏览器匹配的目标浏览器缓存机制,并使用目标浏览器缓存机制缓存待缓存的采集事件。该方法支持多种浏览器缓存机制,在获取待缓存的采集事件后,通过确定与浏览器匹配的目标缓存机制,并使用匹配的目标缓存机制来缓存待缓存的采集事件,可以保证待缓存的采集事件缓存的准确性,从而可以解决现有技术由于仅设置默认的一种浏览器缓存机制而导致的缓存的采集事件乱码或无法缓存采集事件的问题,提高采集事件缓存的准确性。

Description

一种数据处理方法及装置
相关申请的交叉引用
本申请要求在2019年10月28日提交中国专利局、申请号为201911031641.2、申请名称为“一种数据处理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种数据处理方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,然而,由于金融行业的安全性、实时性要求,金融科技也对技术提出了更高的要求。现阶段,金融科技领域通常设置有多种应用程序,用户可以在这些应用程序上申请金融业务,例如支付业务、贷款业务或保险业务。一般来说,当用户在应用程序上触发埋点事件时,应用程序会基于埋点事件生成采集事件,并将采集事件上报给采集服务器。然而,当发生网络故障或设备损坏等情况时,采集事件可能无法被顺利上报给采集服务器,这种情况下,为了提高采集事件的采集成功率,应用程序还可以先缓存采集事件至某一位置,再在故障修复后,重新上报缓存的采集事件。
现阶段,金融科技领域中的应用程序大多属于内嵌浏览器的应用程序,这种应用程序基于浏览器缓存技术来缓存未能成功上报的采集事件。然而,现有的浏览器缓存技术实际上是作为终端设备附属的软件配置项而存在,一般是在终端设备出厂时根据浏览器的版本固定设置好的,一个终端设备仅能使用默认设置给该终端设备的专用浏览器缓存机制。现有的浏览器缓存技术实际上无法适用于具有不同版本的浏览器的终端设备。当采用该种浏览器缓存技术缓存采集事件时,如果浏览器缓存技术与应用程序中内嵌浏览器的版本不匹配,则强行使用不匹配的浏览器缓存技术缓存采集事件,可能会使应用程序缓存到乱码的采集事件,甚至无法缓存到采集事件缓存。
综上,目前亟需一种数据处理方法,用以解决现有的浏览器缓存技术仅能支持专用的浏览器版本而导致应用程序缓存的采集事件乱码或无法缓存采集事件的技术问题。
发明内容
本发明提供一种数据处理方法,用以解决现有的浏览器缓存技术仅能支持专用的浏览器版本而导致应用程序缓存的采集事件乱码或无法缓存采集事件的技术问题。
第一方面,本发明提供一种数据处理方法,该方法适用于数据处理装置,该包括:数据处理装置先确定待缓存的采集事件,然后基于预设的浏览器与浏览器缓存机制之间的映射关系,确定出与浏览器匹配的目标浏览器缓存机制,并使用该目标浏览器缓存机制缓存待缓存的采集事件。其中,待缓存的采集事件可以包括多个采集事件中未成功上报给采集服务器的采集事件,多个采集事件为检测到用户触发浏览器上的第一预设操作后,在执行该第一预设操作对应的任务时生成的,每个采集事件用于记录执行该任务中的每个子任务的事件。该方案中的数据处理装置能够同时支持多种浏览器缓存机制,如此,当获取到待 缓存的采集事件后,数据处理装置可以使用与浏览器匹配的目标缓存机制来缓存待缓存的采集事件,以保证待缓存的采集事件缓存的准确性,这种方式有助于解决现有技术由于仅设置默认的一种浏览器缓存机制而导致的缓存的采集事件乱码或无法缓存采集事件的问题,提高所缓存的采集事件的准确性。
在一种可能的设计中,数据处理装置确定与浏览器匹配的目标浏览器缓存机制,包括:数据处理装置获取浏览器的配置文件,若浏览器的配置文件中包含window.localStorage对象,则确定localhost缓存机制为备选浏览器缓存机制,若浏览器的配置文件中包含window.indexedDB对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一项或任意多项,则确定indexDB缓存机制为备选浏览器缓存机制,若浏览器的配置文件中包含window.openDatabase对象,则确定WebSQL缓存机制为备选浏览器缓存机制;若存在多个备选浏览器缓存机制,则从多个备选浏览器缓存机制中选择优先级最大的浏览器缓存机制作为目标浏览器缓存机制。上述设计预先设置多个浏览器缓存机制的优先级,当存在多个备选浏览器缓存机制时,通过使用优先级最高的浏览器缓存机制执行缓存操作,能够提高缓存的效率。且,这种方式中的多个浏览器缓存机制的优先级可以根据设计需要进行设置,从而可以更加满足用户的需要。
在一种可能的设计中,数据处理装置确定与浏览器匹配的目标浏览器缓存机制,包括:数据处理装置获取浏览器的配置文件,并检测浏览器的配置文件中是否包含window.localStorage对象,若存在,则确定本地主机缓存机制为目标浏览器缓存机制。若不存在,则检测浏览器的配置文件中是否包含系统浏览器数据库对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一项或任意多项,若包含,则确定indexDB缓存机制为目标浏览器缓存机制,若不包含,则再检测浏览器的配置文件中是否包含window.openDatabase对象,若包含,则确定WebSQL缓存机制为目标浏览器缓存机制,若不包含,则确定不存在与浏览器匹配的目标浏览器缓存机制。一方面,这种方式通过查询配置文件来确定浏览器支持的缓存机制,可以准确匹配到合适的目标缓存机制。另一方面,这种方式通过在配置文件中检测浏览器对象的顺序,可以在检测到某一浏览器缓存机制对应的对象时直接将该浏览器缓存机制确定为目标浏览器缓存机制,而无需再执行检测其它浏览器缓存机制的对象的操作,从而操作较为简单,效率较高,且灵活性强。
在一种可能的设计中,数据处理装置获取浏览器的配置文件之前,还可以先确定不存在用户指定的目标浏览器缓存机制。如此,这种方式支持用户来指定浏览器缓存机制,从而能够更加满足用户的实际需要,符合实际场景,提高用户的体验。且,先匹配用户指定的缓存机制再配置配置文件来确定缓存机制,能在保证用户需求的基础上准确匹配到目标缓存机制,灵活性较好。
在一种可能的设计中,数据处理装置使用目标浏览器缓存机制缓存采集事件,包括:数据处理装置使用预设压缩算法压缩待缓存的多条采集事件,得到待缓存的多条采集事件对应的字符串缓存,并将待缓存的多条采集事件对应的字符串数据缓存存储至目标浏览器缓存机制对应的存储空间。如此,这种方式通过一次压缩过程即可将所有待缓存的采集事件压缩成一个字符串缓存,从而能以较少的操作次数完成待缓存的采集数据的缓存工作,减少所缓存的采集数据占用的空间,降低后续重发的次数,提高重发效率。
在一种可能的设计中,数据处理装置使用预设压缩算法压缩待缓存的多条采集事件,得到待缓存的多条采集事件对应的字符串缓存,包括:针对于待缓存的每条采集事件,数 据处理装置先从采集事件中提取得到采集事件在各项特征下的值,再根据待缓存的多条采集事件在每个特征下的值,生成该特征对应的特征向量,最后根据各项特征对应的特征向量,组合得到待缓存的多条采集事件对应的字符串缓存。如此,这种方式支持以键值对的形式(即字符串缓存)保存待缓存的多个采集事件,字符串缓存相比于待缓存的多个采集事件来说可以占用较少的数据量,压缩效果较好。
在一种可能的设计中,数据处理装置使用目标浏览器缓存机制缓存采集事件,包括:针对于任一项特征,使用预设压缩算法压缩待缓存的任一采集事件,得到待缓存的每个采集事件对应的字符串缓存,并将待缓存的每个采集事件对应的字符串数据缓存存储至目标浏览器缓存机制对应的存储空间。如此,通过分别压缩每条采集事件,可以灵活地控制每条采集事件的重发过程,避免一次上报较多的采集数据而影响浏览器的正常工作。
在一种可能的设计中,数据处理装置使用目标浏览器缓存机制缓存待缓存的采集事件之后,若检测到用户触发浏览器上的第二预设操作,则在执行第二预设操作对应的任务时生成多条采集事件,创建第一队列,确定目标浏览器缓存机制对应的存储空间中是否存储有字符串缓存,若是,则先将字符串缓存存储在第一队列中,再将多条采集事件依次存储在第一队列中,这种情况下,多条采集事件位于字符串缓存之后。若否,则将多条采集事件依次存储在第一队列中。如此,在重发采集数据时,数据处理装置可以依次将第一队列中存储的采集数据上报给采集服务器。在上述设计中,通过缓存采集事件,并在下次上报过程中先上报缓存的采集事件再上报新的采集事件,可以尽量保证采集服务器不遗漏采集事件,提高采集事件上报的成功率,从而提高采集服务器接收采集事件的准确性。
第二方面,本发明提供一种数据处理装置,该装置包括:
确定模块,用于确定待缓存的采集事件。其中,待缓存的采集事件可以包括多个采集事件中未成功上报给采集服务器的采集事件,多个采集事件为检测到用户触发浏览器上的第一预设操作后,在执行第一预设操作对应的任务时生成的,每个采集事件用于记录执行任务中的每个子任务的事件。
缓存模块,用于基于预设的浏览器与浏览器缓存机制之间的映射关系,确定与浏览器匹配的目标浏览器缓存机制,并使用目标浏览器缓存机制缓存待缓存的采集事件。
在一种可能的设计中,确定模块具体用于:获取浏览器的配置文件,若浏览器的配置文件中包含window.localStorage对象,则确定localhost缓存机制为备选浏览器缓存机制;若浏览器的配置文件中包含window.indexedDB对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一项或任意多项,则确定indexDB缓存机制为备选浏览器缓存机制;若浏览器的配置文件中包含window.openDatabase对象,则确定WebSQL缓存机制为备选浏览器缓存机制;若存在多个备选浏览器缓存机制,则从多个备选浏览器缓存机制中选择优先级最大的浏览器缓存机制作为目标浏览器缓存机制。
在一种可能的设计中,确定模块具体用于:获取浏览器的配置文件后,检测浏览器的配置文件中是否包含window.localStorage对象,若是,则确定本地主机缓存机制为目标浏览器缓存机制;若否,则检测浏览器的配置文件中是否包含系统浏览器数据库对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一项或任意多项,若是,则确定indexDB缓存机制为目标浏览器缓存机制,若否,则检测浏览器的配置文件中是否包含window.openDatabase对象,若是,则确定WebSQL缓存机制为目标浏览器缓存机制,若否,则确定不存在与浏览器匹配的目标浏览器缓存机制。
在一种可能的设计中,确定模块获取浏览器的配置文件之前,还用于:确定不存在用户指定的目标浏览器缓存机制。
在一种可能的设计中,缓存模块具体用于:使用预设压缩算法压缩待缓存的多条采集事件,得到待缓存的多条采集事件对应的字符串缓存,并将待缓存的多条采集事件对应的字符串数据缓存存储至目标浏览器缓存机制对应的存储空间。
在一种可能的设计中,缓存模块具体用于:针对于待缓存的每条采集事件,从采集事件中提取得到采集事件在各项特征下的值;针对于任一项特征,根据待缓存的多条采集事件在特征下的值,生成特征对应的特征向量,如此,根据各项特征对应的特征向量,组合得到待缓存的多条采集事件对应的字符串缓存。
在一种可能的设计中,缓存模块具体用于:使用预设压缩算法压缩待缓存的任一采集事件,得到待缓存的每个采集事件对应的字符串缓存,并将待缓存的每个采集事件对应的字符串数据缓存存储至目标浏览器缓存机制对应的存储空间。
在一种可能的设计中,装置还包括处理模块,缓存模块使用目标浏览器缓存机制缓存待缓存的采集事件之后,处理模块用于:检测到用户触发浏览器上的第二预设操作后,在执行第二预设操作对应的任务时生成多条采集事件;创建第一队列,确定目标浏览器缓存机制对应的存储空间中是否存储有字符串缓存,若是,则先将字符串缓存存储在第一队列中,再将多条采集事件依次存储在第一队列中;多条采集事件位于字符串缓存之后;若否,则将多条采集事件依次存储在第一队列中;依次将第一队列中存储的采集数据上报给采集服务器。
第三方面,本发明提供一种计算设备,包括至少一个处理单元以及至少一个存储单元,其中,存储单元存储有计算机程序,当程序被处理单元执行时,使得处理单元执行上述第一方面任意的数据处理方法。
第四方面,本发明提供一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当程序在计算设备上运行时,使得计算设备执行上述第一方面任意的数据处理方法。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种可能的系统架构示意图;
图2为本发明实施例提供的一种数据采集方法对应的整体流程图;
图3为本发明实施例提供的一种数据缓存方法对应的流程示意图;
图4为本发明实施例提供的一种基于游标上报采集事件的方法示意图;
图5为本发明实施例提供的一种基于先进先出的队列算法上报采集数据的方法示意图;
图6为本发明实施例提供的一种确定目标浏览器缓存机制的方法示意图;
图7为本发明实施例提供的一种缓存方法的整体流程示意图;
图8为本发明实施例提供的另一种缓存方法的整体流程示意图;
图9为本发明实施例提供的一种数据重发方法的整体流程示意图;
图10为本发明实施例提供的另一种数据重发方法的整体流程示意图;
图11为本发明实施例提供的一种数据处理装置的结构示意图;
图12本发明实施例提供的一种终端设备的结构示意图;
图13本发明实施例提供的一种后端设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种可能的系统架构示意图,如图1所示,该系统架构可以包括采集服务器(110)和客户端设备(例如客户端设备121、客户端设备122和客户端设备123)。应理解,本发明对采集服务器的数量和客户端的数量不作具体限定,例如一个采集服务器可以仅与一个客户端设备连接,也可以同时与多个客户端设备连接。实现连接的方式不限于有线或无线。本发明实施例中,客户端设备可以是指提供应用程序的服务器,应用程序为内嵌浏览器的应用程序。至少一个客户端设备可以分别设置在至少一个业务系统中,比如客户端设备121为贷款业务系统中设置的客户端设备,客户端设备122为保险业务系统中设置的客户端设备,客户端设备123为理财业务系统中设置的客户端设备。当用户终端上安装有客户端设备提供的应用程序时,客户端设备可以检测到用户在应用程序的浏览器上所触发的操作,并可以向用户提供相应的服务。
基于图1所示意的系统架构,图2为本发明实施例提供的一种数据采集方法对应的整体流程示意图,该方法包括:
当用户在客户端设备121提供的应用程序的浏览器上触发第一预设操作后,若执行第一预设操作对应的业务时触发了埋点事件1、埋点事件2和埋点事件3,则客户端设备121可以依次生成埋点事件1对应的采集事件1、埋点事件2对应的采集事件2,以及埋点事件3对应的采集事件3。示例来说,当客户端设备121提供微粒贷应用程序时,若用户打开微粒贷应用程序的微粒贷产品页面,并在该页面上触发“一键借款”的按钮,则客户端设备121可以依次从多个第三方平台查询用户的相关信息,以确定是否可以向用户提供贷款。比如,客户端设备121可以先从个人信息维护平台中查询用户的个人信息,当个人信息查询通过后,可以再从开户信息维护平台查询用户的开户信息,当开户信息查询通过后,可以再从贷款信息维护平台中查询用户的贷款资格,若个人信息、开户信息和贷款资格均查询通过,则客户端设备121可以向用户提供借款,若个人信息、开户信息和贷款资格中存在任意一个查询不通过,则客户端设备121可以拒绝用户的借款申请。在该过程中,执行“一键贷款”对应的贷款业务时,客户端设备会分别执行查询用户的个人信息、查询用户的开户信息以及查询用户的贷款资格这三个子任务。这种情况下,若客户端设备121预先在微粒贷应用程序上设置了埋点事件1、埋点事件2和埋点事件3,埋点事件1指示客户端设备121(或用户)执行查询个人信息维护平台中的个人信息的子任务,埋点事件2指示客户端设备121(或用户)执行查询开户信息维护平台中的开户信息的子任务,埋点事件3指示客户端设备121(或用户)执行查询贷款信息维护平台中的贷款资格的子任务,则在用户触发了“一键借款” 的按钮后,埋点事件1、埋点事件2和埋点事件3依次被触发,因此客户端设备121可以依次生成埋点事件1对应的采集事件1、埋点事件2对应的采集事件2,以及埋点事件3对应的采集事件3。需要说明的是,本发明实施例中,查询用户的个人信息、查询用户的开户信息以及查询用户的贷款资格这三个子任务的执行间隔非常短,可能只有几毫秒,因此客户端设备121在执行贷款业务的过程中,相当于并行地生成采集事件1、采集事件2和采集事件3。
继续参照图2所示,若客户端设备121中已设置了用于上报采集数据的队列a 1,则客户端设备121可以将采集事件1、采集事件2和采集事件3从队列a 1的队尾依次插入到队列a 1中,假设队列a 1中存储的采集事件已占用了队列a 1的位置0~位置i-1,则采集事件1可以占用队列a 1的位置i、采集事件2可以占用队列a 1的位置i+1,采集事件3可以占用队列a 1的位置i+2。其中,i可以为大于或等于0的整数。当任一条采集事件存储在队列a 1后,客户端设备121还可以为该条采集事件分配一个唯一标识,采集事件的唯一标识可以由本领域技术人员根据经验进行设置,例如在一个示例中可以设置为时间戳与随机数的组合形式,且长度为16位。
需要说明的是,本发明实施例中,每个采集事件的内容可以包括但不限于:应用程序的标识、用户的标识、采集事件的标识、设备的信息、用户的信息以及业务的信息。其中,设备的信息可以包括设备型号、品牌、系统版本、浏览器版本、处理器的类型、中央处理器(central processing unit,CPU)的核数等,用户的信息可以包括用户的客户号或者用户在业务中的唯一标识ID,或者还可以包括用户的姓名、性别、手机号码、常住地等,业务的信息可以是指埋点事件的类型、业务的流水号等,具体不作限定。
继续参照图2所示,本发明实施例中,客户端设备121中设置有埋点事件,当检测到埋点事件被触发时,客户端设备121可以根据触发埋点事件的信息生成采集事件(比如采集事件k),然后将采集事件k放置在队列中,队列用于存储待上报的采集事件。如此,客户端设备121可以将队列中的采集事件k上报给采集服务器110,上报的方式可以有多种,比如可以按照采集事件在队列中的顺序依次进行上报,当确定采集事件k的前一条采集事件上报成功后,再上报采集事件k,或者也可以按照预设周期进行上报,比如若预设周期为2分钟,则客户端设备121可以每2分钟从队列a 1中获取一条未上报的采集事件,并上报给采集服务器110。示例性地,在上报采集事件k之前,客户端设备121还可以先查询上报进程中是否存在正在上报的采集事件,若不存在,则可以直接将采集事件k上报给采集服务器110,若存在,则可以先等待正在上报的采集事件(比如采集事件h)上报完成(即接收到采集服务器发送的响应消息)。当采集事件h上报完成后,若确定采集事件h上报成功,则可以将采集事件k上报给采集服务器110;若确定采集事件h上报失败,则可以查询采集事件h已上报给采集服务器110的次数,若已上报的次数大于或等于预设次数,说明当前网络故障,因此可以从队列a 1中将采集事件h以及其它未上报的采集事件全部缓存起来,若已上报的次数小于预设次数,则可以重新上报采集事件h,并在上报完成后确定采集事件h是否上报成功,重复执行上述步骤。
继续参照图2所示,当队列a 1中未上报的采集事件被缓存后,或者队列a 1中的采集事件全部被上报成功,则客户端设备121可以将队列a 1删除。如此,当用户触发第二预设操作后,若在执行第二预设操作对应的业务时触发埋点事件4、埋点事件5和埋点事件6,则客户端设备121可以依次生成埋点事件4对应的采集事件4、埋点事件5对应的采集事件5,以及埋点事件6对应的采集事件6。此时,由于队列a 1被删除,因此客户端设备中不再设置有用于上报采集事件的队列,因此,客户端设备121可以重新创建一个队列a 2,并将采集事件4、 采集事件5和采集事件6存储在队列a 2中。可以理解的是,客户端设备121在将采集事件4、采集事件5和采集事件6存储在队列a 2之前,还可以先查询确定是否存在已缓存的采集事件,若存在已缓存的采集事件,则可以先将已缓存的采集事件从队列a 2的队尾插入队列a 2中,然后将采集事件4、采集事件5和采集事件6从队列a 2的队尾插入队列a 2中,最后基于队列a 2执行上报过程。如此,客户端设备121可以先将上次未上报的采集事件上报给采集服务器110,然后在将本次新生成的采集事件上报给采集服务器110,从而提高采集事件采集的成功率。
应理解,图2仅是一种示例性的简单说明,其所列举的数据采集方法仅是为了便于说明方案,并不构成对方案的限定,在具体实施中,采集数据的存储方式、待缓存的采集数据等均可以有本领域技术人员根据经验进行设置,或者也可以根据业务需要进行设置,具体不作限定。
基于图2所示意的数据采集方法,图3为本发明实施例提供的一种数据缓存方法对应的流程示意图,该方法适用于客户端设备,例如图1所示意的客户端设备121、客户端设备122或客户端设备123。下面以客户端121执行该数据缓存方法为例进行介绍。如图3所示,该方法包括:
步骤301,客户端设备确定待缓存的采集事件。
在一种可选地实施方式中,待缓存的采集事件可以根据预设规则确定,预设规则可以由本领域技术人员根据经验进行设置,或者也可以由用户指定,或者还可以根据业务需要进行设置,不作限定。例如,在一种可能的情形中,预设规则可以是指网络流量小于预设流量,在该情形下,客户端设备121可以实时监控网络流量的变化情况,若某一时刻的网络流量小于预设流量,则说明当前网络故障,因此客户端设备121可以将该时刻时队列a 1中未上报的全部采集事件作为待缓存的采集事件。又例如,在另一种可能的情形中,预设规则可以是指采集事件的上报次数大于预设次数,在该情形下,假设预设次数为3,且客户端设备121按照采集事件在队列a 1中的顺序依次上报采集事件,则针对于队列a 1中的任一条采集事件,若在预设次数的上报过程中该条采集事件均未成功上报给采集服务器110,则客户端设备121可以将队列a 1中该采集事件以及其它未上报的采集事件作为待缓存的采集事件。
本发明实施例中,客户端设备从队列a 1中确定未上报的采集事件的方式可以有多种,下面主要介绍两种可能的实现方式,可以理解的,确定未上报的采集事件的方式也可以由用户根据业务需要进行设置,本发明实施例对此不作限定:
实现方式一
在实现方式一中,客户端设备121可以预先设置游标,游标用于指示待上报的采集事件在队列a 1中的位置。
图4为本发明实施例提供的一种基于游标上报采集事件的方法示意图,如图4所示,客户端设备121中已设置有用于上报采集事件的队列a 1,队列a 1包含队头和队尾,采集事件可以从队列a 1的队尾依次插入队列a 1,队列a 1中依次存储有采集事件1、采集事件2和采集事件3,采集事件1占用队列a 1的初始位置0,采集事件2占用队列a 1的位置1,采集事件3占用队列a 1的位置2。具体实施中,游标在初始状态时可以指示队列a 1的初始位置,即位置0,因此,客户端设备121在初次上报采集事件时,可以先获取游标指示的位置0存储的采集事件1,然后可以将采集事件1放置在浏览器请求队列中,经由浏览器将采集事件1上报给采集服务器110。若客户端设备121接收到采集服务器110发送的第一类型响应消息(用于指示成 功接收到采集事件),说明采集事件1成功上报给采集服务器110,因此客户端设备121可以控制游标从队列a 1的队头方向向队尾方向后移一位,使得游标指示在队列a 1的位置1,如此,在下次上报采集事件时,客户端设备121可以将游标指示的位置1存储的采集事件2上报给采集服务器110。进一步地,在上报采集事件2时,若客户端设备121接收到采集服务器110发送的第二类型响应消息(用于指示设定时长内未接收到采集事件或接收到非法格式的采集事件),说明采集事件2未能成功上报给采集服务器110,因此客户端设备121可以重复上报采集事件2,若重复上报预设次数(比如3次)均接收到采集服务器110发送的第二类型响应消息,则说明采集事件2在3次重复上报中均未成功上报给采集服务器110,当前网络故障,因此队列a 1中游标指示的位置1至队列a 1末端的位置2之间的采集事件(即采集事件2和采集事件3)为未上报给采集服务器110的采集事件,即客户端设备121可以将采集事件2和采集事件3作为待缓存的采集事件。
在实现方式一中,通过使用游标记录待上报的采集事件在队列中的位置,能不改变采集事件在队列中的位置,从而客户端设备无需频繁地移动采集事件即可将新的采集事件添加在队列中,有助于降低系统性能损耗。且,游标还能用于方便地获取到下一次待上报的采集事件所在的位置,以提高数据采集的灵活性。
实现方式二
在实现方式二中,客户端设备121可以采用先进先出的队列算法上报采集数据,及:客户端设备121每成功上报一条采集事件,即将该条采集事件从队列a 1中删除,并将其它采集事件依次前移,从而保持队列a 1中的元素持续更新。
图5为本发明实施例提供的一种基于先进先出的队列算法上报采集数据的实现方法示意图,如图5所示,队列a 1中依次存储有采集事件1、采集事件2和采集事件3,采集事件1占用队列a 1的初始位置0,采集事件2占用队列a 1的位置1,采集事件3占用队列a 1的位置2。具体实施中,客户端设备121可以先获取队列a 1的位置0存储的采集事件1,然后可以将采集事件1放置在浏览器请求队列中,经由浏览器将采集事件1上报给采集服务器110。若客户端设备121接收到采集服务器110发送的第一类型响应消息,说明采集事件1成功上报给采集服务器110,因此客户端设备121可以控制将采集事件1从队列a 1的队头方向移出队列a 1(或者直接删除采集事件1),并依次控制采集事件2和采集事件3前移一个位置,从而使得采集事件2占用队列a 1的位置0,采集事件3占用队列a 1的位置1。如此,客户端设备121在每次上报的采集事件均为位于队列a 1的初始位置的采集事件。进一步地,在上报采集事件2时,若客户端设备121接收到采集服务器110发送的第二类型响应消息,说明采集事件2未能成功上报给采集服务器110,因此客户端设备121可以重复预设次数(不如3次)上报采集事件2,若重复上报3次均接收到采集服务器110发送的第二类型响应消息,则说明采集事件2在3次重复上报中均未成功上报给采集服务器110,当前网络故障,因此客户端设备121可以将队列a 1中未上报给采集服务器110的采集事件作为待缓存的采集事件。具体地说,由于采集事件被成功上报给采集服务器110后即将采集事件从队列a 1中删除,因此队列a 1中存储的采集事件均为未上报给采集服务器110的采集事件,也就是说,在确定网络故障时,客户端设备121可以将队列a 1中存储的全部采集事件缓存在队列a 1
在实现方式二中,通过实时从队列中删除已上报的采集事件,可以降低队列所占用的存储空间,从而在采集事件增多时也无需为队列重新扩展存储空间,有助于提高队列的可用性以及存储空间的使用率。
根据上述内容可知,当某一采集事件由于网络故障等原因而无法被上报给采集服务器时,若使用实现方式一确定待缓存的采集事件,则可以将队列a 1中游标指示的位置至队列a 1的末端位置之间的采集事件作为待缓存的采集事件,若使用实现方式二确定待缓存的采集事件,则可以将队列a 1中存储的所有采集事件作为待缓存的采集事件。
步骤302,客户端设备基于预设的浏览器与浏览器缓存机制之间的映射关系,确定与浏览器匹配的目标浏览器缓存机制,并使用目标浏览器缓存机制缓存采集事件。
本发明实施例中,确定目标浏览器缓存机制的方式可以有多种,下面分别以示例一、示例二和示例三为例描述三种确定目标浏览器缓存机制的可能方式。
示例一:通过暴露配置的方式,让用户指定目标浏览器缓存机制。
在示例一中,客户端设备121可以预先编写设置目标浏览器缓存机制的函数,比如waLog.using(protocol,database)函数,如此,当用户引入数据缓存方法对应的脚本文件时,可以通过前端或后端直接将waLog.using(protocol,database)函数暴露给用户。其中,该函数支持用户输入第一参数protocol和第二参数database,第一参数protocol用于提示用户指定目标浏览器缓存机制,可选值包括但不限于localStorage、indexedDB和webSQL中的任意一种;第二参数database用于提示用于指定目标浏览器缓存机制所缓存的采集事件存储的位置。举例来说,若用户调用该函数,并设置第一参数protocol为localStorage,设置第二参数database为test,则该函数变为:waLog.using(localStorage,test)。这说明用户指定使用localStorage缓存机制作为目标浏览器缓存机制,并且设置localStorage缓存机制所缓存的采集事件存储在命名为‘test’的数据库中。在示例一中,确定待缓存的采集事件后,可以通过调用脚本文件中的waLog.using(protocol,database)函数确定用户是否指定了浏览器缓存机制,若是,则可以直接将用户指定的浏览器缓存机制作为目标浏览器缓存机制,若否,则可以向用户发送目标浏览器缓存机制不存在的响应消息。采用该种实现方式,通过用户来指定浏览器缓存机制,可以满足用户的实际需要,从而更加满足实际场景,用户的体验较好。
示例二:通过浏览器的支持情况,自动选择与浏览器匹配的目标浏览器缓存机制。
在示例二的一种可能的实现方式中,在确定待缓存的采集事件后,客户端设备121可以先从应用程序中获取浏览器的配置文件,并从浏览器的配置文件中确定是否存在多个浏览器缓存机制对应的对象,若浏览器的配置文件中存在window.localStorage对象,则将localhost缓存机制确定为一个备选浏览器缓存机制,若浏览器的配置文件中存在window.indexedDB对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一项或任意多项,则将indexDB缓存机制作为一个备选浏览器缓存机制,若浏览器的配置文件中存在window.openDatabase对象,则将WebSQL缓存机制作为一个备选浏览器缓存机制。如此,若备选浏览器缓存对象的数量存在多个,则可以将多个备选浏览器缓存对象中优先级最高的备选浏览器缓存对象确定为目标浏览器缓存对象。在该种实现方式中,通过预先设置多个浏览器缓存机制的优先级,当存在多个备选浏览器缓存机制时,可以使用优先级最高的浏览器缓存机制执行缓存操作,从而可以提高缓存的效率;且,多个浏览器缓存机制的优先级可以根据需要进行设置,从而可以更加满足用户的需要。
在示例二的另一种可能的实现方式中,在确定待缓存的采集事件后,客户端设备121也可以先从应用程序中获取浏览器的配置文件,然后检测浏览器的配置文件中是否包含window.localStorage对象,若是,则可以将本地主机缓存机制确定为目标浏览器缓存机制, 若否,则可以检测浏览器的配置文件中是否包含系统浏览器数据库对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一项或任意多项,若是,则可以将indexDB缓存机制作为目标浏览器缓存机制,若否,则可以检测浏览器的配置文件中是否包含window.openDatabase对象,若是,则可以将WebSQL缓存机制为目标浏览器缓存机制,若否,则可以确定不存在与所述浏览器匹配的目标浏览器缓存机制。在该种实现方式中,通过查询配置文件来确定浏览器支持的缓存机制,可以准确匹配到合适的目标缓存机制;且,通过设置从配置文件中检测浏览器对象的顺序,可以在检测到某一浏览器缓存机制对应的对象时,直接将该浏览器缓存机制确定为目标浏览器缓存机制,而无需再执行检测其它浏览器缓存机制的对象的操作,从而操作较为简单,效率较高,灵活性强。
示例三:结合实现示例一和示例二。
在示例三中,客户端设备121可以先根据示例一中的方案确定是否存在用户指定的浏览器缓存机制,若存在,则将用户指定的浏览器缓存机制作为目标缓存机制,若不存在,则再根据示例二中的方案自动确定与浏览器匹配的目标缓存机制。
基于示例三,图6为本发明实施例提供的一种确定目标浏览器缓存机制的方法的流程示意图,该方法可以适用于客户端设备,例如图1中的客户端设备121、客户端设备122或客户端设备123。该方法包括:
步骤601,客户端设备判断是否存在用户指定的浏览器缓存机制,若是,则执行步骤602,若否,则执行步骤603。
在一种可选地实施方式中,判断方法可以为:客户端设备先调用waLog.using(protocol,database)函数,确定该函数的第一参数protocol是否被赋值,若是,则确定存在用户指定的浏览器缓存机制,若否,则确定不存在用户指定的浏览器缓存机制。
步骤602,客户端设备将用户指定的浏览器缓存机制作为目标浏览器缓存机制,执行步骤610。
具体实施中,用户可以对第一参数protocol赋值localStorage、indexedDB或webSQL,从而指定localStorage缓存机制、indexedDB缓存机制和webSQL缓存机制中的任意一种缓存机制。如此,若用户指定的浏览器缓存机制为localhost缓存机制,则可以将localhost缓存机制作为目标浏览器缓存机制,若用户指定的浏览器缓存机制为indexedDB缓存机制,则可以将indexedDB缓存机制作为目标浏览器缓存机制,若用户指定的浏览器缓存机制为webSQL缓存机制,则可以将webSQL缓存机制作为目标浏览器缓存机制。
步骤603,客户端设备判断浏览器的配置文件中是否包含window.localStorage对象,若是,则执行步骤604,若否,则执行步骤605。
步骤604,客户端设备将localhost缓存机制作为目标浏览器缓存机制,执行步骤610。
步骤605,客户端设备判断浏览器的配置文件中是否包含window.indexedDB对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一种或任意多种,若是,则执行步骤606,若否,则执行步骤607。
步骤606,客户端设备将indexDB缓存机制作为目标浏览器缓存机制,执行步骤610。
步骤607,客户端设备判断浏览器的配置文件中是否包含window.openDatabase对象,若是,则执行步骤608,若否,则执行步骤609。
步骤608,客户端设备将WebSQL缓存机制作为目标浏览器缓存机制,执行步骤610。
步骤609,客户端设备生成并发送告警消息,和/或,不缓存待缓存的采集事件。
步骤610,客户端设备使用目标浏览器缓存机制缓存待缓存的采集事件。
在示例三中,通过先确定用户是否指定目标浏览器缓存机制,再根据配置文件确定目标浏览器缓存机制的方式,可以在保证用户需求的基础上准确匹配到目标缓存机制,灵活性较好。
需要说明的是,上述示例一、示例二和示例三整合了localStroage缓存机制、IndexDB缓存机制和WebSQL缓存机制,这三种缓存机制都是基于W3C国际标准实现的缓存机制。可以理解的,本发明实施例不限定应用程序仅使用这三种浏览器缓存机制,用户也可以根据业务需要自行设置应用程序支持的浏览器缓存机制,具体不作限定。
本发明实施例中,在确定目标缓存机制后,客户端设备可以直接使用目标浏览器缓存机制直接缓存待缓存的采集事件,也可以先对待缓存的采集事件进行压缩,再使用目标浏览器缓存机制缓存压缩后的待缓存的采集事件。下面以压缩待缓存的采集事件为例介绍两种可能的缓存方式:
缓存方式一
在缓存方式一中,客户端设备可以使用预设压缩算法直接压缩待缓存的多条采集事件,得到多条待缓存的采集事件对应的一个字符串缓存,并可以将该字符串数据缓存存储至目标浏览器缓存机制对应的存储空间。其中,预设压缩算法可以由本领域技术人员根据经验进行设置,具体不作限定。具体实施中,客户端设备可以先从待缓存的每条采集事件中提取得到每条采集事件在各项特征下的值,然后针对于任一项特征,根据待缓存的多条采集事件在该项特征下的值,生成该项特征对应的特征向量,如此,客户端设备可以根据各项特征对应的特征向量组合得到待缓存的多条采集事件对应的字符串缓存。
为了便于描述,本发明实施例将缓存多个采集事件得到的字符串缓存称为字符串缓存,将缓存一个采集事件得到的字符串缓存称为缓存事件。
图7为缓存方式一对应的流程示意图,如图7所示,若客户端设备121在上报队列a 1中的采集事件1时发生网络故障,则客户端设备121可以将采集事件1、采集事件2和采集事件3作为待缓存的采集事件。如此,若使用缓存方式一,则可以先使用预设压缩算法从采集事件1、采集事件2和采集事件3中抽离键key和值value,然后可以将所抽离的键key作为模板排在数组的第一位,将抽离的value作为值排在键key的后面,从而将采集事件1、采集事件2和采集事件3压缩为一个字符串缓存。若目标浏览器缓存机制为localStorage机制,缓存位置为test数据库,则localStorage机制可以将压缩得到的字符串缓存存储在test数据库中,等待网络恢复后重新上报给采集服务器110。相应地,采集服务器110在接收到压缩的字符串缓存后,可以使用预设压缩算法对应的解压缩算法对字符串缓存进行解压缩,得到采集事件1、采集事件2和采集事件3。
举例来说,若采集事件1、采集事件2和采集事件3的数据格式为:
Figure PCTCN2020119040-appb-000001
Figure PCTCN2020119040-appb-000002
则使用预设压缩算法可以从采集事件1、采集事件2和采集事件3中抽离出三个key(即特征项),分别为defined_name、defined_value和deviceId,采集事件1中这三个key的value(即特征项下的值)分别为h5、消费、4160c4,采集事件2中这三个key的value分别为h6、开户、4160c4,采集事件3中这三个key的value分别为h7、结单、4160c4,如此,使用预设压缩算法压缩采集事件1、采集事件2和采集事件3得到的字符串缓存为:
[[defined_name,defined_value,deviceId],[h5,消费,4160c4],[h6,开户,4160c4],[h7,结单,4160c4]]
由此可知,字符串缓存的格式为一条字符串数据缓存,该条字符串数据缓存中包含了采集事件1、采集事件2和采集事件3的全部数据。
在缓存方式一中,通过一次压缩过程将所有待缓存的采集事件压缩成一个字符串缓存,可以以较少的操作次数完成采集数据的缓存工作,且可以减少所缓存的采集数据占用的空间,降低后续重发的次数,提高重发效率。
缓存方式二
在缓存方式二中,客户端设备可以使用预设压缩算法压缩每一条待缓存的采集事件,得到每一条待缓存的采集事件对应的一个字符串缓存,并可以将多条待缓存的采集事件对应的多条字符串数据缓存存储至目标浏览器缓存机制对应的存储空间。
为了便于描述,本发明实施例将每一条待缓存的采集事件对应的字符串缓存称为缓存事件。
图8为缓存方式二对应的流程示意图,如图8所示,若使用缓存方式二,针对于采集事件1、采集事件2和采集事件3中的任一采集事件,客户端设备可以先使用预设压缩算法从该采集事件中抽离key和value,然后可以将所抽离的key排在数组的第一位,将抽离的value作为值排在key的后面,从而将该条采集事件压缩为一个缓存事件。进一步地,若目标浏览器缓存机制为localStorage机制,缓存位置为test数据库,则localStorage机制可以将压缩得到的多个缓存事件依次存储在test数据库中,等待网络恢复后依次重新上报给采集服务器110;相应地,采集服务器110在接收到压缩的多条缓存事件后,可以使用预设压缩算法对应的解压缩算法对每条缓存事件进行解压缩,分别得到采集事件1、采集事件2和采集事件3。仍以缓存方式一中的采集事件1、采集事件2和采集事件3为例,使用预设压缩算法压缩采集事件1、采集事件2和采集事件3得到的缓存事件分别为:
[[defined_name,defined_value,deviceId],[h5,消费,4160c4]]
[[defined_name,defined_value,deviceId],[h6,开户,4160c4]]
[[defined_name,defined_value,deviceId],[h7,结单,4160c4]]
在缓存方式二中,通过分别压缩每条采集事件,可以灵活地控制每条采集事件的重发 过程,避免一次上报较多的采集数据而影响浏览器的正常工作。
需要说明的是,上述仅是两种示例性的简单说明,并不构成对方案的限定,在具体实施中,压缩采集事件的数量可以由用户进行设置,比如可以先将采集事件1和采集事件2压缩成一个字符串缓存,再将采集事件3压缩成缓存事件3,或者也可以先将采集事件1压缩成缓存事件1,再将采集事件2和采集事件3压缩成字符串缓存,等等,具体不作限定。
本发明实施例中,当使用目标浏览器缓存机制将队列a 1中待缓存的采集事件缓存完成后,和/或,当队列a 1中的采集事件全部被上报给采集服务器110后,客户端设备121可以删除队列a 1,从而可以避免队列a 1无意义的占用内存空间,降低系统的性能损耗。基于图2所示意的数据采集方法,当删除队列a 1后,若客户端设备121检测到用户触发了第二预设操作,并生成新的采集事件4、采集事件5和采集事件6,则客户端设备121还可以先确定是否存在已设置的用于上报采集事件的队列,若存在,则可以直接将采集事件4、采集事件5和采集事件6从已存在的队列的队尾插入已存在的队列中,若不存在,则可以创建新的队列,并可以使用新的队列存储采集事件4、采集事件5和采集事件6。由于采集事件1、采集事件2和采集事件3缓存后,队列a 1被删除,因此不存在已设置的用于上报采集事件的队列,如此,客户端设备121可以创建队列a 2,并可以使用队列a 2存储采集事件4、采集事件5和采集事件6。具体实施中,在将采集事件4、采集事件5和采集事件6存储在队列a 2之前,可以先查询目标浏览器缓存机制对应的缓存空间是否存储有缓存事件,若是,则可以先将缓存事件存储在队列a 2中,再将采集事件4、采集事件5和采集事件6存储在队列a 2中。
图9为使用缓存方式一缓存待缓存的采集事件对应的数据重发方法的整体流程示意图,如图9所示,若采用缓存方式一缓存采集事件1、采集事件2和采集事件3得到字符串缓存A,则在将字符串缓存A、采集事件4、采集事件5和采集事件6存储在队列a 2后,字符串缓存A可以占用队列a 2的位置0,采集事件4可以占用队列a 2的位置1,采集事件5可以占用队列a 2的位置2,采集事件6可以占用队列a 2的位置3。继续参照图9所示,在存储完成后,游标可以指示在队列a 2的初始位置0,因此客户端设备121可以先将位置0存储的字符串缓存A放置在浏览器请求队列中,经由浏览器上报给采集服务器110。若接收到采集服务器110发送的第一类型响应消息,说明字符串缓存A成功上报给采集服务器110,因此客户端设备121可以控制游标指示在队列a 2的位置1,依次发送队列a 2中的采集数据;相应地,若接收到采集服务器110发送的第二类型响应消息,说明字符串缓存A未能成功上报给采集服务器110,因此客户端设备121可以重新发送字符串缓存A,若重发的次数超过预设次数还未成功发送字符串缓存A,说明网络故障,因此客户端设备121可以先压缩字符串缓存A、采集事件4、采集事件5和采集事件6,然后将压缩得到的字符串缓存或缓存事件存储在目标浏览器缓存机制对应的存储空间,并可以在缓存成功后删除队列a 2。其中,缓存方式不限于缓存方式一和缓存方式二。
图10为使用缓存方式二缓存待缓存的采集事件对应的数据重发方法的示意图,如图10所示,若采用缓存方式二缓存采集事件1、采集事件2和采集事件3得到缓存事件1、缓存事件2和缓存事件3,则缓存事件1可以占用队列a 2的位置0,缓存事件2可以占用队列a 2的位置1,缓存事件3可以占用队列a 2的位置2,采集事件4可以占用队列a 2的位置3,采集事件5可以占用队列a 2的位置4,采集事件6可以占用队列a 2的位置5。继续参照图10所示,在存储完成后,游标可以指示在队列a 2的初始位置0,因此客户端设备121可以先将位置0存储的缓存事件1放置在浏览器请求队列中,经由浏览器上报给采集服务器110。若接收到采集服务器 110发送的第一类型响应消息,说明缓存事件1成功上报给采集服务器110,因此客户端设备121可以控制游标指示在队列a 2的位置1,依次发送队列a 2中的缓存事件及采集数据,相应地,若接收到采集服务器110发送的第二类型响应消息,说明缓存事件1未能成功上报给采集服务器110,因此客户端设备121可以重新发送缓存事件1,若重发次数超过预设次数还未成功发送缓存事件1,说明网络故障,因此客户端设备121可以先压缩缓存事件1、缓存事件2、缓存事件3、采集事件4、采集事件5和采集事件6,再使用目标浏览器缓存机制将缓存得到的字符串缓存或缓存事件存储在目标浏览器缓存机制对应的存储空间,并可以在缓存成功后删除队列a 2。其中,缓存方式不限于缓存方式一和缓存方式二。
本发明实施例中,通过缓存采集事件,并在下次上报过程中先上报缓存的采集事件再上报新的采集事件,可以保证采集服务器不遗漏采集事件,提高采集事件上报的成功率,从而提高采集服务器接收采集事件的准确性。需要说明的是,图9和图10仅是以游标为示例来描述重发采集事件的过程,并不构成对本方案的限定,本发明实施例也可以使用其它方式重发采集事件,比如先进先出的队列算法,具体不作限定。
在一个示例中,在字符串缓存或缓存事件成功上报给采集服务器110后,客户端设备121可以从目标浏览器缓存机制对应的缓存空间删除字符串缓存或缓存事件,从而降低缓存占用的空间。其中,删除操作与上报操作可以并行执行,或者也可以等待上报操作完成后集中执行删除操作,比如可以每成功上报一个缓存事件,即可从缓存空间中删除该缓存事件,或者也可以等待队列中的事件被上报完成后,再从缓存空间中删除成功上报的缓存事件,具体不作限定。
针对上述方法流程,本发明实施例还提供一种数据处理装置,该装置的具体内容可以参照上述方法实施。
图11为本发明提供的一种数据处理装置,如图11所示,该装置包括:
确定模块1101,用于确定待缓存的采集事件;所述待缓存的采集事件包括多个采集事件中未成功上报给采集服务器的采集事件,所述多个采集事件为检测到用户触发浏览器上的第一预设操作后,在执行所述第一预设操作对应的任务时生成的,每个采集事件用于记录执行所述任务中的每个子任务的事件;
缓存模块1102,用于基于预设的浏览器与浏览器缓存机制之间的映射关系,确定与所述浏览器匹配的目标浏览器缓存机制,并使用所述目标浏览器缓存机制缓存所述待缓存的采集事件。
可选地,所述确定模块1101具体用于:获取所述浏览器的配置文件,若所述浏览器的配置文件中包含window.localStorage对象,则确定localhost缓存机制为备选浏览器缓存机制;若所述浏览器的配置文件中包含window.indexedDB对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一项或任意多项,则确定indexDB缓存机制为备选浏览器缓存机制;若所述浏览器的配置文件中包含window.openDatabase对象,则确定WebSQL缓存机制为备选浏览器缓存机制,若存在多个备选浏览器缓存机制,则从所述多个备选浏览器缓存机制中选择优先级最大的浏览器缓存机制作为所述目标浏览器缓存机制。
可选地,所述确定模块1101具体用于:获取所述浏览器的配置文件,检测所述浏览器的配置文件中是否包含window.localStorage对象,若是,则确定本地主机缓存机制为目标浏览器缓存机制;若否,则检测所述浏览器的配置文件中是否包含系统浏览器数据库对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一项或任意多项,若是, 则确定indexDB缓存机制为目标浏览器缓存机制,若否,则检测所述浏览器的配置文件中是否包含window.openDatabase对象,若是,则确定WebSQL缓存机制为目标浏览器缓存机制,若否,则确定不存在与所述浏览器匹配的目标浏览器缓存机制。
可选地,所述确定模块1101获取所述浏览器的配置文件之前,还用于:确定不存在用户指定的所述目标浏览器缓存机制。
可选地,所述缓存模块1102具体用于:使用预设压缩算法压缩待缓存的多条采集事件,得到所述待缓存的多条采集事件对应的字符串缓存,并将所述待缓存的多条采集事件对应的字符串数据缓存存储至所述目标浏览器缓存机制对应的存储空间。
可选地,所述缓存模块1102具体用于:针对于待缓存的每条采集事件,从所述采集事件中提取得到所述采集事件在各项特征下的值,针对于任一项特征,根据所述待缓存的多条采集事件在所述特征下的值,生成所述特征对应的特征向量,根据各项特征对应的特征向量,组合得到所述待缓存的多条采集事件对应的字符串缓存。
可选地,所述缓存模块1102具体用于:使用预设压缩算法压缩待缓存的任一采集事件,得到所述待缓存的每个采集事件对应的字符串缓存,并将所述待缓存的每个采集事件对应的字符串数据缓存存储至所述目标浏览器缓存机制对应的存储空间。
可选地,所述装置还包括处理模块1103,所述缓存模块1102使用所述目标浏览器缓存机制缓存所述待缓存的采集事件之后,所述处理模块1103用于:检测到用户触发所述浏览器上的第二预设操作后,在执行所述第二预设操作对应的任务时生成多条采集事件,创建第一队列,确定所述目标浏览器缓存机制对应的存储空间中是否存储有字符串缓存,若是,则先将所述字符串缓存存储在所述第一队列中,再将所述多条采集事件依次存储在所述第一队列中;所述多条采集事件位于所述字符串缓存之后,依次将所述第一队列中存储的采集数据上报给所述采集服务器。
基于同一发明构思,本发明实施例还提供了一种计算设备,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行如图2至10中任意所述的数据处理方法。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行如图2至10中任意所述的数据处理方法。
基于相同的技术构思,本发明实施例提供了一种终端设备,如图12所示,包括至少一个处理器1201,以及与至少一个处理器连接的存储器1202,本发明实施例中不限定处理器1201与存储器1202之间的具体连接介质,图12中处理器1201和存储器1202之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。在本发明实施例中,存储器1202存储有可被至少一个处理器1201执行的指令,至少一个处理器1201通过执行存储器1202存储的指令,可以执行前述的数据处理方法中所包括的步骤。其中,处理器1201是终端设备的控制中心,可以利用各种接口和线路连接终端设备的各个部分,通过运行或执行存储在存储器1202内的指令以及调用存储在存储器1202内的数据,从而实现数据处理。可选的,处理器1201可包括一个或多个处理单元,处理器1201可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理下发指令。可以理解的是,上述调制解调处理器也可以不集成到处理器1201中。在一些实施例中,处理器1201和存储器1202可以在同一芯片上实现,在一些实施例中,它们也可以 在独立的芯片上分别实现。处理器1201可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合数据处理方法实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器1202作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1202可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1202是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器1202还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本发明实施例提供了一种后端设备,如图13所示,包括至少一个处理器1301,以及与至少一个处理器连接的存储器1302,本发明实施例中不限定处理器1301与存储器1302之间的具体连接介质,图13中处理器1301和存储器1302之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。在本发明实施例中,存储器1302存储有可被至少一个处理器1301执行的指令,至少一个处理器1301通过执行存储器1302存储的指令,可以执行前述的数据处理方法中所包括的步骤。其中,处理器1301是后端设备的控制中心,可以利用各种接口和线路连接后端设备的各个部分,通过运行或执行存储在存储器1302内的指令以及调用存储在存储器1302内的数据,从而实现数据处理。可选的,处理器1301可包括一个或多个处理单元,处理器1301可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、应用程序等,调制解调处理器主要对接收到的指令进行解析以及对接收到的结果进行解析。可以理解的是,上述调制解调处理器也可以不集成到处理器1301中。在一些实施例中,处理器1301和存储器1302可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。处理器1301可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合数据处理方法实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器1302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1302可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1302是能够用于携带或存储 具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器1302还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

  1. 一种数据处理方法,其特征在于,所述方法包括:
    确定待缓存的采集事件;所述待缓存的采集事件包括多个采集事件中未成功上报给采集服务器的采集事件,所述多个采集事件为检测到用户触发浏览器上的第一预设操作后,在执行所述第一预设操作对应的任务时生成的,每个采集事件用于记录执行所述任务中的每个子任务的事件;
    基于预设的浏览器与浏览器缓存机制之间的映射关系,确定与所述浏览器匹配的目标浏览器缓存机制,并使用所述目标浏览器缓存机制缓存所述待缓存的采集事件。
  2. 根据权利要求1所述的方法,其特征在于,所述确定与所述浏览器匹配的目标浏览器缓存机制,包括:
    获取所述浏览器的配置文件;
    若所述浏览器的配置文件中包含window.localStorage对象,则确定本地主机缓存机制为备选浏览器缓存机制;若所述浏览器的配置文件中包含系统浏览器数据库对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一项或任意多项,则确定indexDB缓存机制为备选浏览器缓存机制;若所述浏览器的配置文件中包含window.openDatabase对象,则确定WebSQL缓存机制为备选浏览器缓存机制;
    若存在多个备选浏览器缓存机制,则从所述多个备选浏览器缓存机制中选择优先级最大的浏览器缓存机制作为所述目标浏览器缓存机制。
  3. 根据权利要求1所述的方法,其特征在于,所述确定与所述浏览器匹配的目标浏览器缓存机制,包括:
    获取所述浏览器的配置文件;
    检测所述浏览器的配置文件中是否包含window.localStorage对象,若是,则确定本地主机缓存机制为目标浏览器缓存机制;若否,则检测所述浏览器的配置文件中是否包含系统浏览器数据库对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一项或任意多项,若是,则确定indexDB缓存机制为目标浏览器缓存机制,若否,则检测所述浏览器的配置文件中是否包含window.openDatabase对象,若是,则确定WebSQL缓存机制为目标浏览器缓存机制,若否,则确定不存在与所述浏览器匹配的目标浏览器缓存机制。
  4. 根据权利要求1所述的方法,其特征在于,所述使用所述目标浏览器缓存机制缓存所述待缓存的采集事件,包括:
    使用预设压缩算法压缩待缓存的多条采集事件,得到所述待缓存的多条采集事件对应的字符串缓存,并将所述待缓存的多条采集事件对应的字符串数据缓存存储至所述目标浏览器缓存机制对应的存储空间。
  5. 根据权利要求4所述的方法,其特征在于,所述使用预设压缩算法压缩待缓存的多条采集事件,得到所述待缓存的多条采集事件对应的字符串缓存,包括:
    针对于待缓存的每条采集事件,从所述采集事件中提取得到所述采集事件在各项特征下的值;
    针对于任一项特征,根据所述待缓存的多条采集事件在所述特征下的值,生成所述特征对应的特征向量;
    根据各项特征对应的特征向量,组合得到所述待缓存的多条采集事件对应的字符串缓 存。
  6. 根据权利要求1所述的方法,其特征在于,所述使用所述目标浏览器缓存机制缓存所述采集事件,包括:
    使用预设压缩算法压缩待缓存的任一采集事件,得到待缓存的每个采集事件对应的字符串缓存,并将所述待缓存的每个采集事件对应的字符串数据缓存存储至所述目标浏览器缓存机制对应的存储空间。
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述使用所述目标浏览器缓存机制缓存所述待缓存的采集事件之后,还包括:
    检测到用户触发所述浏览器上的第二预设操作后,在执行所述第二预设操作对应的任务时生成多条采集事件;
    创建第一队列,确定所述目标浏览器缓存机制对应的存储空间中是否存储有字符串缓存,若是,则先将所述字符串缓存存储在所述第一队列中,再将所述多条采集事件依次存储在所述第一队列中;所述多条采集事件位于所述字符串缓存之后;若否,则将所述多条采集事件依次存储在所述第一队列中;
    依次将所述第一队列中存储的采集数据上报给所述采集服务器。
  8. 一种数据处理装置,其特征在于,所述装置包括:
    确定模块,用于确定待缓存的采集事件;所述待缓存的采集事件包括多个采集事件中未成功上报给采集服务器的采集事件,所述多个采集事件为检测到用户触发浏览器上的第一预设操作后,在执行所述第一预设操作对应的任务时生成的,每个采集事件用于记录执行所述任务中的每个子任务的事件;
    缓存模块,用于基于预设的浏览器与浏览器缓存机制之间的映射关系,确定与所述浏览器匹配的目标浏览器缓存机制,并使用所述目标浏览器缓存机制缓存所述待缓存的采集事件。
  9. 根据权利要求8所述的装置,其特征在于,所述确定模块具体用于:
    获取所述浏览器的配置文件;
    若所述浏览器的配置文件中包含window.localStorage对象,则确定localhost缓存机制为备选浏览器缓存机制;若所述浏览器的配置文件中包含window.indexedDB对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一项或任意多项,则确定indexDB缓存机制为备选浏览器缓存机制;若所述浏览器的配置文件中包含window.openDatabase对象,则确定WebSQL缓存机制为备选浏览器缓存机制;
    若存在多个备选浏览器缓存机制,则从所述多个备选浏览器缓存机制中选择优先级最大的浏览器缓存机制作为所述目标浏览器缓存机制。
  10. 根据权利要求8所述的装置,其特征在于,所述确定模块具体用于:
    获取所述浏览器的配置文件;
    检测所述浏览器的配置文件中是否包含window.localStorage对象,若是,则确定本地主机缓存机制为目标浏览器缓存机制;若否,则检测所述浏览器的配置文件中是否包含系统浏览器数据库对象、window.IDBTransaction对象和window.IDBKeyRange对象中的任意一项或任意多项,若是,则确定indexDB缓存机制为目标浏览器缓存机制,若否,则检测所述浏览器的配置文件中是否包含window.openDatabase对象,若是,则确定WebSQL缓存机制为目标浏览器缓存机制,若否,则确定不存在与所述浏览器匹配的目标浏览器缓存机制。
  11. 根据权利要求8所述的装置,其特征在于,所述缓存模块具体用于:
    使用预设压缩算法压缩待缓存的多条采集事件,得到所述待缓存的多条采集事件对应的字符串缓存,并将所述待缓存的多条采集事件对应的字符串数据缓存存储至所述目标浏览器缓存机制对应的存储空间。
  12. 根据权利要求11所述的装置,其特征在于,所述缓存模块具体用于:
    针对于待缓存的每条采集事件,从所述采集事件中提取得到所述采集事件在各项特征下的值;
    针对于任一项特征,根据所述待缓存的多条采集事件在所述特征下的值,生成所述特征对应的特征向量;
    根据各项特征对应的特征向量,组合得到所述待缓存的多条采集事件对应的字符串缓存。
  13. 根据权利要求8所述的装置,其特征在于,所述缓存模块具体用于:
    使用预设压缩算法压缩待缓存的任一采集事件,得到所述待缓存的每个采集事件对应的字符串缓存,并将所述待缓存的每个采集事件对应的字符串数据缓存存储至所述目标浏览器缓存机制对应的存储空间。
  14. 根据权利要求8至13中任一项所述的装置,其特征在于,所述装置还包括处理模块,所述缓存模块使用所述目标浏览器缓存机制缓存所述待缓存的采集事件之后,所述处理模块用于:
    检测到用户触发所述浏览器上的第二预设操作后,在执行所述第二预设操作对应的任务时生成多条采集事件;
    创建第一队列,确定所述目标浏览器缓存机制对应的存储空间中是否存储有字符串缓存,若是,则先将所述字符串缓存存储在所述第一队列中,再将所述多条采集事件依次存储在所述第一队列中;所述多条采集事件位于所述字符串缓存之后;若否,则将所述多条采集事件依次存储在所述第一队列中;
    依次将所述第一队列中存储的采集数据上报给所述采集服务器。
  15. 一种计算设备,其特征在于,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行权利要求1~7任一权利要求所述的方法。
  16. 一种计算机可读存储介质,其特征在于,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行权利要求1~7任一权利要求所述的方法。
PCT/CN2020/119040 2019-10-28 2020-09-29 一种数据处理方法及装置 WO2021082859A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911031641.2A CN110795166B (zh) 2019-10-28 2019-10-28 一种数据处理方法及装置
CN201911031641.2 2019-10-28

Publications (1)

Publication Number Publication Date
WO2021082859A1 true WO2021082859A1 (zh) 2021-05-06

Family

ID=69441554

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/119040 WO2021082859A1 (zh) 2019-10-28 2020-09-29 一种数据处理方法及装置

Country Status (2)

Country Link
CN (1) CN110795166B (zh)
WO (1) WO2021082859A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382056A (zh) * 2021-06-07 2021-09-10 北京博睿宏远数据科技股份有限公司 数据上报方法、装置、设备、存储介质及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795166B (zh) * 2019-10-28 2021-08-20 深圳前海微众银行股份有限公司 一种数据处理方法及装置
CN111880947B (zh) * 2020-07-20 2023-12-15 中国银联股份有限公司 一种数据传输方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294700A (zh) * 2012-02-24 2013-09-11 腾讯科技(北京)有限公司 一种跨浏览器的数据本地存储方法和装置
WO2014034002A1 (ja) * 2012-08-31 2014-03-06 パナソニック株式会社 ウェブページキャッシュ装置、ウェブページキャッシュ方法、プログラム、及び集積回路
CN104657358A (zh) * 2013-11-15 2015-05-27 腾讯科技(深圳)有限公司 实现网页程序离线缓存的方法和系统
CN105045539A (zh) * 2015-08-20 2015-11-11 百度在线网络技术(北京)有限公司 数据离线存储的控制方法和装置
CN107025260A (zh) * 2016-12-27 2017-08-08 阿里巴巴集团控股有限公司 实现Web离线存储的方法、装置及电子设备
CN107688568A (zh) * 2016-08-03 2018-02-13 腾讯科技(深圳)有限公司 基于网页访问行为记录的采集方法及装置
CN109815433A (zh) * 2019-01-11 2019-05-28 平安科技(深圳)有限公司 浏览器本地存储方法及装置、存储介质及电子设备
CN110795166A (zh) * 2019-10-28 2020-02-14 深圳前海微众银行股份有限公司 一种数据处理方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060031382A1 (en) * 2004-06-04 2006-02-09 Arvind Pradhakar System and method for translating fully qualified domain name access in a browser environment
CN103618799B (zh) * 2013-12-04 2018-11-30 北京奇安信科技有限公司 浏览器缓存处理方法、系统及代理服务器
CN106874293B (zh) * 2015-12-11 2020-12-29 北京国双科技有限公司 一种数据处理方法及装置
CN107480277B (zh) * 2017-08-22 2021-01-26 北京京东尚科信息技术有限公司 用于网站日志采集的方法及装置
CN110298004B (zh) * 2019-06-06 2023-03-28 创新先进技术有限公司 一种目标对象的缓存管理方法、系统、装置及电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294700A (zh) * 2012-02-24 2013-09-11 腾讯科技(北京)有限公司 一种跨浏览器的数据本地存储方法和装置
WO2014034002A1 (ja) * 2012-08-31 2014-03-06 パナソニック株式会社 ウェブページキャッシュ装置、ウェブページキャッシュ方法、プログラム、及び集積回路
CN104657358A (zh) * 2013-11-15 2015-05-27 腾讯科技(深圳)有限公司 实现网页程序离线缓存的方法和系统
CN105045539A (zh) * 2015-08-20 2015-11-11 百度在线网络技术(北京)有限公司 数据离线存储的控制方法和装置
CN107688568A (zh) * 2016-08-03 2018-02-13 腾讯科技(深圳)有限公司 基于网页访问行为记录的采集方法及装置
CN107025260A (zh) * 2016-12-27 2017-08-08 阿里巴巴集团控股有限公司 实现Web离线存储的方法、装置及电子设备
CN109815433A (zh) * 2019-01-11 2019-05-28 平安科技(深圳)有限公司 浏览器本地存储方法及装置、存储介质及电子设备
CN110795166A (zh) * 2019-10-28 2020-02-14 深圳前海微众银行股份有限公司 一种数据处理方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382056A (zh) * 2021-06-07 2021-09-10 北京博睿宏远数据科技股份有限公司 数据上报方法、装置、设备、存储介质及系统

Also Published As

Publication number Publication date
CN110795166A (zh) 2020-02-14
CN110795166B (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
WO2021082859A1 (zh) 一种数据处理方法及装置
WO2021082858A1 (zh) 一种数据采集方法及装置
CN109034993B (zh) 对账方法、设备、系统及计算机可读存储介质
US9811577B2 (en) Asynchronous data replication using an external buffer table
US20150058308A1 (en) Generating cache query requests
US10043220B2 (en) Method, device and storage medium for data processing
CN110262807B (zh) 集群创建进度日志采集系统、方法和装置
US10649905B2 (en) Method and apparatus for storing data
CN110019873B (zh) 人脸数据处理方法、装置及设备
WO2021139131A1 (zh) 一种文件下载方法及相关产品
CN113254320A (zh) 记录用户网页操作行为的方法及装置
US10657099B1 (en) Systems and methods for transformation and analysis of logfile data
WO2022048358A1 (zh) 数据处理方法、装置及存储介质
CN111813573A (zh) 管理平台与机器人软件的通信方法及其相关设备
CN106991118A (zh) 基于ceph纠删除容错的读取文件方法及装置
US10430115B2 (en) System and method for optimizing multiple packaging operations in a storage system
KR102247247B1 (ko) 데이터베이스 관리 방법
CN112035205A (zh) 数据处理方法、装置、设备和存储介质
CN108062224B (zh) 基于文件句柄的数据读写方法、装置及计算设备
CN113190384B (zh) 基于纠删码的数据恢复控制方法、装置、设备及介质
CN115048595A (zh) 数据获取方法、装置、终端及存储介质
CN109241110A (zh) 订单管理方法及系统、电子设备、存储介质
CN112988812B (zh) 库存数据的处理方法、装置、设备及存储介质
CN115695326A (zh) 数据帧传输方法、装置、计算机设备和存储介质
US11977636B2 (en) Storage transaction log

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20881442

Country of ref document: EP

Kind code of ref document: A1

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 210922)

122 Ep: pct application non-entry in european phase

Ref document number: 20881442

Country of ref document: EP

Kind code of ref document: A1