Disclosure of Invention
The embodiment of the application mainly aims to provide a data watermark generation method, a device, electronic equipment and a storage medium, which can realize data watermark generation, simplify the calculation process of the data watermark, improve the calculation performance of the data watermark and improve the robustness of the data watermark.
In one aspect, an embodiment of the present application provides a method for generating a data watermark, where the method includes the following steps:
Determining target original data and corresponding user information in response to a data acquisition operation;
performing sequence division on the target original data to obtain a plurality of corresponding data sequences;
Splicing the data sequences with the user information, and calculating a coding value corresponding to each data sequence;
Performing sequence line-feed mapping according to the coding value corresponding to each data sequence to generate a corresponding sequence mapping table;
and determining the coding sequence value corresponding to each data sequence according to the sequence mapping table, and generating the data watermark corresponding to each data sequence according to the coding sequence value corresponding to each data sequence.
In some embodiments, the determining, in response to the data acquisition operation, the target raw data and the corresponding user information specifically includes:
Determining the target original data from a database cluster in response to a data acquisition operation, and acquiring user identity information;
And encrypting the user identity information to obtain the user information.
In some embodiments, the sequence dividing the target raw data to obtain a plurality of corresponding data sequences specifically includes:
dividing the data lines of the target original data, and determining a plurality of data lines and text data corresponding to each data line;
and generating the data sequence corresponding to each data line according to the text data corresponding to each data line.
In some embodiments, the splicing each data sequence with the user information, and calculating the encoded value corresponding to each data sequence specifically includes:
Acquiring a data line number corresponding to each data sequence in the target original data;
and splicing the data line numbers corresponding to the data sequences with the user information, and generating the code values corresponding to the data sequences by using a hash function.
In some embodiments, the performing sequence line-feed mapping according to the coding value corresponding to each data sequence to generate a corresponding sequence mapping table specifically includes:
determining the arrangement sequence of each data sequence according to the corresponding coding value of each data sequence;
according to the coding value corresponding to each data sequence and the arrangement sequence of each data sequence, performing sequence mapping storage to generate a corresponding sequence mapping table, wherein the sequence mapping table is represented by the following formula:
rowMap=(hashCode1,hashCode2,...,hashCoden);
Wherein rowMap denotes a sequence mapping table, hashCode n is a coded value corresponding to a data sequence arranged in the nth bit.
In some embodiments, the method further comprises:
storing the user information and the corresponding storage mapping table into a database;
responding to data tracing operation, and acquiring to-be-traced data and a tracing data storage mapping table corresponding to the to-be-traced data;
And determining a target storage mapping table matched with the traceable data storage mapping table from a plurality of storage mapping tables of the database according to the traceable data storage mapping table, and acquiring the user information corresponding to the target storage mapping table as target user information.
In some embodiments, the determining, according to the sequence mapping table, a coding order value corresponding to each data sequence, and generating, according to the coding order value corresponding to each data sequence, a data watermark corresponding to each data sequence specifically includes:
determining the arrangement sequence and the coding value corresponding to each data sequence according to the sequence mapping table;
Generating the coding sequence value corresponding to each data sequence according to the arrangement sequence corresponding to each data sequence and the coding value;
and generating a data watermark corresponding to each data sequence according to the coding sequence value corresponding to each data sequence, and embedding the data watermark into the data sequence.
In another aspect, an embodiment of the present application provides a data watermark generating apparatus, where the apparatus includes:
the first module is used for responding to the data acquisition operation and determining target original data and corresponding user information;
the second module is used for carrying out sequence division on the target original data to obtain a plurality of corresponding data sequences;
a third module, configured to splice each data sequence with the user information, and calculate a coding value corresponding to each data sequence;
A fourth module, configured to perform sequence line-feed mapping according to the coding value corresponding to each data sequence, and generate a corresponding sequence mapping table;
And a fifth module, configured to determine a coding sequence value corresponding to each data sequence according to the sequence mapping table, and generate a data watermark corresponding to each data sequence according to the coding sequence value corresponding to each data sequence.
In another aspect, an embodiment of the present application provides an electronic device, where the electronic device includes a memory and a processor, where the memory stores a computer program, and the processor implements the foregoing data watermark generation method when executing the computer program.
In another aspect, an embodiment of the present application proposes a computer readable storage medium storing a computer program, which when executed by a processor implements the aforementioned data watermark generation method.
The embodiment of the application at least has the beneficial effects that the method, the device, the electronic equipment and the storage medium for generating the data watermark have the advantages that the target original data is subjected to sequence division to obtain a plurality of corresponding data sequences, each data sequence is spliced with user information, the coding value corresponding to each data sequence is calculated, the sequence line-feed mapping is carried out according to the coding value corresponding to each data sequence, the corresponding sequence mapping table is generated, and the data watermark corresponding to each data sequence is generated according to the sequence mapping table. The method and the device can realize data watermark generation, simplify the calculation process of the data watermark, improve the calculation performance of the data watermark, improve the robustness of the data watermark, reduce the implementation difficulty, improve the watermark loading efficiency and simplify the follow-up data disclosure tracing difficulty.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application. When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with embodiments of the application, but are merely examples of apparatuses and methods consistent with aspects of embodiments of the application as detailed in the accompanying claims.
It is to be understood that the terms "first," "second," and the like, as used herein, may be used to describe various concepts, but are not limited by these terms unless otherwise specified. These terms are only used to distinguish one concept from another. For example, the first information may also be referred to as second information, and similarly, the second information may also be referred to as first information, without departing from the scope of embodiments of the present application. The words "if", as used herein, may be interpreted as "when" or "in response to a determination", depending on the context.
The terms "at least one", "a plurality", "each", "any" and the like as used herein, at least one includes one, two or more, a plurality includes two or more, each means each of the corresponding plurality, and any one means any of the plurality.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of the application only and is not intended to be limiting of the application.
It should be noted that, in each specific embodiment of the present application, when related processing is required according to user information, user behavior data, user history data, user location information, and other data related to user identity or characteristics, permission or consent of the user is obtained first, and the collection, use, processing, and the like of the data comply with related laws and regulations and standards. In addition, when the embodiment of the application needs to acquire the sensitive personal information of the user, the independent permission or independent consent of the user is acquired through popup or jump to a confirmation page and the like, and after the independent permission or independent consent of the user is definitely acquired, the necessary relevant data of the user for enabling the embodiment of the application to normally operate is acquired.
Before describing embodiments of the present application in detail, some of the terms and expressions that are referred to in the embodiments of the present application will be described first, and the terms and expressions that are referred to in the embodiments of the present application are applicable to the following explanation.
1) Big data-big data refers to the process from which valuable information and insight is obtained by collecting, storing and analyzing large-scale datasets. These datasets are typically of a high degree of complexity and variety, including structured data (such as database records) and unstructured data (such as text, images, audio and video files, etc.). The processing of big data requires the use of advanced computing techniques and analysis tools to discover potential patterns, trends and associations, providing support for decision making, business optimization and innovation. Big data are widely used, and the coverage fields comprise business, scientific research, medical care, finance, marketing and the like.
2) Text digital watermarking is a technique for embedding digital information into text. The identification, tracking and verification of the text are realized by inserting a specific number sequence into the text. The main purpose of digital watermarking of text is to protect the copyright and integrity of the text from unauthorized copying and tampering. It can be used for various forms of text content such as digital documents, electronic books, reports, papers, etc.
3) Hadoop, which is an open-source distributed computing platform, is used to process large-scale data sets. Its design goal is to be able to process large amounts of data in parallel on a cluster of multiple compute nodes to achieve efficient data storage and processing.
4) Spark computing engine Spark is a fast, general-purpose big data processing and computing engine that provides an efficient distributed computing framework for processing large-scale data. Spark has advantages over traditional MapReduce in terms of speed, ease of use, and function.
5) MD5 (MESSAGE DIGEST Algorithm 5) MD5 is a commonly used hashing Algorithm to produce hash values of 128 bits (16 bytes) in length. The method is widely applied to the field of information security and used for verifying the data integrity, password storage, digital signature and the like.
6) HashCode: hashCode (hash code) is a technique that maps data of arbitrary length to a unique identifier of fixed length. In the field of computers, hashCode is often used for implementing data structures such as hash tables, hash sets, and the like, and can also be used for fast searching, comparing and indexing of data.
7) Dictionary Order (Alphabetical Order), which is also called alphabetical Order, refers to a method of ordering words or strings according to the alphabetical Order in the alphabet. This method is used not only for word arrangement in dictionaries, but also for comparing and ordering strings in computer science.
The digital watermark technology is an important component in the technical field of information hiding, and is used for hiding information (digital watermark information) with characteristic significance in various digital images, sounds, videos and text digital products by using a digital embedding method. On the one hand, the electronic products with the digital watermark information can not be easily perceived and normally used, and on the other hand, the digital watermark information embedded in the digital products can be detected by a specific technical means. The digital watermarking technology is widely applied to a plurality of watercourses such as copyright protection, content verification and anti-counterfeiting, illegal copying prevention, operation tracking, secret data communication and the like of digital products. Digital watermarks can be classified into image digital watermarks, sound digital watermarks, video digital watermarks, text digital watermarks and the like according to different digital watermark carriers.
The text file is different from electronic products with rich contents such as images, sounds, videos and the like, the content of the text file is compact, and complex digital watermark information is hidden without more blank content. Therefore, the existing text digital watermark is mainly realized by adopting a topological structure for modifying characters. The method comprises the steps of carrying out different forms of deformation on specific characters, corresponding to different watermark information bit strings, storing character deformation data in a specific watermark word stock, and realizing watermark information embedding through font replacement in the processes of printing output and screen display of an electronic text document. Since fonts need to be replaced when displayed, the real-time loading of watermark information is a key step of text watermarking technology based on font replacement. The common practice is to intercept specific operation of the file through a system hook, then acquire file data in an intermediate format, complete watermark information embedding after font replacement operation, and finally execute normal file operation, or to mainly apply the method to specific file formats through a software plug-in, such as Microsoft Office software. However, the above methods have many problems and disadvantages, mainly as follows:
1) The method has poor universality, the watermark information embedding in the file printing operation process can be well completed by a mode of capturing the file through a system hook, but the screen display operation of the electronic file is difficult to capture, and the watermark information embedding cannot be performed in real time in the screen display content;
2) The development difficulty is high, in addition, the implementation process of the existing method is complex, and especially, the development difficulty of the plug-in based on the web browser is high;
3) The stability is poor, and the compatibility with system software is more in a mode of intercepting files through a system hook.
4) The big data output scene has poor applicability, namely, the main application scene of big data output is that the data is cleaned through big data computing frames and engines such as Hadoop, spark and the like, and finally the output of target content is realized, generally speaking, txt text is mainly output in the big data scene, the operability of a system hook is poor, and no software plug-in support exists. Therefore, the large data output scene cannot be satisfied well by modifying the topology of the characters.
Based on this, the embodiment of the application provides a data watermark generation method, a device, an electronic device and a storage medium, which can collect user information, encrypt and transform the user information, and output a section of data sequence different from each other for each user by combining with target original data, and output the target original data according to a specific sequence of the data sequence, so that the corresponding data watermark can be hidden without affecting the target original data, thereby realizing data watermark generation, simplifying the calculation process of the data watermark, improving the calculation performance of the data watermark, and improving the robustness of the data watermark.
Referring to fig. 1, fig. 1 is an optional flowchart of a method for generating a data watermark according to an embodiment of the present application, where the method may include, but is not limited to, steps S101 to S105:
Step S101, in response to a data acquisition operation, determining target original data and corresponding user information;
step S102, carrying out sequence division on target original data to obtain a plurality of corresponding data sequences;
Step S103, splicing each data sequence with user information, and calculating a coding value corresponding to each data sequence;
step S104, performing sequence line-feed mapping according to the coding value corresponding to each data sequence to generate a corresponding sequence mapping table;
step S105, determining the coding sequence value corresponding to each data sequence according to the sequence mapping table, and generating the data watermark corresponding to each data sequence according to the coding sequence value corresponding to each data sequence.
In some embodiments, referring to fig. 2, fig. 2 is an alternative flowchart of step S101 in an embodiment of the present application, step S101 may include, but is not limited to, steps S201 to S202:
Step S201, in response to the data acquisition operation, determining target original data from the database cluster and acquiring user identity information;
step S202, the user identity information is encrypted to obtain user information.
In some embodiments, the user identity information is collected by means of system submission, file uploading, etc., including but not limited to information such as user IP address, user mailbox, user identity tag, etc., denoted as userinfo, and then the user identity information userinfo is encrypted to obtain the corresponding user information, where the encryption means may be in a number of ways including symmetric encryption, asymmetric encryption, hash algorithm encryption, etc., such as MD5 encryption, SHA1 encryption, DES encryption, etc., and the MD5 is used to encrypt the user information, for example, as follows:
MD5(ip+email+userid+...);
Wherein MD5 () is MD5 encryption function, IP is user IP address, email is user mailbox, userid is user identity mark, and the encrypted user information is recorded as cipherertext.
In some embodiments, referring to fig. 3, fig. 3 is an alternative flowchart of step S102 in an embodiment of the present application, step S102 may include, but is not limited to, steps S301 to S302:
step S301, dividing data lines of target original data, and determining a plurality of data lines and text data corresponding to each data line;
step S302, according to the text data corresponding to each data line, a data sequence corresponding to each data line is generated.
In some embodiments, optionally, the target original data is text data, and the data line of the target original data is divided according to a preset line sequence rule, where the line sequence rule is a word sequence, and the divided target original data is recorded as data, and the data includes a plurality of data lines, where each data line has a corresponding data line number and text data.
In some embodiments, referring to fig. 4, fig. 4 is an alternative flowchart of step S103 in an embodiment of the present application, step S103 may include, but is not limited to, steps S401 to S402:
step S401, data line numbers corresponding to the data sequences in the target original data are obtained;
Step S402, splice the data line number corresponding to each data sequence with the user information, and generate the code value corresponding to each data sequence by using the hash function.
In some embodiments, the data line number (recorded as num) of the data line corresponding to each data sequence in the data is spliced with the cipherrtext (the user information), and the coding value corresponding to each data sequence, i.e. hashCode, is calculated to obtain a hashCod e sequence with a text total line length, i.e. the number of data lines of the data, and optionally, the hashCod e calculation formula corresponding to each data sequence in the hashCod e sequence is as follows:
HASH(num+ciphertext)
The HASH () is a HASH function (HASH function), which is a function that transforms input data with any length into output with a fixed length through a HASH algorithm, the fixed length output by the HASH function is called a HASH value, as mentioned above, the code value HASH code corresponding to each data sequence, num is the data line number corresponding to each data sequence, and cipert is the user information.
Referring to fig. 5, fig. 5 is an optional schematic diagram of determining a code value corresponding to a data sequence in an embodiment of the present application, where, assuming that there is a data row X, the data row X corresponds to the data sequence X, a corresponding hashCode x is generated by concatenating a data row number (denoted as num) of the data row X with cipherent (the above user information), and the hashCode x is determined as the code value corresponding to the data sequence X.
In some embodiments, referring to fig. 6, fig. 6 is an alternative flowchart of step S104 in an embodiment of the present application, step S104 may include, but is not limited to, steps S501 to S502:
Step S501, determining the arrangement sequence of each data sequence according to the corresponding coding value of each data sequence;
step S502, according to the corresponding coding value of each data sequence and the arrangement order of each data sequence, sequence mapping storage is carried out, and a corresponding sequence mapping table is generated.
In some embodiments, hashCod e sequences are ordered according to the size of hashCod e, and a line feed mapping between the original sequence and the new sequence is recorded to obtain a sequence mapping table, where the sequence mapping table is represented by the following formula:
rowMap=(hashCode1,hashCode2,...,hashCoden);
wherein rowMap denotes a sequence mapping table, hashCode n is a coded value corresponding to a data sequence arranged in the nth bit, hashCode 1<hashCode2<...<hashCoden.
RowMap is a data structure for storing data in the form of key-value pairs, capable of mapping each row of data in a database to an object in a programming language (e.g., JAVA), and rowMap is capable of storing hashCod e of the data sequence and the data sequence in the form of key-value pairs.
In some embodiments, referring to fig. 7, fig. 7 is an alternative flowchart of step S105 in embodiments of the present application, step S105 may include, but is not limited to, steps S601 to S603:
step S601, determining the arrangement sequence and the coding value corresponding to each data sequence according to the sequence mapping table;
Step S602, according to the arrangement sequence and the coding value corresponding to each data sequence, generating the coding sequence value corresponding to each data sequence;
Step S603, according to the coding sequence value corresponding to each data sequence, generating the data watermark corresponding to each data sequence, and embedding the data watermark into the data sequence.
In some embodiments, according to the hashCode of each data sequence stored in rowMap, the data is subjected to line sequence adjustment, and the arrangement sequence of the data sequence corresponding to each data line and the code value hashCod e are determined, where the arrangement sequence of the data sequence is the arrangement sequence of the hashCode corresponding to the data sequence in rowMap.
Then, according to the arrangement sequence corresponding to each data sequence and the coding value hashCod e, the coding sequence value corresponding to each data sequence is determined, and according to the coding sequence value corresponding to each data sequence, the data watermark corresponding to each data sequence is generated, and the data watermark is embedded into the data sequence.
For example, assuming rowMap = (hashCode 1,hashCode2,...,hashCoden), the hashCode corresponding to the data sequence 1 is hashCode 1 in rowMap, that is, the arrangement sequence of the data sequence 1 is 1, the coding value is hashCode 1, the coding sequence value of the data sequence 1 is determined by the arrangement sequence and the coding value, and may be denoted as (1, hashCode 1), then, according to the coding sequence value corresponding to the data sequence 1, the digital watermark generation technology is utilized to generate the data watermark 1 corresponding to each data sequence 1, the user information is hidden in the data watermark 1, the corresponding user information is obtained through subsequent comparison rowMap, the data watermark 1 is embedded in the data sequence 1, then the corresponding target data sequence 1 is output, and the target data sequence 1 contains the data watermark 1 with the hidden user information.
In some embodiments, referring to fig. 8, fig. 8 is another optional flowchart of a data watermark generation method provided in an embodiment of the present application, where the data watermark generation method may further include, but is not limited to, steps S701 to S703:
Step S701, storing user information and a corresponding storage mapping table into a database;
Step S702, responding to data tracing operation, and acquiring data to be traced and tracing data storage mapping tables corresponding to the data to be traced;
In step S703, a target storage mapping table matched with the traceable data storage mapping table is determined from the plurality of storage mapping tables of the database according to the traceable data storage mapping table, and the user information corresponding to the target storage mapping table is obtained as target user information.
In some embodiments, each user, when retrieving the target original data, generates a storage mapping table and user information, and associates each user information generated in the history with the storage mapping table corresponding to each user information, and then stores the association in the database.
Optionally, in response to a data tracing operation, to-be-traced data is obtained, operations such as original data sorting, sequence line-feed mapping and the like are sequentially performed according to the to-be-traced data, a tracing data storage mapping table corresponding to the to-be-traced data is calculated and is recorded as tracing rowMap, tracing rowMap is compared with a plurality of rowMap stored in a database one by one, a target rowMap consistent with tracing rowMap is determined from a plurality of rowMap according to a comparison result, and user information associated with the target rowMap is obtained from the database and is target user information.
Referring to fig. 9, fig. 9 is an optional structural schematic diagram of a data watermark generating apparatus according to an embodiment of the present application, where the apparatus may be used to implement the data watermark generating method, and the apparatus may include:
the first module is used for responding to the data acquisition operation and determining target original data and corresponding user information;
The second module is used for carrying out sequence division on the target original data to obtain a plurality of corresponding data sequences;
the third module is used for splicing each data sequence with the user information and calculating the coding value corresponding to each data sequence;
a fourth module, configured to perform sequence line-feed mapping according to the coding values corresponding to each data sequence, and generate a corresponding sequence mapping table;
And a fifth module, configured to determine a coding sequence value corresponding to each data sequence according to the sequence mapping table, and generate a data watermark corresponding to each data sequence according to the coding sequence value corresponding to each data sequence.
It can be understood that the content in the above method embodiment is applicable to the embodiment of the present device, and the specific functions implemented by the embodiment of the present device are the same as those of the embodiment of the above method, and the achieved beneficial effects are the same as those of the embodiment of the above method.
The embodiment of the application also provides electronic equipment, which comprises a memory and a processor, wherein the memory stores a computer program, and the processor realizes the data watermark generation method when executing the computer program. The electronic equipment can be any intelligent terminal including a tablet personal computer and the like.
It can be understood that the content in the above method embodiment is applicable to the embodiment of the present apparatus, and the specific functions implemented by the embodiment of the present apparatus are the same as those of the embodiment of the above method, and the achieved beneficial effects are the same as those of the embodiment of the above method.
Referring to fig. 10, fig. 10 illustrates a hardware structure of an electronic device according to another embodiment, the electronic device includes:
the processor 901 may be implemented by a general purpose CPU (central processing unit), a microprocessor, an application specific integrated circuit (ApplicationSpecificIntegratedCircuit, ASIC), or one or more integrated circuits, etc. for executing related programs, so as to implement the technical solution provided by the embodiments of the present application;
The memory 902 may be implemented in the form of read-only memory (ReadOnlyMemory, ROM), static storage, dynamic storage, or random access memory (RandomAccessMemory, RAM), among others. The memory 902 may store an operating system and other application programs, and when the technical solutions provided in the embodiments of the present disclosure are implemented by software or firmware, relevant program codes are stored in the memory 902, and the processor 901 invokes a data watermark generation method for executing the embodiments of the present disclosure;
An input/output interface 903 for inputting and outputting information;
the communication interface 904 is configured to implement communication interaction between the device and other devices, and may implement communication in a wired manner (e.g. USB, network cable, etc.), or may implement communication in a wireless manner (e.g. mobile network, WIFI, bluetooth, etc.);
A bus 905 that transfers information between the various components of the device (e.g., the processor 901, the memory 902, the input/output interface 903, and the communication interface 904);
wherein the processor 901, the memory 902, the input/output interface 903 and the communication interface 904 are communicatively coupled to each other within the device via a bus 905.
The embodiment of the application also provides a computer readable storage medium, which stores a computer program, and the computer program realizes the data watermark generation method when being executed by a processor.
It can be understood that the content of the above method embodiment is applicable to the present storage medium embodiment, and the functions of the present storage medium embodiment are the same as those of the above method embodiment, and the achieved beneficial effects are the same as those of the above method embodiment.
The memory, as a non-transitory computer readable storage medium, may be used to store non-transitory software programs as well as non-transitory computer executable programs. In addition, the memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory optionally includes memory remotely located relative to the processor, the remote memory being connectable to the processor through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The embodiment of the application provides a data watermark generation method, a device, electronic equipment and a storage medium, which are used for obtaining a plurality of corresponding data sequences by carrying out sequence division on target original data, splicing each data sequence with user information, calculating a coding value corresponding to each data sequence, carrying out sequence line-feed mapping according to the coding value corresponding to each data sequence, generating a corresponding sequence mapping table, and generating a data watermark corresponding to each data sequence according to the sequence mapping table. The embodiment of the application can realize the generation of the data watermark, simplify the calculation process of the data watermark, improve the calculation performance of the data watermark, improve the robustness of the data watermark, reduce the implementation difficulty, improve the watermark loading efficiency and simplify the follow-up data disclosure tracing difficulty.
The embodiments described in the embodiments of the present application are for more clearly describing the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application, and those skilled in the art can know that, with the evolution of technology and the appearance of new application scenarios, the technical solutions provided by the embodiments of the present application are equally applicable to similar technical problems.
It will be appreciated by persons skilled in the art that the embodiments of the application are not limited by the illustrations, and that more or fewer steps than those shown may be included, or certain steps may be combined, or different steps may be included.
The above described apparatus embodiments are merely illustrative, wherein the units illustrated as separate components may or may not be physically separate, i.e. may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
Those of ordinary skill in the art will appreciate that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof.
The terms "first," "second," "third," "fourth," and the like in the description of the application and in the above figures, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the application described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It should be understood that in the present application, "at least one (item)" means one or more, and "a plurality" means two or more. "and/or" is used to describe an association relationship of an associated object, and indicates that three relationships may exist, for example, "a and/or B" may indicate that only a exists, only B exists, and three cases of a and B exist simultaneously, where a and B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one of a, b or c may represent a, b, c, "a and b", "a and c", "b and c", or "a and b and c", wherein a, b, c may be single or plural.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the above-described division of units is merely a logical function division, and there may be another division manner in actual implementation, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described above as separate components may or may not be physically separate, and components shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
It should be appreciated that embodiments of the invention may be implemented or realized by computer hardware, a combination of hardware and software, or by computer instructions stored in a non-transitory computer readable memory. The methods may be implemented in a computer program using standard programming techniques including a non-transitory computer readable storage medium configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner, in accordance with the methods and drawings described in the specific embodiments. Each program may be implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Furthermore, the program can be run on a programmed application specific integrated circuit for this purpose.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a storage medium, including multiple instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method of the various embodiments of the present application. The storage medium includes various media capable of storing programs, such as a U disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory RAM), a magnetic disk, or an optical disk.
The preferred embodiments of the present application have been described above with reference to the accompanying drawings, and are not thereby limiting the scope of the claims of the embodiments of the present application. Any modifications, equivalent substitutions and improvements made by those skilled in the art without departing from the scope and spirit of the embodiments of the present application shall fall within the scope of the claims of the embodiments of the present application.