Disclosure of Invention
The present disclosure provides a method for recording and verifying the credentials of electronic data in the exchange process, which provides a way for the validity and the credentials of the exchange of the electronic data. The present disclosure provides a method, apparatus, and storage medium for data transmission, data reception, and credential recording.
According to a first aspect of the present disclosure, there is provided a method of data transmission, comprising:
responding to a request of a data receiver for sending first data, wherein the data sender applies for and obtains a data exchange initial verification code and a first identity verification code corresponding to the data exchange initial verification code from a certificate recorder;
the data sender obtains a data exchange verification code by utilizing the first data and the data exchange initial verification code, and sends the data exchange verification code and the first identity verification code to the credential recorder;
the data sender sends the first data, the data exchange initial verification code and the second identity verification code generated by the credential recorder according to the data exchange verification code to the data receiver.
Preferably, the data sender obtains a data exchange verification code by using the first data and the data exchange initial verification code, including:
and carrying out encryption calculation by utilizing the sum of the data exchange initial verification code and the first hash value generated by the first data to obtain the data exchange verification code.
Preferably, the method further comprises:
the data sender responds to the notification sent by the data receiver that the first data is received, and the first hash value and the data exchange verification code are jointly calculated to obtain a second data receiving acceptance code;
When the second data receiving acceptance code is equal to the first data receiving acceptance code obtained by the credential recorder from the data receiver, the data sender receives the information that the first data sent by the credential recorder is successfully sent;
and when the second data receiving acceptance code is not equal to the first data receiving acceptance code, the data sender requests the data receiver to send the first data receiving acceptance code and a third identity verification code corresponding to the first data receiving acceptance code again.
Preferably, the method further comprises:
the data sender sends a first hash value generated according to the first data to the credential recorder;
and when the data sender receives the incorrect notification of the data exchange verification code obtained through calculation of the first hash value and the data exchange initial verification code, the data exchange initial verification code and the data exchange verification code are sent to the credential recorder again.
According to a second aspect of the present disclosure, there is also provided a method of data reception, comprising:
the data receiving side requests the data sender to send the first data;
The data receiver receives the first data sent by the data sender, a data exchange initial verification code obtained by the data sender from the credential recorder and a second identity verification code generated by the credential recorder according to the data exchange verification code;
the data exchange verification code is obtained by the data sender through the first data and the data exchange initial verification code.
Preferably, the method further comprises:
the data receiving party generates a data verification code by using the first data and the data exchange initial verification code;
when the data verification code is equal to the data exchange verification code, the data receiver is indicated to correctly receive the first data;
and when the data verification code and the data exchange verification code are not equal, the data receiver re-receives the first data, the data exchange initial verification code and the second identity verification code.
Preferably, the method further comprises:
the data receiver obtains a first data receiving acceptance code by utilizing the first data and the data verification code;
the data receiver sends the first data receiving acceptance code and the second identity verification code to the certificate recorder;
The data receiver receives a third identity verification code generated by the credential recorder according to the first data receiving acceptance code;
and the data receiver sends the third authentication code to the data sender.
Preferably, the method further comprises:
the data receiver sends a second hash value generated according to the first data to the credential recorder;
and when the data receiver receives the notice that the first data receiving acceptance code generated by the second hash value and the data verification code is incorrect, the second hash value, the data verification code and the first data receiving acceptance code are sent to the credential recorder again.
According to a third aspect of the present disclosure, there is also provided a credential recording method, including:
responding to a request of a data sender, generating a data exchange initial verification code and a first identity verification code corresponding to the data exchange initial verification code by a credential recorder; transmitting the data exchange initial verification code and the first identity verification code to a data sender;
the certificate recorder receives the data exchange verification code and the first identity verification code generated by the data sender;
The credential recorder generates a second identity verification code corresponding to the data exchange verification code and sends the second identity verification code to the data sender;
the certificate recording side receives a data verification code sent by a data receiving side;
when the data exchange verification code is equal to the data verification code, the certificate recorder records the data sender correctly and sends the first data to the data receiver correctly;
and when the data exchange verification code and the data verification code are not equal, the credential recorder informs the data receiver of re-receiving the first data, the data exchange initial verification code and the second identity verification code.
Preferably, the method further comprises:
the certificate recorder receives a first hash value which is sent by a data sender and is obtained by processing the first data;
when the data exchange verification code obtained by the credential recorder through the first hash value and the data exchange initial verification code is incorrect, the credential recorder requests the data sender to send the first hash value, the data exchange initial verification code and the data exchange verification code again.
Preferably, the method further comprises:
the certificate recorder receives a first data receiving acceptance code and a second identity verification code sent by the data receiver;
the credential recorder generates a third identity verification code according to the first data receiving acceptance code and sends the third identity verification code to the data receiver;
the certificate recorder receives the first hash value of the first data and the data exchange verification code and jointly calculates the first hash value and the data exchange verification code to obtain a second data receiving acceptance code;
when the second data receiving acceptance code is equal to the first data receiving acceptance code, the credential recorder informs the data sender of successful information of the first data transmission;
and when the second data receiving acceptance code is not equal to the first data receiving acceptance code, the certificate recording party informs the data transmitting party of requesting the data receiving party to transmit the first data receiving acceptance code and the third identity verification code again.
Preferably, the method further comprises:
the certificate recorder receives a second hash value which is sent by the data receiver and is obtained by processing the first data;
and when the first data receiving acceptance code obtained by the credential recorder through calculation of the second hash value and the data exchange verification code is incorrect, the credential recorder requests the data receiver to send the second hash value, the data exchange verification code and the first data receiving acceptance code again.
Preferably, the values of the first authentication code, the second authentication code and the third authentication code are gradually increased from small to large.
Preferably, the data exchange initial verification code is randomly generated by the credential recorder or is taken from the last piece of data of a data exchange credential chain in the credential recorder.
According to a fourth aspect of the present disclosure, there is also provided an electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of the above claims.
According to a fifth aspect of the present disclosure, there is also provided a non-transitory computer-readable storage medium storing computer instructions for causing the computer to perform the method according to any one of the above-mentioned technical solutions.
According to a sixth aspect of the present disclosure, there is also provided a computer program product comprising a computer program which, when executed by a processor, implements a method according to any of the above-mentioned technical solutions.
Based on the technical scheme disclosed above, the beneficial effects brought by the technical scheme of the application are as follows:
(1) The certificate record party of the electronic data exchange is used as a third party of the electronic data exchange to record the verification information of the data sender and the data receiver in the data exchange process. Each piece of data has a unique identity, and in the data records of the verification information, the last record is used as a calculation factor of the next record, and a certificate chain containing a close relation between the front and the back is formed by combining the hash value of the exchanged file.
(2) Because any record in the electronic data exchange certificate chain has a close logic relationship with the adjacent front and back records, any record in the certificate chain is tampered, the logic chain in the certificate chain is interrupted, and the effectiveness of the certificate automatically fails.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Detailed Description
Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
According to a first aspect of the present disclosure, there is provided a method of data transmission, comprising:
s101: responding to a request of a data receiver for sending first data, wherein the data sender applies for and obtains a data exchange initial verification code and a first identity verification code corresponding to the data exchange initial verification code from a certificate recorder;
S102: the data sender obtains a data exchange verification code by utilizing the first data and the data exchange initial verification code, and sends the data exchange verification code and the first identity verification code to the credential recorder;
s103: the data sender sends the first data, the data exchange initial verification code and the second identity verification code generated by the credential recorder according to the data exchange verification code to the data receiver. The data includes documents, video, audio, or pictures. The entire data transmission process includes at least three independent parts: a data sender, a data receiver and a credential recorder. The certificate recorder is used as a third party for data transmission and reception and mainly plays roles of certificate generation, recording and verification. In the process of exchanging data, the data sender and the data receiver have the certificate recorder, so that the data can be sent and received more safely.
Preferably, the data sender obtains a data exchange verification code by using the first data and the data exchange initial verification code, including:
and carrying out encryption calculation by utilizing the sum of the data exchange initial verification code and the first hash value generated by the first data to obtain the data exchange verification code. The data sender performs encryption calculation on the first data to obtain a first hash value, and the encryption algorithm comprises: common algorithms such as MD5, DES, RSA, etc. In this embodiment, the MD5 algorithm is employed. The first data is firstly subjected to MD5 algorithm to obtain a first hash value, and then the first hash value is added with the data exchange initial verification code. And encrypting the added result again by adopting an MD5 algorithm to obtain the data exchange verification code. The data exchange verification code obtained in the process not only comprises a first hash value generated by a data sender, but also comprises a data exchange initial verification code generated by a certificate recorder; the data exchange verification code sent by the data sender is safer and is not easy to be tampered by an intermediate party.
Preferably, the method further comprises:
s104: the data sender responds to the notification sent by the data receiver that the first data is received, and the first hash value and the data exchange verification code are jointly calculated to obtain a second data receiving acceptance code; in this embodiment, the data sender adds the first hash value obtained after encrypting the first data and the data exchange verification code obtained before, and then performs encryption calculation on the added result to obtain the second data receiving acceptance code.
When the second data receiving acceptance code is equal to the first data receiving acceptance code obtained by the credential recorder from the data receiver, the data sender receives the information that the first data sent by the credential recorder is successfully sent;
and when the second data receiving acceptance code is not equal to the first data receiving acceptance code, the data sender requests the data receiver to send the first data receiving acceptance code and a third identity verification code corresponding to the first data receiving acceptance code again.
Preferably, the method further comprises:
the data sender sends a first hash value generated according to the first data to the credential recorder;
And when the data sender receives the incorrect notification of the data exchange verification code obtained through calculation of the first hash value and the data exchange initial verification code, the data exchange initial verification code and the data exchange verification code are sent to the credential recorder again. The incorrect means that the first hash value and the data exchange initial verification code are added, encryption processing is carried out on the added result, and if the encryption processing result and the data exchange verification code are not equal, the result is incorrect.
And when the data sender calculates the received first hash value and the data exchange initial verification code, namely adding the first hash value and the data exchange initial verification code, carrying out encryption processing on the added result, and if the encryption processing result is equal to the data exchange verification code, not requesting the data sender to send the first hash value and the data exchange initial verification code.
When the data sender receives the third identity verification code corresponding to the first data receiving acceptance code sent by the data receiver, calculating and verifying a second data receiving acceptance code, and requesting the certificate recorder to verify that the value is the second data receiving acceptance code, wherein the identity verification code is whether a record of the first data receiving acceptance code exists or not; if so, the data sender stores and records the data exchange verification code and a second identity verification code corresponding to the data exchange verification code; if the first identity verification code does not exist, the data sender can send the first data receiving acceptance code and the third identity verification code corresponding to the first data receiving acceptance code to the data receiver again according to the request of the certificate recorder.
According to a second aspect of the present disclosure, there is also provided a method of data reception, comprising:
s201: the data receiving side requests the data sender to send the first data;
s202: the data receiver receives the first data sent by the data sender, a data exchange initial verification code obtained by the data sender from the credential recorder and a second identity verification code generated by the credential recorder according to the data exchange verification code;
s203: the data exchange verification code is obtained by the data sender through the first data and the data exchange initial verification code. In the data receiving process, at least three independent parts are included, namely a data sender, a data receiver and a credential recorder.
Preferably, the method further comprises:
s204: the data receiving party generates a data verification code by using the first data and the data exchange initial verification code; the data receiver generates a second hash value by utilizing the received first data, namely, encrypts the received first data by utilizing an encryption algorithm to obtain the second hash value; then adding the second hash value and the data exchange initial verification code; and carrying out encryption calculation on the added result to obtain the data verification code.
When the data verification code is equal to the data exchange verification code, the data receiver is indicated to correctly receive the first data;
and when the data verification code and the data exchange verification code are not equal, the data receiver re-receives the first data, the data exchange initial verification code and the second identity verification code.
Preferably, the method further comprises:
s205: the data receiver obtains a first data receiving acceptance code by utilizing the first data and the data verification code; the data receiver encrypts the received first data to generate a second hash value; then adding the data verification code and the second hash value; and carrying out encryption calculation on the added result to obtain a first data receiving acceptance code.
S206: the data receiver sends the first data receiving acceptance code and the second identity verification code to the certificate recorder;
s207: the data receiver receives a third identity verification code generated by the credential recorder according to the first data receiving acceptance code;
s208: and the data receiver sends the third authentication code to the data sender.
Preferably, the method further comprises:
The data receiver sends a second hash value generated according to the first data to the credential recorder;
and when the data receiver receives the notice that the first data receiving acceptance code generated by the second hash value and the data verification code is incorrect, the second hash value, the data verification code and the first data receiving acceptance code are sent to the credential recorder again. The inaccuracy refers to: and adding the second hash value and the data verification code, then carrying out encryption processing on the added result, and if the value after encryption processing is not equal to the first data receiving acceptance code, determining that the value is incorrect.
And when the credential recorder adds the second hash value and the data verification code, then encrypts the added result, and if the encrypted value is equal to the first data receiving acceptance code, the data receiver receives and stores the first data receiving acceptance code and a third identity verification code corresponding to the first data receiving acceptance code sent by the credential recorder.
According to a third aspect of the present disclosure, there is also provided a credential recording method, including:
S301: responding to a request of a data sender, generating a data exchange initial verification code and a first identity verification code corresponding to the data exchange initial verification code by a credential recorder; transmitting the data exchange initial verification code and the first identity verification code to a data sender; the credential recording method comprises at least three independent parts: a data sender, a data receiver and a credential recorder.
S302: the certificate recorder receives the data exchange verification code and the first identity verification code generated by the data sender;
s303: the credential recorder generates a second identity verification code corresponding to the data exchange verification code and sends the second identity verification code to the data sender;
s304: the certificate recording side receives a data verification code sent by a data receiving side;
when the data exchange verification code is equal to the data verification code, the certificate recorder records the data sender correctly and sends the first data to the data receiver correctly;
and when the data exchange verification code and the data verification code are not equal, the credential recorder informs the data receiver of re-receiving the first data, the data exchange initial verification code and the second identity verification code.
Preferably, the method further comprises:
the certificate recorder receives a first hash value which is sent by a data sender and is obtained by processing the first data;
when the data exchange verification code obtained by the credential recorder through the first hash value and the data exchange initial verification code is incorrect, the credential recorder requests the data sender to send the first hash value, the data exchange initial verification code and the data exchange verification code again. The inaccuracy refers to: and the certificate recorder performs addition processing on the first hash value and the data exchange initial verification code, performs encryption processing on the added result, and is incorrect when the result of the encryption processing is not equal to the data exchange verification code.
And when the result of the encryption processing is equal to the data exchange verification code, the credential recorder stores and records the data exchange verification code, the first hash value and the data exchange initial verification code.
Preferably, the method further comprises:
s305: the certificate recorder receives a first data receiving acceptance code and a second identity verification code sent by the data receiver;
s306: the credential recorder generates a third identity verification code according to the first data receiving acceptance code and sends the third identity verification code to the data receiver;
s307: the certificate recorder receives the first hash value of the first data and the data exchange verification code and jointly calculates the first hash value and the data exchange verification code to obtain a second data receiving acceptance code;
when the second data receiving acceptance code is equal to the first data receiving acceptance code, the credential recorder informs the data sender of successful information of the first data transmission;
and when the second data receiving acceptance code is not equal to the first data receiving acceptance code, the certificate recording party informs the data transmitting party of requesting the data receiving party to transmit the first data receiving acceptance code and the third identity verification code again.
Preferably, the method further comprises:
the certificate recorder receives a second hash value which is sent by the data receiver and is obtained by processing the first data;
And when the first data receiving acceptance code obtained by the credential recorder through calculation of the second hash value and the data exchange verification code is incorrect, the credential recorder requests the data receiver to send the second hash value, the data exchange verification code and the first data receiving acceptance code again. The inaccuracy refers to: and when the certificate recorder performs addition processing on the second hash value and the data exchange verification code, and performs encryption processing on the addition result, if the result of the encryption processing is not equal to the first data receiving acceptance code, the result is incorrect.
And when the certificate recorder performs addition processing on the second hash value and the data exchange verification code, and performs encryption processing on the addition result, if the encryption processing result is equal to the first data receiving verification code, the certificate recorder stores and records a third identity verification code corresponding to the first data receiving verification code, a second identity verification code corresponding to the data exchange verification code and the second hash value. And returning the third authentication code and the success information to the data receiver.
Preferably, the values of the first authentication code, the second authentication code and the third authentication code are gradually increased from small to large.
Preferably, the data exchange initial verification code is randomly generated by the credential recorder or is taken from the last piece of data of a data exchange credential chain in the credential recorder. When the record in the data exchange certificate chain is empty, a certificate recorder randomly generates a data exchange initial verification code, and a first identity verification code corresponding to the data exchange initial verification code is obtained. When the data exists in the data exchange certificate chain, the last piece of data is taken as the initial verification code of the data exchange, and a corresponding first identity verification code is generated.
The data transmission, the data receiving and the certificate recording are formed by at least three mutually independent parts, so that the data tampering in the middle of the data transmission and the data receiving can be avoided.
First, the credential recorder cannot create the data exchange verification code or the first data reception acceptance code. The important credential data recorded by the credential recorder is a data exchange verification code and a first data receiving acceptance code. The data exchange verification code is derived from the hash value of the first data and the data exchange initial verification code. The first data hash value only exists in the data sender or the data receiver, and the data exchange initial verification code is derived from the first data of the credential chain or the last data of the file exchange credential data chain. And the first data reception acceptance code is derived from the calculation of the data exchange verification code and the first hash value.
Therefore, since the credential recorder cannot obtain the first hash value, it cannot dub the data exchange credential data.
Second, if the credential is tampered, the credential record chain automatically fails.
Since the data before and after the credential data chain has a close verification relationship, namely: any record in the credential chain is a calculation factor for the next record, and any tampering with the data once formed will destroy the logical relationship of the data in the credential chain.
Thus, any tampering of the data exchange credential record is verified by either the data sender or the data receiver, and the credential data randomly loses credential effectiveness upon tampering.
Thirdly, the invention also provides a technical scheme that the hash value Hn of the first data is sent to the certificate recorder; if the hash value Hn of the first data is not sent to the credential recorder, even if the technician of the credential recorder artificially tampers with the credential record, the integrity and correctness of the whole credential data chain cannot be verified because the credential recorder does not record the hash value Hn of the file exchange. If the hash value Hn of the first data is sent to the certificate logger, any person and any organization can verify the correctness of the certificate evidence chain, and the safety of data exchange is also improved.
According to a fourth aspect of the present disclosure, there is also provided an electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of the above claims.
According to a fifth aspect of the present disclosure, there is also provided a non-transitory computer-readable storage medium storing computer instructions for causing the computer to perform the method according to any one of the above-mentioned technical solutions.
According to a sixth aspect of the present disclosure, there is also provided a computer program product comprising a computer program which, when executed by a processor, implements a method according to any of the above-mentioned technical solutions. According to embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
Fig. 4 illustrates a schematic block diagram of an example electronic device 400 that may be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 4, the apparatus 400 includes a computing unit 401 that can perform various suitable actions and processes according to a computer program stored in a Read Only Memory (ROM) 402 or a computer program loaded from a storage unit 408 into a Random Access Memory (RAM) 403. In RAM 403, various programs and data required for the operation of device 400 may also be stored. The computing unit 401, ROM 402, and RAM 403 are connected to each other by a bus 404. An input/output (I/O) interface 405 is also connected to bus 404.
Various components in device 400 are connected to I/O interface 405, including: an input unit 406 such as a keyboard, a mouse, etc.; an output unit 407 such as various types of displays, speakers, and the like; a storage unit 408, such as a magnetic disk, optical disk, etc.; and a communication unit 409 such as a network card, modem, wireless communication transceiver, etc. The communication unit 409 allows the device 400 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The computing unit 401 may be a variety of general purpose and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 401 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 401 performs the respective methods and processes described above, such as data transmission, data reception, and credential recording methods. For example, in some embodiments, the data transmission, data reception, and credential recording methods may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 408. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 400 via the ROM 402 and/or the communication unit 409. When the computer program is loaded into RAM 403 and executed by computing unit 401, one or more of the steps of the data transmission, data reception and credential recording methods described above may be performed. Alternatively, in other embodiments, the computing unit 401 may be configured to perform the data transmission, data reception and credential recording methods in any other suitable way (e.g. by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel or sequentially or in a different order, provided that the desired results of the technical solutions of the present disclosure are achieved, and are not limited herein.
The above detailed description should not be taken as limiting the scope of the present disclosure. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present disclosure are intended to be included within the scope of the present disclosure.