Detailed Description
For a better understanding of the technical solutions of the present disclosure, exemplary embodiments of the present disclosure will be described below with reference to the accompanying drawings, in which various details of the embodiments of the present disclosure are included to facilitate understanding, and they should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Embodiments of the disclosure and features of embodiments may be combined with each other without conflict.
As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The terms "connected" or "connected," and the like, are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure, and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
In the technical scheme of the disclosure, the related processes of collecting, storing, using, processing, transmitting, providing, disclosing and the like of the personal information of the user accord with the regulations of related laws and regulations, and the public order colloquial is not violated. The use of user data in the technical scheme complies with national relevant laws and regulations (for example, information security technology personal information security standards, etc.). For example, the personal information access control takes corresponding prescribed measures, the presentation of the personal information gives prescribed limits, the use purpose of the personal information does not exceed the direct or reasonable association range, and the definite identity directivity is eliminated when the personal information is used, so that the accurate positioning to a specific person is avoided.
With the rapid development of the internet, in order to improve the service level of products and reduce the operation cost, the internet enterprises are increasingly focusing on the fine operation in the user group. For example, embedding points are performed for various operations of the user, and user behaviors are analyzed according to the embedding point data, so that improvement, upgrading, and the like can be performed for products according to the user behaviors. In the current practical application, the use effect of the product is usually evaluated by taking the use time of the user on the front-end page as a core index.
The calculation method of the using time of the front-end page is often determined by the opening, closing and refreshing time of the front-end page. Although the method can be used for calculating the using time of the front-end page, the time spent by the operations of switching windows, hiding the browser and the like, which are executed by a user before closing or refreshing the page, can be counted into the using time of the front-end page, so that the accuracy of calculating the using time of the front-end page is reduced.
Based on this, the embodiments of the present disclosure provide a page usage time length determination method, a page usage time length determination apparatus, an electronic device, a computer-readable storage medium, and a computer program product, which are described in detail one by one in the following embodiments.
The method for determining the time length of page usage according to the embodiments of the present disclosure may be performed by an electronic device such as a terminal device or a server, where the terminal device may be a User Equipment (UE), a mobile device, a User terminal, a cellular phone, a cordless phone, a Personal digital assistant (Personal DIGITAL ASSISTANT, PDA), a handheld device, a computing device, a vehicle-mounted device, a wearable device, or the like, and the server may be a separate physical server, a server cluster composed of a plurality of physical servers, or a cloud server capable of cloud computing. The method may be implemented by way of a processor invoking computer readable program instructions stored in a memory.
Referring to fig. 1, fig. 1 illustrates an application scenario of a method for determining a time length of use of a page according to an embodiment of the present disclosure. Taking an application scenario of using a browser page by a user as an example, as shown in fig. 1, the user opens two browser pages, namely, page 1 and page 2, and uses page 1 first, and switches to page 2 for use when page 1 is not closed. In the process of using the page 2 by the user, although the page 1 is not closed, the page 1 is not used by the user, so that in the process of determining the page use duration of the page 1, the duration of the page 1 which is not closed and is not used cannot be calculated into the use duration of the page 1, and if the use duration is counted, the determined page use duration of the page 1 is inaccurate.
Based on this, in the page use time length determination method provided by the present disclosure, the page departure time length of the page, that is, the time length of the page that is not used by the user is determined during the period that the page is not closed. After the opening time stamp and the ending time stamp of the page are obtained, determining the time difference between the ending time stamp and the opening time stamp, calculating the difference between the time difference and the page leaving time based on the time difference and the page leaving time, and determining the calculated difference as the actual use time of the page, so that the time when the page is not closed or not used in the process of determining the page use time of the page can be filtered, and the accuracy of determining the page use time of the page is improved.
The method for determining the time length of page use provided by the embodiment of the disclosure is specifically explained below.
Referring to fig. 2, fig. 2 shows a flowchart of a method for determining a time length of use of a page according to an embodiment of the disclosure, which specifically includes the following steps:
Step 202, under the condition that loading of a target page is completed, acquiring an opening time stamp of the target page.
The page use time length determining method provided by the embodiment of the disclosure is particularly applicable to a browser or any other application program capable of being used for browsing pages. The target page refers to any page needing to determine the page use duration, for example, a browser page, a shopping page and the like. The page use duration refers to the duration that the target page is actually used, and can be specifically understood as the duration that the target page is in a state visible by a user. The starting time stamp refers to a time stamp when the target page is loaded, and the ending time stamp refers to a time stamp when the target page is ended, and specifically can comprise a time stamp when the target page is closed or a time stamp when the target page is refreshed.
Specifically, after loading the target page, the browser or other application program acquires the current timestamp of the target page, and determines the acquired current timestamp as the opening timestamp of the target page. For example, if the target page is loaded at 09 minutes 30 seconds, the opening time stamp of the target page is 09 minutes 30 seconds.
And step 204, under the condition that the switching event of the target page is detected, updating the page departure time of the target page according to the switching event.
After the opening time stamp of the target page is obtained, a switching event of the target page can be detected through a native event (visibilitychange) provided by the browser, so as to determine whether the target page is switched after being opened.
The switching event is used for indicating the switching of the target page between page hiding and page displaying, and specifically comprises a page hiding event and a page displaying event corresponding to the target page. The page hiding event is used for representing that the target page is in a hiding state, such as that the target page is switched, that the target page is minimized and the like, and the page displaying event is used for representing that the target page is in a displaying state, namely that the target page is visible. The page leaving time length refers to the time length when the target page is in a hidden state.
Specifically, after the opening time stamp of the target page is obtained, the switching event of the target page is detected, and in the case that the switching event is detected, the page departure time length of the target page can be updated according to the switching event, so that the page use time length of the target page is determined according to the updated page departure time length in the subsequent process.
In a specific embodiment provided in the present disclosure, updating the page departure time of the target page according to the switching event includes:
Updating the hidden time stamp of the target page to be the first time stamp of the page hidden event under the condition that the switching event is a page hidden event, and keeping the page leaving time of the target page unchanged;
And under the condition that the switching event is a page display event, updating the page departure time of the target page according to the hidden time stamp of the target page and the second time stamp of the page display event.
The hidden timestamp refers to a starting timestamp of the target page in a hidden state. The first time stamp refers to the time stamp of the occurrence of the page hiding event, and the second time stamp refers to the time stamp of the occurrence of the page displaying event.
Specifically, in the case that a switching event of the target page is detected, it is determined that the switching event is specifically a page hiding event or a page displaying event. If the switching event is a page hiding event, it indicates that the target page is in a hiding state, at this time, the hiding time stamp of the target page may be updated to a time stamp when the page hiding event occurs, i.e., a first time stamp, and if the switching event is a page display event, it indicates that the target page is in a display state, at this time, the page departure time of the target page may be updated according to the hiding time stamp of the target page and the time stamp when the page display event occurs, i.e., a second time stamp. Further, according to the hidden timestamp of the target page and the second timestamp of the page display event, the implementation manner of updating the page departure time length is specifically as follows:
In a specific embodiment provided in the present disclosure, updating the page departure time of the target page according to the hidden time stamp of the target page and the second time stamp of the page display event includes:
Determining the time difference between the second time stamp and the hidden time stamp as the current departure time length;
and accumulating the current leaving time length to the recorded page leaving time length to obtain updated page leaving time length.
In practical application, multiple page display events and page hiding events may occur before the target page is closed, so that the duration of the target page in the hidden state can be counted and updated.
The current leaving time length refers to a time length of the current target page in a hidden state, and specifically is a time difference between the second timestamp and the hidden timestamp.
Specifically, in the case where the switching event is detected as the page display event, it is explained that the target page is in the hidden state before the page display event occurs, and therefore, it is necessary to determine the time period for which the target page is in the hidden state before the page display event at this time. Determining a time difference between a second time stamp of the page display event and a hidden time stamp of the target page, namely, the current leaving time length of the target page, acquiring the recorded page leaving time length, and accumulating the determined current leaving time length to the recorded page leaving time length to acquire the updated page leaving time length.
It should be noted that, in the embodiment provided by the present disclosure, the hidden timestamp of the target page is initialized to 0, and when the page hiding event is detected, the hidden timestamp is updated to the first timestamp of the page hiding event, and when the page displaying event is detected, if the hidden timestamp of the target page is greater than 0, it is indicated that the target page is switched from the hidden state to the display state, at this time, the page leaving time of the target page may be updated based on the above method, and after the page leaving time of the target page is updated, the hidden timestamp of the target page is reset to 0, and if the hidden timestamp of the target page is 0, it is indicated that the target page is always in the display state, and at this time, the page leaving time of the target page does not need to be updated.
In practical application, the above updating process for the page departure time of the target page may be performed by a native API (document. Hidden) provided by the browser, where the execution logic code is as follows:
document.addEventListener(‘visibilitychange’,function(){
if(document.hidden){
leaveStartTime=new Date().getTime();
}else if(leaveStartTime>0){
leaveTime+=(new Date().getTime()-leaveStartTime);
leaveStartTime=0;
}
})
Wherein LEAVESTARTTIME is a hidden timestamp of the target page, and LEAVETIME is a page departure time length.
The switching event of the target page is detected through the original event provided by the browser, and the switching event can be specifically detected to be the page hiding event or the page display event, so that the page departure time length of the target page can be updated further according to the page hiding event and the page display event.
And 206, under the condition that a termination event for terminating the use of the target page is detected, acquiring a termination time stamp of the termination event.
In practical application, if the termination event of the target page is detected, the target page is stopped, and under the condition that the termination event of the target page is detected, a termination time stamp of the termination event is obtained.
In a specific embodiment provided in the present disclosure, obtaining a termination timestamp of the termination event includes:
Determining a closing time stamp of the page closing event as a termination time stamp under the condition that the termination event is a page closing event;
and determining a refresh time stamp of the page refresh event as a termination time stamp under the condition that the termination event is the page refresh event.
The page refreshing event is used for representing that the target page is refreshed. The closing time stamp refers to the time stamp of the occurrence of the page closing event, and the refreshing time stamp refers to the time stamp of the occurrence of the page refreshing event.
Specifically, under the condition that a termination event of a target page is detected, if the termination event is a page closing event, a closing time stamp of the page closing event is obtained and is determined to be the termination time stamp of the target page, and if the termination event is a page refreshing event, a refreshing time stamp of the page refreshing event is obtained and is determined to be the termination time stamp of the target page.
And step 208, determining the page use duration of the target page according to the termination time stamp, the opening time stamp and the page departure duration.
After obtaining the termination time stamp, the opening time stamp and the page departure time of the target page, determining the page use time of the target page according to the termination time stamp, the opening time stamp and the page departure time.
Based on this, in a specific embodiment provided in the present disclosure, determining the page usage time length of the target page according to the termination time stamp, the opening time stamp, and the page departure time length includes:
determining a page usage time difference between the expiration time stamp and the opening time stamp;
And determining a difference value between the page use time difference and the page departure time length, and determining the difference value as the page use time length of the target page.
The page use time difference refers to the time difference between the ending time stamp and the starting time stamp.
Specifically, the difference in page usage time between the termination time stamp and the opening time stamp is determined, and since there is a page departure time before the target page is terminated for use, it is also necessary to further determine the difference between the difference in page usage time and the page departure time, and determine the determined difference as the page usage time of the target page. The specific execution logic code is as follows:
document.addEventListener(‘beforeunload’,function(){
var endTime=new Date().getTime();
var stayTime=endTime–startTime–leaveTime;
})
wherein endTime is specifically a termination timestamp, and stayTime is specifically an opening timestamp.
Referring to fig. 3, fig. 3 is a schematic diagram illustrating a method for determining a page usage time length according to an embodiment of the present disclosure. The method for determining the time length of page usage provided by the embodiment of the present disclosure will be explained by taking fig. 3 as an example. As shown in fig. 3, 0 is divided into an open time stamp of a target page, 50 is divided into a termination time stamp of an occurrence termination event of the target page, and during 0 to 50 minutes, it is detected that a page hiding event and a page displaying event occur on the target page, and a first time stamp of the page hiding event is specifically 10 minutes, and a second time stamp of the page displaying event is specifically 25 minutes. It can be known that the target page is in the page display state during the period from 0 minutes to 10 minutes, is in the page hiding state during the period from 10 minutes to 25 minutes, and is in the page display state again during the period from 25 minutes to 50 minutes.
After the target page is loaded, the starting time stamp of the target page can be obtained to be 0 minutes, the first time stamp of the page hiding event is determined to be 10 minutes when the target page is detected to generate the page hiding event at 10 minutes, the hiding time stamp of the target page is updated to be 10 minutes, the second time stamp of the page displaying event is determined to be 25 minutes when the target page is detected to generate the page displaying event at 25 minutes, so far, the time difference between the second time stamp and the hiding time stamp can be determined to be 25-10=15 minutes, namely the current leaving time of the target page is 15 minutes, the distribution generation and termination event of the target page is detected to be 50 minutes when the target page is detected to generate the termination event is determined to be 50 minutes, and the page using time of the target page can be determined to be 50-0-15=35 minutes based on the first time.
Further, in practical applications, the situation that the target page is terminated in the hidden state may occur, still taking fig. 1 as an example, when the user uses the page 2, the page 1 is in the hidden state, and if the user wants to close the page 1 at this time, the user may close the page 1 by closing the tab of the page 1 in the menu bar in the browser interface. In this process, the user does not need to switch to page 1 to close it, i.e., page 1 is closed in a hidden state. In this case, the previous switching event of the termination event is specifically a page hiding event, at this time, it is necessary to determine a time difference between the page hiding event and the termination event, and update a page leaving duration of the target page based on the time difference between the page hiding event and the termination event, so as to determine a page usage duration of the target page according to the updated page leaving duration.
Thus, in a specific embodiment provided by the present disclosure, after obtaining the termination timestamp of the termination event, the method further comprises:
determining a time difference between the termination time stamp and a first time stamp of the page hiding event in case that a previous switching event of the termination event is a page hiding event;
according to the termination time stamp, the opening time stamp and the page departure time length, determining the page use time length of the target page comprises the following steps:
determining a page usage time difference between the expiration time stamp and the opening time stamp;
Updating the page departure time length of the target page based on the time difference between the termination time stamp and the first time stamp;
and determining the difference value between the page use time difference and the updated page departure time length as the page use time length of the target page.
Specifically, in the case where the immediately preceding switching event of the termination event is detected as a page hidden event, a time difference between the termination time stamp of the termination event and the first time stamp of the page hidden event is determined. Determining a page use time difference between a termination time stamp and an opening time stamp, accumulating the time difference between the termination time stamp of a termination event and the first time stamp of a page hiding event to the page departure time of the target page, and obtaining updated page departure time. After determining the difference between the page use time difference and the updated page departure time, determining the difference between the page use time difference and the updated page departure time as the page use time of the target page.
Referring to fig. 4, fig. 4 is a schematic diagram illustrating another page usage time length determining method according to an embodiment of the present disclosure. As shown in fig. 4, 0 is divided into an open time stamp of a target page, 50 is divided into a termination time stamp of an occurrence termination event of the target page, and during 0 to 50 minutes, it is detected that the target page has two times of page hiding events and one time of page display events, wherein a first time stamp of the first time of page hiding event is specifically 10 minutes, a second time stamp of the page display event is specifically 25 minutes, and a first time stamp of the second time of page hiding event is specifically 40 minutes. Therefore, the target page is in the page display state in the period of 0 to 10 minutes, in the page hiding state in the period of 10 to 25 minutes, in the page display state again in the period of 25 to 40 minutes, and in the hiding state again in the period of 40 to 50 minutes.
Specifically, after loading of the target page is completed, an opening time stamp of the target page can be obtained to be 0 minutes, a first time page hiding event of the target page is detected to occur in 10 minutes, a first time stamp of the first time page hiding event is determined to be 10 minutes, the hiding time stamp of the target page is updated to be 10 minutes, a page display event is detected to occur in 25 minutes, a second time stamp of the page display event is determined to be 25 minutes, so far, the time difference between the second time stamp and the hiding time stamp can be determined to be 25-10=15 minutes, namely the current leaving time of the target page is 15 minutes, namely the page leaving time of the target page is 15 minutes, the second time page hiding event is detected to occur in 40 minutes, the first time stamp of the second time page hiding event is determined to be 40 minutes, the hiding time stamp of the target page is updated to be 40 minutes, a distribution generation termination event is detected to occur in 50 minutes, and the termination time stamp of the termination event is determined to be 50 minutes. Since the previous switching event of the termination event is a page hiding event, the time difference between the termination time stamp and the first time stamp of the second page hiding event is determined to be 50-40=10 minutes, and the time difference between the termination time stamp and the first time stamp of the second page hiding event is accumulated to the page leaving time length, so that the updated page leaving time length is 15+10=25 minutes. Based on this, it can be determined that the page usage time period of the target page is 50-0-25=25 minutes.
The embodiment of the disclosure can realize that the accuracy of determining the page use time length of the target page is further improved by determining the page use time length determination mode corresponding to different switching events by judging the event type of the previous switching event of the termination event.
In practical application, the determined page use time length of the target page can be sent to the server, so that the server stores the page use time length or is used for other services to carry out subsequent use.
The method for determining the page use time length comprises the steps of obtaining an opening time stamp of a target page under the condition that loading of the target page is completed, updating the page leave time length of the target page according to a switching event when the switching event of the target page is detected, wherein the switching event is used for indicating the switching of the target page between page hiding and page displaying, obtaining a termination time stamp of the termination event when the termination event for terminating the use of the target page is detected, and determining the page use time length of the target page according to the termination time stamp, the opening time stamp and the page leave time length.
The embodiment of the disclosure realizes that the target page can be determined to be in the page hiding state or the page display state specifically by detecting the switching event of the target page, so that the page departure time of the target page can be updated according to the switching event of the target page, and the page use time of the target page is determined based on the obtained termination time stamp of the termination event of the target page, the obtained opening time stamp of the target page and the page departure time of the target page. The method and the device can further determine the page departure time length of the target page based on the termination time stamp and the opening time stamp, determine the page departure time length of the target page based on the determination of the page departure time length of the target page, and combine the determined page departure time length to determine the page departure time length of the target page, so that the page departure time length is prevented from being calculated within the page departure time length, and the accuracy of determining the page departure time length of the target page is improved.
It will be appreciated that the above-mentioned method embodiments of the present disclosure may be combined with each other to form a combined embodiment without departing from the principle logic, and are limited to the description of the present disclosure. It will be appreciated by those skilled in the art that in the above-described methods of the embodiments, the particular order of execution of the steps should be determined by their function and possible inherent logic.
In addition, the disclosure further provides a page use time length determining device, an electronic device, a computer readable storage medium and a computer program product, which can be used for implementing any of the page use time length determining methods provided in the disclosure, and corresponding technical schemes and descriptions and corresponding descriptions referring to method parts are not repeated.
Fig. 5 shows a block diagram of a page in-use time length determining apparatus provided according to an embodiment of the present disclosure. Referring to fig. 5, an embodiment of the present disclosure provides a page usage time length determining apparatus including:
A first obtaining module 502, configured to obtain an opening timestamp of a target page when loading of the target page is completed;
An updating module 504, configured to update a page departure time of the target page according to a switching event when the switching event of the target page is detected, where the switching event is used to instruct the target page to switch between page hiding and page displaying;
a second obtaining module 506 configured to obtain, in a case where a termination event for terminating the use of the target page is detected, a termination timestamp of the termination event;
a determining module 508, configured to determine a page usage duration of the target page according to the termination timestamp, the opening timestamp, and the page departure duration.
Optionally, the updating module 504 is further configured to:
Updating the hidden time stamp of the target page to be the first time stamp of the page hidden event under the condition that the switching event is a page hidden event, and keeping the page leaving time of the target page unchanged;
And under the condition that the switching event is a page display event, updating the page departure time of the target page according to the hidden time stamp of the target page and the second time stamp of the page display event.
Optionally, the updating module 504 is further configured to:
Determining the time difference between the second time stamp and the hidden time stamp as the current departure time length;
and accumulating the current leaving time length to the recorded page leaving time length to obtain updated page leaving time length.
Optionally, the determining module 508 is further configured to:
determining a page usage time difference between the expiration time stamp and the opening time stamp;
And determining a difference value between the page use time difference and the page departure time length, and determining the difference value as the page use time length of the target page.
Optionally, the apparatus further comprises a time difference determining module configured to:
determining a time difference between the termination time stamp and a first time stamp of the page hiding event in case that a previous switching event of the termination event is a page hiding event;
The determining module 508 is further configured to:
determining a page usage time difference between the expiration time stamp and the opening time stamp;
Updating the page departure time length of the target page based on the time difference between the termination time stamp and the first time stamp;
and determining the difference value between the page use time difference and the updated page departure time length as the page use time length of the target page.
Optionally, the second obtaining module 506 is further configured to:
Determining a closing time stamp of the page closing event as a termination time stamp under the condition that the termination event is a page closing event;
and determining a refresh time stamp of the page refresh event as a termination time stamp under the condition that the termination event is the page refresh event.
The page use time length determining device comprises a first obtaining module, an updating module and a second obtaining module, wherein the first obtaining module is configured to obtain an opening time stamp of a target page under the condition that loading of the target page is completed, the updating module is configured to update the page departure time length of the target page according to a switching event when the switching event of the target page is detected, the switching event is used for indicating the switching of the target page between page hiding and page displaying, the second obtaining module is configured to obtain a termination time stamp of the termination event when the termination event for terminating the use of the target page is detected, and the determining module is configured to determine the page use time length of the target page according to the termination time stamp, the opening time stamp and the page departure time length.
The embodiment of the disclosure realizes that the target page can be determined to be in the page hiding state or the page display state specifically by detecting the switching event of the target page, so that the page departure time of the target page can be updated according to the switching event of the target page, and the page use time of the target page is determined based on the obtained termination time stamp of the termination event of the target page, the obtained opening time stamp of the target page and the page departure time of the target page. The method and the device can further determine the page departure time length of the target page based on the termination time stamp and the opening time stamp, determine the page departure time length of the target page based on the determination of the page departure time length of the target page, and combine the determined page departure time length to determine the page departure time length of the target page, so that the page departure time length is prevented from being calculated within the page departure time length, and the accuracy of determining the page departure time length of the target page is improved.
The respective modules in the above page usage time length determination means may be implemented in whole or in part by software, hardware, and a combination thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
Fig. 6 is a block diagram of an electronic device according to an embodiment of the present disclosure.
Referring to fig. 6, an embodiment of the present disclosure provides an electronic device 600, where the electronic device 600 includes at least one processor 601, at least one memory 602, and one or more I/O interfaces 603 connected between the processor 601 and the memory 602, where the memory 602 stores one or more computer programs executable by the at least one processor 601, and the one or more computer programs are executed by the at least one processor 601 to enable the at least one processor 601 to perform the page usage time determining method described above.
The various modules in the electronic device described above may be implemented in whole or in part in software, hardware, and combinations thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
The disclosed embodiments also provide a computer readable storage medium having a computer program stored thereon, wherein the computer program when executed by a processor/processing core implements the above-described page usage time length determination method. The computer readable storage medium may be a volatile or nonvolatile computer readable storage medium.
Embodiments of the present disclosure also provide a computer program product comprising computer readable code, or a non-transitory computer readable storage medium carrying computer readable code, which when run in a processor of an electronic device, performs the above-described page usage time length determination method.
Those of ordinary skill in the art will appreciate that all or some of the steps, systems, functional modules/units in the apparatus, and methods disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components, for example, one physical component may have a plurality of functions, or one function or step may be cooperatively performed by several physical components. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer-readable storage media, which may include computer storage media (or non-transitory media) and communication media (or transitory media).
The term computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable program instructions, data structures, program modules or other data, as known to those skilled in the art. Computer storage media includes, but is not limited to, random Access Memory (RAM), read Only Memory (ROM), erasable Programmable Read Only Memory (EPROM), static Random Access Memory (SRAM), flash memory or other memory technology, portable compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical disc storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Furthermore, as is well known to those of ordinary skill in the art, communication media typically embodies computer readable program instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and may include any information delivery media.
The computer readable program instructions described herein may be downloaded from a computer readable storage medium to a respective computing/processing device or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network interface card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in the respective computing/processing device.
The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as SMALLTALK, C ++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, aspects of the present disclosure are implemented by personalizing electronic circuitry, such as programmable logic circuitry, field Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), with state information of computer readable program instructions, which can execute the computer readable program instructions.
The computer program product described herein may be embodied in hardware, software, or a combination thereof. In an alternative embodiment, the computer program product is embodied as a computer storage medium, and in another alternative embodiment, the computer program product is embodied as a software product, such as a software development kit (Software Development Kit, SDK), or the like.
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, 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/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable medium having the instructions stored therein includes an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Example embodiments have been disclosed herein, and although specific terms are employed, they are used and should be interpreted in a generic and descriptive sense only and not for purpose of limitation. In some instances, it will be apparent to one skilled in the art that features, characteristics, and/or elements described in connection with a particular embodiment may be used alone or in combination with other embodiments unless explicitly stated otherwise. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the disclosure as set forth in the appended claims.