Service verification method and apparatus

Information

  • Patent Grant
  • 11816714
  • Patent Number
    11,816,714
  • Date Filed
    Tuesday, January 29, 2019
    5 years ago
  • Date Issued
    Tuesday, November 14, 2023
    6 months ago
Abstract
Embodiments of the present disclosure provide a service-verification method and apparatus, wherein the method comprises: respectively receiving service parameters sent by a same user account on different terminals, respectively calculating corresponding service data according to the service parameters sent by each terminal; storing a plurality of corresponding relationships, each corresponding relationship comprising: service parameters sent by one terminal and corresponding calculated service data; when a service-processing request sent by any one of the different terminals is received and the service-processing request carries a target service parameter and target service data used in a current service, obtaining service data corresponding to the target service parameter according to the corresponding relationships; and acquiring a verification result according to a comparison between the obtained service data and the target service data.
Description
FIELD

The present application relates to the field of computer technologies, in particular to a service-verification method and apparatus.


BACKGROUND

Some services may involve the calculation of dynamic data. For example, a user can use his wireless terminal to shop online and select shopping parameters (e.g., the delivery address) on the shopping page. The backend server of the shopping application can calculate corresponding service data (e.g., shipping cost corresponding to the delivery address) according to the parameter selected by the user, and display the service data on the terminal page for user confirmation. After user confirmation, the data can be used to execute service logic processing. In this case, the above service data is calculated based on the parameters selected by the user on the page. When the parameters selected by the user change, the corresponding service data also changes. This type of service data may be referred to as dynamic data.


In order to ensure service security, the dynamic data usually needs to be verified. For example, the backend server can store the service data in the cache after sending the calculated service data to the terminal page for display to the user. After the user confirms and submits the service data, it is checked whether the service data transmitted from the user terminal is the same as the above cached service data. If the two pieces of data are the same, the verification succeeds and the subsequent service processing is performed using the service data. If the two pieces of data are different, then the verification fails and the service procedure terminates.


SUMMARY

Accordingly, the present disclosure provides a service-verification method and apparatus to improve service security.


In particular, one or a plurality of embodiments of the present disclosure are implemented using the following technical solutions.


In a first aspect, a service-verification method is provided, the method comprising:

    • respectively receiving service parameters sent by the same user account on different terminals, the service parameters sent by the different terminals being different;
    • respectively calculating corresponding service data according to the service parameter sent by each terminal;
    • storing a plurality of corresponding relationships, each corresponding relationship comprising: the service parameter sent by one terminal and the corresponding calculated service data;
    • when a service-processing request sent by any one of the different terminals is received and the service-processing request carries a target service parameter and target service data used in a current service, obtaining service data corresponding to the target service parameter according to the corresponding relationship; and
    • acquiring a verification result according to a comparison between the obtained service data and the target service data.


In a second aspect, a service-verification apparatus is provided, the apparatus comprising:

    • a parameter-receiving module configured to respectively receive service parameters sent by the same user account on different terminals, the service parameters sent by the different terminals being different;
    • a data-calculation module configured to respectively calculate corresponding service data according to the service parameter sent by each terminal;
    • a relationship-storage module configured to store a plurality of corresponding relationships, each corresponding relationship comprising: the service parameter sent by one terminal and the corresponding calculated service data;
    • a data-obtaining module configured to: when a service-processing request sent by any one of the different terminals is received and the service-processing request carries a target service parameter and target service data used in a current service, obtaining service data corresponding to the target service parameter according to the corresponding relationship; and
    • a comparison-verification module configured to acquiring a verification result according to a comparison between the obtained service data and the target service data.


In a third aspect, a service-verification device is provided, the device comprising: a memory, a processor, and computer instructions stored on the memory and executable on the processor, when executing the instructions, the processor implementing the following operations:

    • respectively receiving service parameters sent by the same user account on different terminals, the service parameters sent by the different terminals being different;
    • respectively calculating corresponding service data according to the service parameter sent by each terminal;
    • storing a plurality of corresponding relationships, each corresponding relationship comprising: the service parameter sent by one terminal and the corresponding calculated service data;
    • when a service-processing request sent by any one of the different terminals is received and the service-processing request carries a target service parameter and target service data used in a current service, obtaining service data corresponding to the target service parameter according to the corresponding relationship; and
    • acquiring a verification result according to a comparison between the obtained service data and the target service data.


By storing the service parameter sent by each terminal of the same account and the corresponding calculated service data in the cache, the service-verification method and apparatus of one or more embodiments of the present disclosure can ensure that verification logic of individual terminals do not interfere with each other, thereby ensuring better service flow.





BRIEF DESCRIPTION OF THE FIGURES

In order to more clearly explain the technical solutions in one or more embodiments of the present disclosure or in current technologies, the drawings required in the description of the disclosed embodiments or the current technologies are briefly introduced below. It is obvious that the drawings described below are merely some of embodiments of the disclosed one or a plurality of embodiments. Those of ordinary skill in the art can also obtain other drawings based on these drawings, without inventive efforts.



FIG. 1 is a flowchart of a service verification method provided by one or more embodiments of the present disclosure;



FIG. 2 is an interaction diagram of the service-verification method provided by the one or more embodiments of the present disclosure; and



FIG. 3 is a structural schematic diagram of a service-verification apparatus provided by the one or more embodiments of the present disclosure.





DETAILED DESCRIPTION

In order for those skilled in the art to better understand the technical solutions in the one or more embodiments of the present disclosure, the technical solutions in the one or more embodiments of the present application are clearly and completely described below with reference to the drawings. It is obvious that the described embodiments are merely a part of the embodiments and not all of the embodiments. Based on the one or more embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present disclosure.


In an application scenario involving computation of dynamic data, it is possible that data submitted by a user can be tampered with. For example, when the same user account is used to operate on multiple terminals to obtain dynamic data, a service exception may occur.


For example, a user A selects, on his own wireless terminal a, a service parameter P1 on a page of a shopping application, and a backend server accordingly calculates corresponding service data D1 and stores it in the session. D1 can be displayed and stored on wireless terminal a for confirmation by user A. A user B uses, on another wireless terminal b, the same account as that of the user A to open the same page, but selects another service parameter P2. Accordingly, the backend server calculates another piece of service data D2, which is also stored in the session and overwrites D1. User A finally submits a service-processing request on the wireless terminal a, the service-processing request carrying service parameter P1 selected on wireless terminal a and the confirmed D1.


The above situation is a case of data tampering. User A originally selects the service parameter P1, but the user B tampers with the parameter, changing it into the service parameter P2 on another wireless terminal. Such tampering may be malicious or unintentional. Using a case where the tampering is actually caused by the user unintentionally as an example, user B is a relative or friend of user A and uses the account of user A to change the service parameter on another wireless terminal, but user A is unaware of this change. When user A submits a service-processing request on his own wireless terminal a, verification logic of the backend server compares D1 transmitted by the terminal with the service data stored in the session, and only considers the verification being successful when the two pieces of data are the same. As mentioned above, data stored in the session is replaced as D2, and D1 and D2 are different, the server then determines that the verification fails, notifies user A of a system exception, and interrupts the service processing. This can lead to the service of user A not able to be carried out normally.


That is, when the same account is operated on different terminals and calculation of dynamic data is performed on each terminal, service data from different terminals may overwrite one another in the session, resulting in mutual interference in the service verification on the different terminals and affecting service flow. In view of this, one or more embodiments of the present disclosure provide a service-verification method as shown in FIG. 1 to solve the above problem. The method shown in FIG. 1 may be executed by a backend server.


In operation 100, service parameters sent by the same user account on different terminals are respectively received, and the service parameters sent from the different terminals are different.


For example, the same user account sending service parameters on different terminals may be the same user using his same account to operate on different terminals, or different users using the same account to operate on different terminals. The service parameters sent from different terminals may be different. For example, the parameter sent by one terminal is P1, and the parameter sent by another terminal is P2.


In one example, the user account may be an account of an application, and different users can register respective accounts thereof on the application. For example, a user can register an account of a shopping application, and shop on the shopping application using the account. Service parameters sent by different terminals can all be sent to a backend server corresponding to the above-mentioned application. For example, the user logs into his account of the shopping application on a particular terminal, selects a service parameter, and sends the service parameter to the backend server of the shopping application.


In operation 102, corresponding service data is respectively calculated according to the service parameter sent by each terminal.


In this operation, the backend server can respectively calculate the corresponding service data according to the service parameter of each terminal. One terminal may send one or more service parameters, and the backend server may comprehensively calculate the corresponding service data according to the one or more service parameters. The manner of calculation can be determined according to service characteristics.


For example, a service parameter sent by one terminal can be one parameter p1, and then the server can calculate corresponding D11 according to p1; service parameters sent by another terminal can be two parameters p2 and p3, and the server can then calculate corresponding D12 according to p2 and p3.


In operation 104, a plurality of corresponding relationships are stored, and each corresponding relationship includes the service parameter sent by one terminal and the service data obtaining via a corresponding calculation.


The corresponding relationship in this operation can be used to indicate a corresponding relationship between the service parameter sent by one terminal and the service data calculated according to the service parameter. The service parameter and service data in the corresponding relationship are obtained before the backend server sends the service data to a page to display to the user for confirmation. For example, if the user selects service parameters p2 and p3 on the terminal page, the backend server can calculate and acquire D12 according to these two parameters, and then send D12 to the terminal page to display for user confirmation. The server then stores a corresponding relationship between the above “p2 and p3” and “D12.” Certainly, the corresponding relationship described herein may be an identifier calculated according to “p2 and p3.”


In operation 106, when a service-processing request sent by any one of the different terminals is received and the service-processing request carries a target service parameter and target service data used in a current service, service data corresponding to the target service parameter is obtained according to the corresponding relationship.


Since the backend server stores the corresponding relationship between the service parameter sent by each terminal and the service data, for a service-processing request sent by any terminal, service data corresponding to the service parameter in the request can be found according to the corresponding relationship. The service-processing request in this operation may be submitted after the user confirms the service data displayed on the terminal page. The service parameter and service data carried in the request may be respectively referred to as target service parameter and target service data.


In operation 108, a verification result is acquired according to a comparison between the obtained service data and the target service data.


In this example, a comparison can be made to determine whether the service data obtained in operation 106 and the target service data are the same. If they are same, it is considered that the verification is successful, a service corresponding to the service-processing request is executed using the target service data, and the target service data is saved to a database. According to this method, even if there are multiple terminals operated by the same account, regardless of which terminal is submitting the service-processing request, it is only needed to check whether a service parameter sent by the terminal that submits the request matches the service data (a matching means that the service data can be calculated according to the service parameter). In addition, the server stores the corresponding relationship between the service parameter and the service data, and the service data in this corresponding relationship is calculated by the server itself and can be guaranteed to be truthful and accurate. An accurate determination as to whether the service parameter in the service-processing request matches the service data can be made according to the corresponding relationship.


Otherwise, if the service data is different from the target service data, then it can be determined that the verification fails and the service-processing request is rejected. In this case, the verification failure may result from, for example, the user accidentally or intentionally modifying the service parameter, resulting in the service data acquired by the server according to the modified service parameter being different from the target service data. At this time, the server does not allow the user to perform subsequent operations, and an exception notification is provided.


In the above service verification method, the corresponding relationships between service parameters and service data of different terminals are stored, such that, even if a same account is sending a service parameter on different terminals, data in the session will not be overwritten. Therefore, service verification of each terminal can be respectively and independently performed, thereby preventing interference between different terminal operations.


A case where a user creates a shopping order on a wireless terminal is taken as an example below to describe the service-verification method provided in one or more embodiments of the present disclosure. Referencing the interaction diagram shown in FIG. 2, the method may include:


In operation 200, user A opens a shopping page on the wireless terminal a.


For example, user A can request to open the shopping page for shopping on his wireless terminal a, in a manner of entering the address of the shopping page in a browser or clicking a link to the address of the shopping page. Wireless terminal a can request page data from the backend server corresponding to the shopping page, perform page rendering according to the data returned by the server, and display the shopping page to user A.


Wireless terminal a in this example can be referred to as a first terminal. The term “first” is merely used for distinguishing the names of different terminals that appear subsequently, and does not have a limiting effect. Subsequently appeared terms “first,” “second,” etc. have the same principle. In addition, user A can also log in his account L on wireless terminal a.


In operation 202, user A selects service parameters on the shopping page via the wireless terminal a.


For example, the user selects the service parameters, including: param_1, param_2, . . . , and param_N. These parameters can be referred to as first service parameters.


In operation 204, wireless terminal a requests service data corresponding to the service parameters from the backend server.


For example, wireless terminal a can request to obtain the corresponding service data via a backend interface according to the first service parameters selected by the user. Specifically, wireless terminal a sends a service-data request to the backend server, which may carry the first service parameters and a user account L.


In operation 206, the server calculates service data according to the service parameters.


In this operation, the backend server can calculate, according to the first service parameters “param_1, param_2, . . . , param_N” to obtain the corresponding service data result_1, and service data result_1 can be referred to as a first service data.


In operation 208, the server stores a corresponding relationship between the service data and the service parameters in a distributed cache.


For example, storage can be performed using a Key-Value manner and calculation is performed in the following manner:


Calculation of a Key: all the parameters in the first service parameters are added and hashed to obtain a hash value, wherein the hash value can be used as a Key. For example, assuming that the first service parameters can include “param_1, param_2, . . . , param_N,” hash (param_1+param_2 . . . +param_N) can be used as a key. When each parameter (e.g., param_1) is a character string, the aforementioned Key can be obtained by adding these parameter character strings into a large character string and then performing hashing for the large character string.


Calculation of Value: the Value represents the service data. The manner in which the service data is calculated according to the service parameters can be determined according to specific service needs and characteristics. In this example, result_1 in operation 206 can be used as a Value.


The server can store a corresponding relationship between the hash value and the service data. For example, the corresponding relationship can be stored in the distributed cache in the form of Key-Value. In addition, a corresponding relationship between the first service parameters and the first service data can be stored in a storage space corresponding to the user account L.


In operation 210, the server returns the calculated service data to wireless terminal a.


In this operation, the server can send result_1 to the wireless terminal a for confirmation by user A.


Assuming that a relative or friend of user A uses account L of user A to create a shopping order on an another wireless terminal b, then the following operations can be executed:


In operation 212, user B opens the shopping page on wireless terminal b.


Wireless terminal b can be referred to as a second terminal.


In operation 214, user B selects service parameters in the shopping page via wireless terminal b.


For example, the user selects the service parameters including “param_11, param_21, . . . , and param_NN.” These parameters can be referred to as second service parameters.


In operation 216, wireless terminal b requests service data corresponding to the service parameter from the backend server.


For example, wireless terminal b can request to obtain the corresponding service data via a backend interface according to the second service parameters selected by the user. Specifically, wireless terminal b sends a service data request to the backend server, which may carry the second service parameters and user account L. The same user account L is used on wireless terminal b and wireless terminal a.


In operation 218, the server calculates the service data according to service parameters.


In this operation, the backend server can calculate and acquire the corresponding service data result_2 according to the second service parameters “param_11, param_21, . . . , and param_NN,” and service data result_2 can be referred to as second service data.


In operation 220, the server stores a corresponding relationship between the second service data and the second service parameters in the distributed cache.


In this operation, the manner for the calculation of Key-Value is the same as that in operation 208 and is not described herein in detail.


The server also stores the corresponding relationship between the second service data and the second service parameters in the storage space corresponding to user account L. As described above, when storing a corresponding relationships, regardless of whether the storage space stores other corresponding relationships, the server does not perform data overwriting, but stores a plurality of corresponding relationships in the space. For example, the storage space corresponding to user account L stores at least two corresponding relationships as shown in Table 1 below. Table 1 shows that user account L is logged in on the two terminals, both having configured parameters:









TABLE 1







Corresponding relationships










Key
Value







hash (param_1 + param_2 . . . + param_N)
result_1



hash(param_11 + param_21 . . . + param_NN)
result_2










In operation 222, the server returns the calculated service data to wireless terminal b. For example, the server can send result_2 to the wireless terminal b.


Although both user A and user B use account L to configure parameters on their respective terminals, in this example, in the end it is user A who submits an order on wireless terminal a for confirmation.


In operation 224, user A submits the order on wireless terminal a.


For example, on wireless terminal a, user A confirms page information that he filled out and confirms result_1. Considering that an order can be created, user A can click order-creation on the page on wireless terminal a to request the server to create the order, which can be referred to as sending a service-processing request to the server. It should be noted that, at this time when the service-processing request is submitted to the server, the parameters carried are still result_1, as well as the first service parameters “param_1, param_2, . . . , and param_N” configured by user A. The first service parameters can be referred to as the target service parameters, and result_1 can be referred to as the target service data.


In operation 226, the server obtains the service data corresponding to the target service parameters according to the corresponding relationship.


For example, the server can perform a hashing operation on “param_1, param_2, . . . , and param_N,” thus obtaining Key=hash (param_1+param_2 . . . +param_N). In addition, the service data result_1 corresponding to the service-processing request can be acquired from the storage space of user account L in the distributed cache, according to the corresponding relationship in Table 1.


In operation 228, the server acquires a verification result according to the comparison outcome between the service data and the target service data.


For example, if the service data obtained in operation 226 is the same as the target service data, then the verification is determined as successful, and the service corresponding to the service-processing request is executed using the target service data. For example, an order can be created using result_1, and target service data result_1 can be saved to the database.


If the obtained service data is different from the target service data, then the verification is determined as failed, and the service-processing request is rejected, that is, the order is not created for the user. In this case, the verification failure may result from the user intentionally tampering with the data. For example, instead of choosing to configure the service parameters on the shopping page, the user modifies the parameters while the wireless terminal is transmitting the parameters to the server. In this case, the user is not allowed to perform subsequent operations, and an exception can be displayed.


In addition, another possibility is that: when the service parameters are tampered with during the transmission from the wireless terminal to the server, it is possible that the tampered service parameters do not exist in the corresponding relationships stored in the distributed cache, then the server can perform a recalculation according to the service parameters (that is, the service parameters after tampering, which can also be referred to as the target service parameters, and the service parameters carried in the service-processing request can be referred to as the target service parameters) transmitted by the wireless terminal, and the acquired service data can be referred to as new service data. The new service data can be compared with the target service data (the service data carried in the service-processing request can be referred to as the target service data) to determine whether the two pieces of data are the same. If the two pieces of data are the same, then the verification succeeds; otherwise, it can be determined that the verification fails.


By storing the service parameters sent by each terminal of the same account and the corresponding calculated service data in the cache, the service-verification method of this example can ensure that verification logic of individual terminals does not interfere with each other. Regardless of the wireless terminal on which the user submits the data, a system can extract the corresponding service data from the cache according to the parameters transmitted by the terminal and compare it with the submitted service data to determine whether the verification succeeds. According to this method, when performing calculation involving dynamic data, if different users use the same account to perform an operation of obtaining dynamic data on different wireless terminals, regardless of which user is performs the operation and on which wireless terminal the operation is performed, it can be ensured that the data submitted by the user is not tampered with and a service is carried out normally without interruption, thereby ensuring a better service flow.


In order to implement the above service-verification method, one or more embodiments of the present disclosure further provide a service-verification apparatus. As shown in FIG. 3, the apparatus may include: a parameter-receiving module 31, a data-calculation module 32, a relationship-storage module 33, a data-obtaining module 34, and a comparison-verification module 35.


Parameter-receiving module 31 is configured to respectively receive service parameters sent by the same user account on different terminals. Service parameters sent by the different terminals are different.


Data-calculation module 32 is configured to respectively calculate corresponding service data according to the service parameters sent by each terminal.


Relationship-storage module 33 is configured to store multiple corresponding relationships, each corresponding relationship including: the service parameters sent by one terminal and the corresponding calculated service data.


Data-obtaining module 34 is configured to: when a service-processing request sent by any one of the different terminals is received and the service-processing request carries a target service parameter and target service data used in a current service, obtaining service data corresponding to the target service parameters according to the corresponding relationship.


Comparison-verification module 35 is configured to acquire a verification result according to a comparison outcome between the obtained service data and the target service data.


In one example, relationship-storage module 33 is specifically configured to: when one terminal sends multiple service parameters, perform hashing for the sum of the multiple service parameters to acquire a hash value; and store a corresponding relationship between the hash value and the service data.


In one example, comparison-verification module 35 is specifically configured to:


if the obtained service data is the same as the target service data, then determine that verification succeeds, execute the service corresponding to the service-processing request using the target service data, and store the target service data in a database; and


if the obtained service data is different from the target service data, then determine that the verification fails, and reject the service-processing request.


For ease of description, in the description of the above apparatus, the apparatus is divided into various modules described separately according to functions. Certainly, during implementation of the one or more embodiments of the present disclosure, the functions of the various modules can be implemented in the same or multiple pieces of software and/or hardware.


The execution sequence of the operations shown in the above method embodiments is not limited to the sequence in the flowchart. In addition, the description of each operation can be implemented in the form of software, hardware, or a combination thereof. For example, those skilled in the art can implement it in the form of software codes, which can be computer-executable instructions capable of implementing the logical functions corresponding to the operation. When the operation is implemented in the form of software, the executable instructions may be stored in a memory and executed by a processor in a device.


For example, corresponding to the above method, one or more embodiments of the present disclosure provide a service-verification device, and the device can include: a processor, a memory, and computer instructions stored in the memory and executable by the processor, when executing the instructions, the processor implementing the following operations:

    • respectively receiving service parameters sent by the same user account on different terminals, the service parameters sent by the different terminals being different;
    • respectively calculating corresponding service data according to the service parameters sent by each terminal;
    • storing a plurality of corresponding relationships, each corresponding relationship comprising: the service parameters sent by one terminal and the corresponding calculated service data;
    • when a service-processing request sent by any one of the different terminals is received and the service-processing request carries a target service parameter and target service data used in a current service, obtaining service data corresponding to the target service parameter according to the corresponding relationship; and
    • acquiring a verification result according to a comparison outcome between the obtained service data and the target service data.


The apparatus or module illustrated in the above embodiments may be specifically implemented by a computer chip or entity, or by a product with certain functionalities. A typical implementation device is a computer, the specific form of a computer may be a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email transceiver device, a gaming console, a tablet computer, a wearable device, or a combination of any of these devices.


Those skilled in the art will appreciate that one or more embodiments of the present disclosure may be provided as a method, system, or computer program product. Accordingly, one or more embodiments of the present disclosure may take the form of a full hardware embodiment, a full software embodiment, or a combination of software and hardware. Further, one or more embodiments of the present disclosure can be in the form of computer program products that may be implemented on one or more computer readable storage mediums (including, but not limited to, disk storage, CD ROM, optical storage, etc.) that include computer readable program codes.


These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing device in a particular manner, such that instructions stored in the computer-readable memory produce a manufacturing product that includes an instruction device that implements the functions specified in one or more processes in a flowchart and/or one or more blocks in a block diagram.


These computer program instructions may also be loaded onto a computer or other programmable data processing devices such that a series of operations are performed on the computer or other programmable device to produce computer-implemented processing, such that instructions executed on the computer or other programmable devices provide operations for implementing the functions specified in one or more processes in a flowchart and/or one or more blocks in a block diagram.


It is also important to note that the terms “including”, “comprising” or any other variant thereof are intended to cover non-exclusive inclusion, such that processes, methods, goods or devices, including a series of elements, include not only those elements but also other elements not explicitly listed, or also include elements inherent to such processes, methods, goods or equipment. In the absence of more restrictions, the element defined by the statement “including one . . . ” does not exclude other identical elements in the process, method, commodity or equipment that includes the element.


One or more embodiments of the present disclosure may be described in the general context of computer-executable instructions executed by a computer, such as a program module. Typically, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. One or more embodiments of the present disclosure can also be practiced in a distributed computing environment in which the task is performed by a remote processing device connected by a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media, including storage devices.


Each embodiment of the present disclosure is described in a progressive manner, and the same or similar sections between various embodiments are described with reference to each other, each of which is focused on the differences with other embodiments. In particular, for a service-end device embodiment, as it is substantially similar to the method embodiment, the description is simple and relevant, and for the relevant part, reference is made to the part of description of the method embodiment.


The foregoing describes specific embodiments of the present disclosure. Other embodiments fall within the scope of the appended claims. In some cases, the actions or operations recited in the claims may be performed in a sequence different from the order in the embodiments and may still achieve the desired result. Further, the processes depicted in the drawings do not necessarily require the particular order or sequential order shown to achieve the desired result. In certain implementations, multitasking and parallel processing is or may be advantageous.


Only some embodiments of the one or more embodiments of the present disclosure are described above, and they are not intended to limit the present disclosure, any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present disclosure, shall fall within the protection scope of the present disclosure.

Claims
  • 1. A service-verification method, the method comprising: respectively receiving service parameters sent by a same user account on different terminals, the service parameters sent by the different terminals being different;respectively calculating corresponding service data according to the service parameters sent by each of the different terminals;storing a plurality of corresponding relationships, each of the plurality of corresponding relationships comprising: the service parameter sent by one of the different terminals and the corresponding calculated service data;when a service-processing request sent by any one of the different terminals is received and the service processing-request carries a target service parameter and target service data used in a current service, obtaining the calculated service data corresponding to the target service parameter according to the corresponding relationship; andacquiring a verification result according to a comparison between the obtained calculated service data and the target service data,wherein in response to one terminal of the different terminals sends a plurality of service parameters, the storing the plurality of corresponding relationships includes: performing hashing for a sum of the plurality of service parameters to acquire a hash value; andstoring a corresponding relationship between the hash value and the service data.
  • 2. The method according to claim 1, wherein the plurality of corresponding relationships are stored in a distributed cache.
  • 3. The method according to claim 1, wherein acquiring the verification result according to the comparison between the obtained service data and the target service data comprises: if the obtained service data is the same as the target service data, then determining that the verification succeeds, executing a service corresponding to the service-processing request using the target service data, and saving the target service data to a database; andif the obtained service data is different from the target service data, then determining that the verification fails, and rejecting the service-processing request.
  • 4. The method according to claim 1, wherein the method further comprises: if the target service parameter does not exist in the corresponding relationships, then calculating the corresponding service data according to the target service parameter; anddetermining whether the service data corresponding to the target service parameter is the same as the target service data, and if they are the same, then the verification succeeds; otherwise, the verification fails.
  • 5. The method according to claim 1, wherein respectively receiving the service parameters sent by the same user account on the different terminals, respectively calculating the corresponding service data according to the service parameters sent by the each of the different terminals, and storing the plurality of corresponding relationships comprise: receiving a first service parameter sent by a first terminal, and calculating corresponding first service data according to the first service parameter, the first terminal corresponding to the same user account;storing a corresponding relationship between the first service parameter and the first service data in a storage space corresponding to the same user account;receiving a second service parameter sent by a second terminal, and calculating corresponding second service data according to the second service parameter; storing a corresponding relationship between the second service parameter and the second service data in the storage space; andwherein obtaining the service data corresponding to the target service parameter comprises: obtaining the service data corresponding to the target service parameter from the storage space of the same user account corresponding to the service-processing request.
  • 6. A service-verification apparatus, the apparatus comprising: a parameter-receiving module configured to respectively receive service parameters sent by a same user account on different terminals, the service parameters sent by the different terminals being different;a data-calculation module configured to respectively calculate corresponding service data according to the service parameter sent by each of the different terminals;a relationship-storage module configured to store a plurality of corresponding relationships, each of the plurality of corresponding relationships comprising: the service parameters sent by one of the different terminals and corresponding calculated service data;a data-obtaining module configured to: when a service-processing request sent by any one of the different terminals is received and the service-processing request carries a target service parameter and target service data used in a current service, obtaining the calculated service data corresponding to the target service parameter according to the corresponding relationships; anda comparison verification module configured to acquire a verification result according to a comparison between the obtained calculated service data and the target service data,wherein in response to one terminal of the different terminals sends a plurality of service parameters, the storing the plurality of corresponding relationships includes: performing hashing for a sum of the plurality of service parameters to acquire a hash value; andstoring a corresponding relationship between the hash value and the service data.
  • 7. The apparatus according to claim 6, wherein the comparison-verification module is specifically configured to: if the obtained service data is same as the target service data, then determine that the verification succeeds, execute a service corresponding to the service-processing request using the target service data, and saving the target service data to a database; andif the obtained service data is different from the target service data, then determine that the verification fails, and reject the service-processing request.
  • 8. A service-verification device, the device comprising: a memory, a processor, and computer instructions stored on the memory and executable on the processor, when executing the instructions, the processor implementing following operations: respectively receiving the service parameters sent by a same user account on different terminals, the service parameters sent by the different terminals being different;respectively calculating corresponding service data according to service parameters sent by each of the different terminals;storing a plurality of corresponding relationships, each of the plurality of corresponding relationships comprising: the service parameters sent by one of the different terminals and corresponding calculated service data;when a service-processing request sent by any one of the different terminals is received and the service-processing request carries a target service parameter and target service data used in a current service, obtaining the calculated service data corresponding to the target service parameter according to the corresponding relationships; andacquiring a verification result according to a comparison between the obtained calculated service data and the target service data,wherein in response to one terminal of the different terminals sends a plurality of service parameters, the storing the plurality of corresponding relationships includes: performing hashing for a sum of the plurality of service parameters to acquire a hash value; andstoring a corresponding relationship between the hash value and the service data.
  • 9. The service-verification device according to claim 8, wherein the plurality of corresponding relationships are stored in a distributed cache.
  • 10. The service-verification device according to claim 8, wherein acquiring the verification result according to the comparison between the obtained service data and the target service data comprises: if the obtained service data is the same as the target service data, then determining that the verification succeeds, executing a service corresponding to the service-processing request using the target service data, and saving the target service data to a database; andif the obtained service data is different from the target service data, then determining that the verification fails, and rejecting the service-processing request.
  • 11. The service-verification device according to claim 8, wherein the operations further comprise: if the target service parameter does not exist in the corresponding relationships, then calculating the corresponding service data according to the target service parameter; anddetermining whether the service data corresponding to the target service parameter is the same as the target service data, and if they are the same, then the verification succeeds; otherwise, the verification fails.
  • 12. The service-verification device according to claim 8, wherein respectively receiving the service parameters sent by the same user account on the different terminals, respectively calculating the corresponding service data according to the service parameters sent by the each of the different terminal, and storing the plurality of corresponding relationships comprise: receiving a first service parameter sent by a first terminal, and calculating corresponding first service data according to the first service parameter, the first terminal corresponding to the same user account;storing a corresponding relationship between the first service parameter and the first service data in a storage space corresponding to the same user account;receiving a second service parameter sent by a second terminal, and calculating corresponding second service data according to the second service parameter; storing a corresponding relationship between the second service parameter and the second service data in the storage space; andwherein obtaining the service data corresponding to the target service parameter comprises: obtaining the service data corresponding to the target service parameter from the storage space of the same user account corresponding to the service-processing request.
  • 13. The apparatus according to claim 6, wherein the relationship-storage module is configured to store the plurality of corresponding relationships in a distributed cache.
  • 14. The apparatus according to claim 6, wherein, in response to the data-obtaining module determines that the target service parameter does not exist in the corresponding relationships, the data-calculation module is configured to calculate the corresponding service data according to the target service parameter; and wherein the comparison verification module is configured to determine whether the service data corresponding to the target service parameter is the same as the target service data, and if the service data corresponding to the target service parameter is the same as the target service data, the comparison verification module determines that the verification succeeds; otherwise, the comparison verification module determines that the verification fails.
  • 15. The apparatus according to claim 6, wherein, while respectively receiving the service parameters sent by the same user account on the different terminals, respectively calculating the corresponding service data according to the service parameters sent by the each of the different terminals, and storing the plurality of corresponding relationships, the parameter-receiving module, the data-calculation module, and the relationship-storage module are configured to: receive a first service parameter sent by a first terminal, calculate corresponding first service data according to the first service parameter, the first terminal corresponding to the same user account, and store a corresponding relationship between the first service parameter and the first service data in a storage space corresponding to the same user account; andreceive a second service parameter sent by a second terminal, calculate corresponding second service data according to the second service parameter, and store a corresponding relationship between the second service parameter and the second service data in the storage space; andwherein, while obtaining the service data corresponding to the target service parameter, the data-obtaining module is configured to obtain the service data corresponding to the target service parameter from the storage space of the same user account corresponding to the service-processing request.
Priority Claims (1)
Number Date Country Kind
201810224144.3 Mar 2018 CN national
PCT Information
Filing Document Filing Date Country Kind
PCT/CN2019/073555 1/29/2019 WO
Publishing Document Publishing Date Country Kind
WO2019/179244 9/26/2019 WO A
US Referenced Citations (144)
Number Name Date Kind
4281391 Huang Jul 1981 A
6526166 Gorman Feb 2003 B1
6601035 Panagos Jul 2003 B1
6697947 Matyas, Jr. Feb 2004 B1
6725448 Moriya Apr 2004 B1
6726094 Rantze Apr 2004 B1
7103577 Blair Sep 2006 B2
7130817 Karas Oct 2006 B2
7149720 Shepherd Dec 2006 B2
7321874 Dilip Jan 2008 B2
7447663 Barker Nov 2008 B1
7617157 Seifert Nov 2009 B2
7636679 Song Dec 2009 B2
7734527 Uzo Jun 2010 B2
7809636 Jou Oct 2010 B1
7809762 Parker Oct 2010 B1
7877297 Gould Jan 2011 B2
7941760 Kocienda May 2011 B2
7946474 Agrawal May 2011 B1
7978900 Nepomniachtchi Jul 2011 B2
8090642 Van Doren Jan 2012 B1
8176324 Krishnamurthy May 2012 B1
8280782 Talreja Oct 2012 B1
8423392 Moxley Apr 2013 B2
8423467 Johansson Apr 2013 B1
8498933 Bent Jul 2013 B1
8645295 Dillard Feb 2014 B1
9111073 Jiang Aug 2015 B1
9239722 Calahan Jan 2016 B1
9317850 Keresman, III Apr 2016 B2
9621348 Bahjat Apr 2017 B2
9715681 Hammad Jul 2017 B2
10176478 Griggs Jan 2019 B2
10586227 Makhdumi Mar 2020 B2
20020111916 Coronna Aug 2002 A1
20020156687 Carr Oct 2002 A1
20020161466 Heching Oct 2002 A1
20030042301 Rajasekaran Mar 2003 A1
20030061172 Robinson Mar 2003 A1
20030200190 Adar Oct 2003 A1
20040139008 Mascavage Jul 2004 A1
20040153407 Clubb Aug 2004 A1
20050038707 Roever Feb 2005 A1
20050071637 Shirakawa Mar 2005 A1
20050075954 Matsumoto Apr 2005 A1
20050113123 Torvinen May 2005 A1
20050144406 Chong Jun 2005 A1
20050170856 Keyani Aug 2005 A1
20050240935 Ramanathan Oct 2005 A1
20060010190 Shimbo Jan 2006 A1
20060056626 Keohane Mar 2006 A1
20060069635 Ram Mar 2006 A1
20060089897 Maas Apr 2006 A1
20060176847 Chen Aug 2006 A1
20060220842 Breed Oct 2006 A1
20060271783 Wong Nov 2006 A1
20070035617 Ko Feb 2007 A1
20070043651 Xiao Feb 2007 A1
20070276730 Lee Nov 2007 A1
20080004981 Gopalpur Jan 2008 A1
20080077542 Mcelhiney Mar 2008 A1
20080097805 Wells Apr 2008 A1
20080119160 Andriantsiferana May 2008 A1
20080120160 Woo May 2008 A1
20080182586 Aaron Jul 2008 A1
20080228595 Hill Sep 2008 A1
20080235122 Weitzman Sep 2008 A1
20080306839 Starrs Dec 2008 A1
20090076926 Zinberg Mar 2009 A1
20090090772 Lee Apr 2009 A1
20090094275 Patton Apr 2009 A1
20090106825 Cerruti Apr 2009 A1
20090144451 Cabezas Jun 2009 A1
20090157522 Srinivasan Jun 2009 A1
20090195506 Geidl Aug 2009 A1
20100042600 Orr Feb 2010 A1
20100060585 Chiu Mar 2010 A1
20100073302 Ritzau Mar 2010 A1
20100088026 Manolescu Apr 2010 A1
20100162036 Linden Jun 2010 A1
20100191648 Smith Jul 2010 A1
20100210240 Mahaffey Aug 2010 A1
20100223543 Marston Sep 2010 A1
20100235283 Gerson Sep 2010 A1
20100241575 Cotton Sep 2010 A1
20100250436 Loevenguth Sep 2010 A1
20110016520 Cohen Jan 2011 A1
20110093493 Nair Apr 2011 A1
20110125616 Ni May 2011 A1
20110125667 Faludi May 2011 A1
20110184840 Godard Jul 2011 A1
20110231465 Phatak Sep 2011 A1
20110258027 Lee Oct 2011 A1
20110264598 Fuxman Oct 2011 A1
20110269425 Drovdahl Nov 2011 A1
20120016799 Killian Jan 2012 A1
20120076283 Ajmera Mar 2012 A1
20120101942 Park Apr 2012 A1
20120116869 Vasudevan et al. May 2012 A1
20120117271 Kennedy May 2012 A1
20120143924 Sethi Jun 2012 A1
20120158467 Hammad Jun 2012 A1
20120198228 Oberheide Aug 2012 A1
20120204256 Craine Aug 2012 A1
20120233073 Salmon Sep 2012 A1
20120259774 Marti Oct 2012 A1
20120259783 Kemper Oct 2012 A1
20120284776 Sundaram Nov 2012 A1
20120299831 Lioy Nov 2012 A1
20120323846 Bai Dec 2012 A1
20130066889 Rodriguez Mar 2013 A1
20130067055 Cheng Mar 2013 A1
20130094751 Nepomniachtchi Apr 2013 A1
20130110670 Webber May 2013 A1
20130232071 Dilip Sep 2013 A1
20130246172 Moissinac Sep 2013 A1
20130311532 Olsen Nov 2013 A1
20130317895 Turner Nov 2013 A1
20130331130 Lee Dec 2013 A1
20140037184 Gorski Feb 2014 A1
20140052636 Mattes Feb 2014 A1
20140156512 Rahman Jun 2014 A1
20140162698 Han Jun 2014 A1
20140164109 Chow Jun 2014 A1
20140173755 Wahl Jun 2014 A1
20140236801 Hansen Aug 2014 A1
20140279525 Mohsenzadeh Sep 2014 A1
20140280910 Swig Sep 2014 A1
20140306896 Sosby Oct 2014 A1
20140310133 Bednar Oct 2014 A1
20140310171 Grossman Oct 2014 A1
20150066679 Mack Mar 2015 A1
20150154587 Chetty Jun 2015 A1
20150186989 Kneen Jul 2015 A1
20150220876 Sethi Aug 2015 A1
20150235477 Simkin Aug 2015 A1
20150356288 Guo Dec 2015 A1
20150379460 Zamer Dec 2015 A1
20150381629 O'Sullivan Dec 2015 A1
20160004857 Chen Jan 2016 A1
20160012503 Fu Jan 2016 A1
20160077734 Buxton Mar 2016 A1
20170270598 Ram Sep 2017 A1
20190230070 Isaacson Jul 2019 A1
Foreign Referenced Citations (32)
Number Date Country
101383032 Mar 2009 CN
201498035 Jun 2010 CN
103559190 Feb 2014 CN
106888248 Jun 2017 CN
107786491 Mar 2018 CN
108632348 Oct 2018 CN
102004047258 Apr 2006 DE
0992949 Apr 2000 EP
1067471 Jan 2001 EP
2378787 Feb 2003 GB
10240690 Sep 1998 JP
2000082101 Mar 2000 JP
2001297283 Oct 2001 JP
2003271851 Sep 2003 JP
2006259854 Sep 2006 JP
2007087081 Apr 2007 JP
2008532112 Aug 2008 JP
2009020676 Jan 2009 JP
2010066886 Mar 2010 JP
2012168616 Sep 2012 JP
2013235605 Nov 2013 JP
201441614 Jun 2014 JP
2014515149 Jun 2014 JP
6564841 Aug 2019 JP
20020057906 Jul 2002 KR
1020020057906 Jul 2002 KR
1020070034296 Mar 2007 KR
2012045128 Apr 2012 WO
2013003372 Jan 2013 WO
2013149883 Oct 2013 WO
WO-2016201267 Dec 2016 WO
2017080768 May 2017 WO
Related Publications (1)
Number Date Country
20210082014 A1 Mar 2021 US