Detailed Description
In order that those skilled in the art will better understand the technical solutions in this specification, a clear and complete description of the technical solutions in this specification embodiment will be provided below with reference to the drawings in one or more embodiments of this specification, and it is apparent that the described embodiments are only some embodiments of this specification, but not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the embodiments herein, are intended to be within the scope of the present disclosure.
The following describes in detail the technical solutions provided by the embodiments of the present specification with reference to the accompanying drawings.
Fig. 2 is a flowchart of a method for sending an electronic red packet according to an embodiment of the present disclosure, including the following steps:
s200: a message specified by a user is obtained.
The execution subject of the method can be a mobile phone, a computer and other terminals of the user.
In the embodiment of the present disclosure, the message specified by the user is a message to be encapsulated in an electronic red packet, and after receiving the electronic red packet, the receiver receives the electronic red packet and obtains the electronic red packet, so as to obtain the message. It should be noted that, the message described in this specification refers to a message that the sender wants to make the receiver aware, and the message is not a numerical value for indicating how much property is packaged in the electronic red packet. The specification does not limit the specific form of the message. For example, the message may be a blessing "congratulating and financial" or a pattern, such as a Fuwa pattern.
In this illustrated embodiment, when the user needs to send the electronic red packet, the terminal may acquire a message input by the user, or may provide a plurality of alternative messages to the user, and acquire a message selected by the user from the plurality of alternative messages. Further, a part of the messages acquired by the terminal may be user-inputted, and another part of the messages may be user-selected.
Further, each alternative message provided to the user may be determined by the terminal according to the user's preferences. And the preferences of the user may be determined by the terminal based on the characteristics of the user. For example, provided that the gender information contained in the user information of the user is female, several alternative messages provided by the terminal to the user may be "beauty", "fashion", etc.
Furthermore, when several alternative messages are provided to the user, the user may send a first instruction to the terminal, which causes the terminal to change the alternative messages provided to said user, since it is generally not possible for the terminal to provide all alternative messages to the user selection at once, but only a part of them.
In addition, the message may include a first sub-message and a second sub-message. For example, the message may include a first sub-message "wealth" and a second sub-message "share nabobism. Wherein the first sub-message is information for determining a value corresponding to the message, and the second sub-message is information associated with the first sub-message. Step 1 in fig. 4a mentioned later shows the first sub-message and the second sub-message.
It should be noted that, a "message library" may be preset, where several groups of associated first messages and second messages are stored in the message library. When the user needs to send the electronic red envelope, a plurality of alternative messages (comprising a first message and a second message) can be provided for the user to select; the method comprises the steps of acquiring information input by a user, judging whether the information input by the user exists in each first information in the information library, and if so, determining the information input by the user and the second information related to the information as information appointed by the user; otherwise, the user can be prompted that no message input by the user exists in the message library, and the user needs to input again.
For example, the user-input message "Ben" may be acquired, and then it is determined that the user-input message "Ben" does not exist in the first messages in the message library, and the user is prompted to reenter other messages.
S202: and determining the value corresponding to the message according to a preset rule.
In the present embodiment, the value of the property enclosed in the electronic purse is not specified directly by the user (e.g., directly specifying that 5-membered money is enclosed in the electronic purse), but is determined based on the message (e.g., "good") the user is to send and a preset rule. The rules can be set as required.
Specifically, the terminal may determine the complexity of the message according to a preset algorithm, and then determine the value corresponding to the message according to the corresponding relationship between the preset complexity and the value and the complexity of the message. The complexity of the message may be the number of elements constituting the message, the cost required for generating the message, etc., and the complexity of the message depends on the specific form of the message, which is not limited in this specification.
In the embodiment of the present specification, it may be generally preset that: the higher the complexity, the higher the value to which the complexity corresponds, i.e., the higher the value to which the message of higher complexity corresponds. For example, when the message is composed of Chinese characters, the complexity of the message may be the number of strokes of the Chinese characters contained in the message, and the more strokes, the higher the corresponding value of the Chinese characters. When the message is composed of english words, the complexity of the message may be the number of letters contained in the message, and the greater the number of characters contained, the higher the corresponding value of the english message. When the message is a voice message, the complexity of the message may be the length of the voice, with the longer the length of the voice, the higher its corresponding value.
In addition, when the message includes a first sub-message and a second sub-message, the terminal may determine a value corresponding to the first sub-message according to a preset rule, as the value corresponding to the message. For example, the message includes a first sub-message "wealth" and a second sub-message "share nabobism", the terminal determines the stroke number of the first sub-message "wealth", and then takes the value corresponding to the stroke number of "wealth" as the value corresponding to the message.
S204: and acquiring the virtual property of the value from the account of the user.
In the embodiment of the present specification, since the electronic red package is actually a piece of electronic data, the electronic red package carries not an actual "property" but a "virtual property" corresponding to the actual "property". Because the virtual property often has actual value, the receiving party receiving the electronic red packet obtains the virtual property carried by the electronic red packet, which is equivalent to obtaining the corresponding actual property.
The virtual property may be virtual currency (or actual electronic currency), virtual articles, etc., and in particular, the virtual property may be virtual gold. The value of gold can generally be measured in terms of its weight, so the value can be the weight of gold. The description will be continued with the example that the property is virtual gold.
In this embodiment of the present description, the account may be a gold account. The user may register a gold account in advance, and the virtual gold in the user's gold account may be purchased according to an actual gold price (at the time of purchase) using the amount of money (i.e., electronic money amount) in the user's payment account, so that the virtual gold in the user's gold account represents gold actually owned by the user. The user can govern the gold he or she actually owns at his or her own will, such as selling gold. After the terminal determines the value (weight of gold) corresponding to the message designated by the user, the virtual gold of the weight can be obtained from the gold account of the user.
It should be noted that the gold account and the payment account of the user have an association. For example, the user's payment account may be the primary account and the user's gold account may be the sub-account associated with the payment account.
In this embodiment of the present disclosure, before the terminal obtains the virtual gold of the weight from the gold account of the user (i.e., before this step), it may first determine whether the gold account of the user is authenticated by a real name, if so, this step is executed, otherwise, this step may be refused to be executed. Or before the step, the terminal can firstly judge whether the payment account of the user is authenticated by a real name, if so, the step is executed, otherwise, the step can be refused to be executed.
In addition, before the terminal obtains the virtual gold with the weight from the gold account of the user, the virtual gold with the weight in the gold account of the user can be frozen. In this way, the following can be avoided: the user may move part of the virtual gold in the gold account of the user to other uses through other operations at the same time, so that the gold account is insufficient in stock, and the terminal cannot acquire the virtual gold with the weight from the gold account. Wherein insufficient stock of the gold account means that the stock of virtual gold in the gold account is less than the weight.
If the gold account of the user is insufficient, the virtual gold can be purchased through the payment account of the user, the purchased virtual gold is added into the gold account, and then the virtual gold with the weight is obtained from the gold account.
Specifically, if the stock of the virtual gold in the gold account of the user is smaller than the weight, displaying a virtual gold purchase interface, wherein the virtual gold purchase interface is used for purchasing the virtual gold through the payment account of the user; and if the stock of the virtual gold in the gold account of the user is not less than the weight, acquiring the virtual gold with the weight from the gold account of the user.
Wherein, the virtual gold purchase interface can be displayed through the floating layer. It should be noted that, the floating layer floats on the current interface, so that when the gold account stock of the user is insufficient, the user does not need to exit the current interface and then open the virtual gold purchasing interface, but continues to complete gold purchasing operation on the current interface, which is convenient for the user.
The virtual gold purchase interface may display at least the weight of the virtual gold to be purchased by the user and the amount the user needs to spend. Step 2, shown in figure 4a, mentioned later, illustrates the virtual gold purchase interface.
Because the gold price often fluctuates, the terminal needs to query the current actual gold price and then purchase virtual gold through the user's payment account according to the queried current actual gold price. That is, the amount is determined based on the weight of the virtual gold that the user is to purchase and the current actual gold price of the query. In general, the gold price is stable for one price period (typically one day).
Specifically, the terminal may determine the estimated gold price based on the gold price in a number of price cycles preceding the current price cycle. For example, the gold price in the last price period may be used as the estimated gold price, or the gold price in the previous price period of the specified number may be averaged, and the average value obtained by calculation may be used as the estimated gold price.
If the difference value between the current actual gold price and the estimated gold price is within the specified range, the amount of money required by the user to purchase the virtual gold can be calculated according to the estimated gold price; if the difference between the current actual gold price and the estimated gold price is not in the specified range, the amount of money required by the user to purchase the virtual gold can be calculated according to the current actual gold price, or prompt information or inquiry information is sent out to prompt the user that the current gold price fluctuates greatly, or inquire whether the user determines to purchase the virtual gold. Wherein the specified range can be specified according to the need.
S206: and packaging the message and the obtained virtual property of the value into an electronic red package, and sending the electronic red package to a designated receiver.
When the message includes a first message and a second message, the terminal encapsulates both the first message and the second message into an electronic red envelope so that the first message and the second message are known to the recipient. For example, the first message may be the master word "happy" and the second message may be "happy with open heart.
Further, in this step, there are the following two cases:
1. if the appointed receiver and the user are users of the same social platform, the terminal can directly send the electronic red package to the appointed receiver through the social platform, and can also send the electronic red package to a server corresponding to the social platform through the social platform, and the server sends the electronic red package to the appointed receiver.
2. If the designated receiver and the user are not users of the same social platform (for example, the user is a user of a social platform A, and the receiver is a user of a social platform B), the terminal can generate an identification code for uniquely identifying the electronic red packet according to the electronic red packet through the social platform A, and then send the electronic red packet and the identification code to a server corresponding to the social platform A for storage on one hand, and send the identification code to the receiver through the social platform B on the other hand.
The receiving party, after receiving the identification code, may operate its own terminal (the terminal herein refers to the receiving party's terminal, hereinafter referred to as the receiving party's terminal as the receiving party device) to copy the identification code to the clipboard. When the receiver device starts the application of the social platform A, the identification code can be obtained again from the clipboard through the application of the social platform A, and then the identification code is sent to a server corresponding to the social platform A through the social platform A so as to obtain the electronic red package stored by the server.
Fig. 3 is a method for receiving electronic red packets according to an embodiment of the present disclosure, including:
s300: and receiving the electronic red packet sent by the sender according to the method shown in fig. 2, and displaying the electronic red packet.
S302: and when the electronic red packet is monitored to be triggered, displaying the message and the virtual property carried in the electronic red packet.
The subject of execution of the method may be the terminal of the recipient (which will be referred to herein as the recipient device). The recipient may be a friend of the user on the same social platform in the process shown in fig. 2, or may be a user of another social platform. The sender is the user in the flow shown in fig. 1.
In this embodiment of the present disclosure, the triggering manner of the electronic red packet may specifically refer to that the receiving party obtains the property encapsulated in the electronic red packet, or may refer to that the receiving party clicks a display frame for displaying the electronic red packet so that the terminal displays a red packet card of the electronic red packet, as shown in fig. 4a and 4 b.
Fig. 4a and 4b are schematic diagrams of a terminal displaying a red envelope card after a receiving party clicks a display frame of an electronic red envelope provided in the present specification.
After the receiving party clicks the display frame shown in fig. 4a, the terminal can display the red package card shown in fig. 4b, and then the receiving party triggers the electronic red package no matter whether the receiving party clicks the get control on the red package card to get the electronic red package.
In addition, the recipient device may add the property of value to the recipient's account. When the property is virtual gold, the account of the recipient is a gold account.
The receiver device can also store the message carried in the electronic red packet, receive a second instruction sent by the user, and respond to the second instruction to display the received message carried in each electronic red packet.
Specifically, the receiver device may determine a message selected by the user from the messages carried by the received electronic red packet, and then display the message selected by the user.
Further, the receiving device may determine, for each message to be displayed, at least one of a display size, a display position, and a display brightness corresponding to the message according to the number of times that the user receives the electronic red packet carrying the message, and display the message according to at least one of the display size, the display position, and the display brightness corresponding to the message.
By the method for transmitting and receiving electronic red packages shown in fig. 2 and 3, a message designated by a user can be acquired, and the value of virtual property in the electronic red package to be transmitted can be determined according to the message designated by the user. The invention provides a new method for sending and receiving the electronic red packets for the users of the social platform, so that the method for sending and receiving the electronic red packets, which can be selected by the users, is more diversified.
For ease of understanding, the flow of transmitting and receiving electronic red packets is described in detail below with reference to fig. 5 a.
Fig. 5a is a schematic diagram of a method for transmitting and receiving electronic red packets according to an embodiment of the present disclosure. The numbers 1 to 6 in fig. 5a indicate the 1 st to 6 th steps. As shown in fig. 5a, in step 1, the user may select a word "tunnel" among several chinese characters provided by the terminal (the user may also click on the "write by oneself" button to write a word by himself or click on the "replace batch" button to select a word among several Chinese characters replaced) as the message specified by the user. The terminal may determine the number of strokes of "tunnel" and thus determine the value (gold weight) corresponding to "tunnel" to be 30 mg. The terminal determines that 30 mg of virtual gold is to be obtained from the gold account, determines that the price of the 30 mg of virtual gold is about 8.19 yuan according to the estimated gold price, and then displays the 30 mg of virtual gold and the estimated price to the user. In step 1, the message includes a first message and a second message, wherein the first message is a master word "tunnel" and the second message "friendship" is associated with the master word "tunnel" for a long time.
If the gold account of the user is not sufficient, a virtual gold purchase interface can be popped up through the floating layer to prompt the user that the gold account is insufficient, and the virtual gold in the gold account currently has 1 mg and also needs to be purchased for 29 mg (according to the estimated gold price, the purchase of 29 mg of gold takes 23.39 yuan), as shown in step 2. After the user agrees to purchase, the user may be prompted to pay 23.43 yuan (calculated from the actual golden price queried) as shown in step 3, requesting the user to confirm the payment. After the user clicks "confirm payment", the terminal will send payment information to the server, which will add 29 mg of virtual gold to the user's gold account.
After the terminal obtains 30 mg of virtual gold from the gold account of the user, 30 g of virtual gold, the "tunnel" word and the "friendship" are packaged into an electronic red envelope, as shown in step 4. The user can confirm that the electronic red package is sent to the friend (recipient).
After the recipient can see the electronic red package sent by the user on his recipient device as shown in step 5 and the recipient clicks on the electronic red package, the recipient device displays the first message "tunnel" word, the second message "friendship long" and the virtual good "30 mg gold" as shown in step 6.
Fig. 5b is a schematic diagram of a message wall provided in an embodiment of the present disclosure. As described in the foregoing description of the method shown in fig. 2, after receiving the electronic red packet, the receiver device may save the message carried in the electronic red packet, and receive a second instruction sent by the user, and respond to the second instruction, display the message carried in each received electronic red packet. The interface for presenting the saved at least one message shown in fig. 5b is referred to herein as a "message wall".
As shown in fig. 5b, the message displayed in the message wall may be selected by the receiver, and the display size, display position and display brightness of each message displayed may be determined according to the number of times the receiver receives the electronic red packet carrying the message. Generally, for each message to be displayed, the more times the message is received by the recipient, the larger the display size corresponding to the message, and/or the more centered the display position corresponding to the message, and/or the higher the display brightness corresponding to the message.
In addition, the receiver can trigger the receiver equipment to change the typesetting mode of the message wall through specific actions, such as gestures, shaking the receiver equipment and the like. Specifically, when the action of the user is monitored to meet the specified condition, the receiver device may change the display size and/or the display position and/or the display brightness corresponding to the at least one displayed message according to the specified rule.
Based on the method for sending electronic red packets shown in fig. 2, the embodiment of the present disclosure further correspondingly provides an apparatus for sending electronic red packets, as shown in fig. 6, including:
a first obtaining module 601, configured to obtain a message specified by a user;
a determining module 602, configured to determine a value corresponding to the message according to a preset rule;
a second obtaining module 603 that obtains the virtual good of value from the user's account;
and a sending module 604, configured to package the message and the obtained virtual good of value into an electronic red packet, and send the electronic red packet to a designated receiver.
The first obtaining module 601 obtains a message input by a user; and/or providing a plurality of alternative messages to the user and acquiring the messages selected by the user from the plurality of alternative messages.
The first obtaining module 601, when providing a plurality of alternative messages to a user, if receiving a first instruction sent by the user, changes the alternative messages provided to the user.
The determining module 602 determines the complexity of the message according to a preset algorithm; and determining the value corresponding to the message according to the preset corresponding relation between the complexity and the value and the complexity of the message.
The message is composed of Chinese characters;
the determining module 602 determines the number of strokes of the chinese character contained in the message as the complexity of the message.
The virtual good includes: virtual gold;
the value includes: gold weight.
The second obtaining module 603 obtains the virtual gold of the weight from the gold account of the user.
The second obtaining module 603 displays a virtual gold purchase interface, if the stock of the virtual gold in the gold account of the user is less than the weight, the virtual gold purchase interface being used for purchasing the virtual gold through the payment account of the user; and if the stock of the virtual gold in the gold account of the user is not less than the weight, acquiring the virtual gold with the weight from the gold account of the user.
The second obtaining module 603 displays a virtual gold purchase interface through a floating layer.
The virtual gold purchase interface displays at least the weight of the virtual gold to be purchased by the user and the amount of money required by the user;
The amount is determined based on the weight of the virtual gold to be purchased by the user and the current actual gold price queried.
Based on the method for receiving electronic red packets shown in fig. 3, the embodiment of the present disclosure further correspondingly provides an apparatus for receiving electronic red packets, as shown in fig. 7, including:
the receiving module 701 receives the electronic red packet sent by the sender according to the method shown in fig. 2, and displays the electronic red packet;
and the display module 702 is used for displaying the message and the virtual property carried in the electronic red packet when the electronic red packet is triggered.
The virtual good includes: virtual gold;
the apparatus further comprises: an add module 703 adds the property of value to the account of the recipient.
The apparatus further comprises: the receiving and displaying module 704 receives a second instruction sent by a user; and responding to the second instruction, and displaying the received information carried in each electronic red packet.
The receiving and displaying module 704 determines a message selected by the user from the messages carried by the received electronic red packet; and displaying the message selected by the user.
The receiving and displaying module 704 determines, for each message to be displayed, at least one of a display size, a display position and a display brightness corresponding to the message according to the number of times that the user receives the electronic red packet carrying the message; and displaying the message according to at least one of the display size, the display position and the display brightness corresponding to the message.
Based on the method for sending electronic red packets shown in fig. 2, the embodiment of the present disclosure also correspondingly provides an apparatus for sending electronic red packets, as shown in fig. 8, where the apparatus includes one or more processors and a memory, and the memory stores a program and is configured to execute the following steps by the one or more processors:
acquiring a message appointed by a user;
determining the value corresponding to the message according to a preset rule;
obtaining the virtual good of value from the user's account;
and packaging the message and the obtained virtual property of the value into an electronic red package, and sending the electronic red package to a designated receiver.
Based on the method for receiving electronic red packets shown in fig. 3, the embodiment of the present disclosure also correspondingly provides an apparatus for receiving electronic red packets, as shown in fig. 9, where the apparatus includes one or more processors and a memory, the memory storing a program and configured to execute the following steps by the one or more processors:
receiving an electronic red packet sent by a sender according to the method shown in fig. 2, and displaying the electronic red packet;
and when the electronic red packet is monitored to be triggered, displaying the message and the virtual property carried in the electronic red packet.
In this specification, each embodiment is described in a progressive manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for the apparatus shown in fig. 8 or 9, the description is relatively simple, as it is substantially similar to the method embodiment, with reference to the partial description of the method embodiment being relevant.
In the 90 s of the 20 th century, improvements to one technology could clearly be distinguished as improvements in hardware (e.g., improvements to circuit structures such as diodes, transistors, switches, etc.) or software (improvements to the process flow). However, with the development of technology, many improvements of the current method flows can be regarded as direct improvements of hardware circuit structures. Designers almost always obtain corresponding hardware circuit structures by programming improved method flows into hardware circuits. Therefore, an improvement of a method flow cannot be said to be realized by a hardware entity module. For example, a programmable logic device (Programmable Logic Device, PLD) (e.g., field programmable gate array (Field Programmable Gate Array, FPGA)) is an integrated circuit whose logic function is determined by the programming of the device by a user. The designer programs itself to "integrate" a digital system onto a single PLD without requiring the chip manufacturer to design and fabricate application specific integrated circuit chips. Moreover, nowadays, instead of manually manufacturing integrated circuit chips, such programming is mostly implemented by using "logic compiler" software, which is similar to the software compiler used in program development and writing, and the original code before the compiling is also written in a specific programming language, which is called hardware description language (Hardware Description Language, HDL), but not just one of the hdds, but a plurality of kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), lava, lola, myHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog are currently most commonly used. It will also be apparent to those skilled in the art that a hardware circuit implementing the logic method flow can be readily obtained by merely slightly programming the method flow into an integrated circuit using several of the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, application specific integrated circuits (Application Specific Integrated Circuit, ASIC), programmable logic controllers, and embedded microcontrollers, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, atmel AT91SAM, microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic of the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller in a pure computer readable program code, it is well possible to implement the same functionality by logically programming the method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers, etc. Such a controller may thus be regarded as a kind of hardware component, and means for performing various functions included therein may also be regarded as structures within the hardware component. Or even means for achieving the various functions may be regarded as either software modules implementing the methods or structures within hardware components.
The system, apparatus, module or unit set forth in the above embodiments may be implemented in particular by a computer chip or entity, or by an article of manufacture including a function. One typical implementation is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being functionally divided into various units, respectively. Of course, the functions of each element may be implemented in one or more software and/or hardware elements when implemented in the present specification.
It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article or apparatus that comprises the element.
It will be appreciated by those skilled in the art that embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, the present specification may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present description can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
The description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The foregoing is merely exemplary of the present disclosure and is not intended to limit the disclosure. Various modifications and alterations to this specification will become apparent to those skilled in the art. Any modifications, equivalent substitutions, improvements, or the like, which are within the spirit and principles of the present description, are intended to be included within the scope of the claims of the present description.