A call record aggregation method

By introducing a summary field in the call record database and utilizing a summary algorithm, the problem of multi-party call records being unable to be merged is solved, efficient call record merging and a simplified data structure are achieved, thus improving the user experience.

CN115145945BActive Publication Date: 2025-09-19HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110347142.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-03-31
Publication Date
2025-09-19
Estimated Expiration
2041-03-31

AI Technical Summary

Technical Problem

The call records of multi-party calls cannot be effectively merged, resulting in record redundancy and inefficient search. The existing merging method has lengthy logic, complex data structure and low efficiency.

Method used

A call record aggregation method is adopted, which adds a summary field to the call record database, uses a summary algorithm to calculate the summary information of the call records, and only compares the summary field during aggregation to determine whether to merge the call records.

Benefits of technology

It improves the efficiency of merging multi-party call records, reduces the amount of calculation and logical redundancy, simplifies the data structure, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115145945B_ABST
    Figure CN115145945B_ABST
Patent Text Reader

Abstract

An embodiment of the present application provides a data structure for multi-party call records, and a call record aggregation method based on the above data structure. The multi-party call record adds a summary field on the basis of the existing two-party call records. This field can record summary information of the entire call record. Therefore, when aggregating multi-party call records, the electronic device can determine whether the compared call records meet the aggregation conditions by comparing the summaries in the call records. Implementing the method provided by the embodiment of the present application can achieve the aggregated display effect of multi-party call records. At the same time, the improved multi-party call record data structure can also make the aggregation process more efficient, thereby solving the problems of lengthy logic, complex data structure, low efficiency, etc. in the process of aggregating multi-party call records using the two-party call record aggregation method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminals, and in particular to a call record aggregation method. Background Art

[0002] After making a call using a mobile phone or other communication device, the application providing the communication service often generates a call log for the completed call and can merge call logs with the same contact. Examples include the phone app and FaceTime on mobile phones. This improves user retrieval and browsing efficiency.

[0003] However, for multi-party calls, the call logs do not yet support merged display. After a multi-party call is completed, the call log directly displays the relevant information of the call, without merging the call logs of the multiple parties. This results in a large amount of redundancy on the call log page, making it difficult for users to find historical call records and inefficient browsing.

[0004] However, since the number of participants in a multi-party call varies, using a two-party call record merging method to merge multi-party call records presents problems such as lengthy logic, complex data structures, and low efficiency. Therefore, a new call record merging method is urgently needed to improve the efficiency of merging multi-party call records. Summary of the Invention

[0005] The present application provides a method and electronic device for aggregating multi-party call records. Implementation of the method can efficiently complete the aggregation of multi-party call records.

[0006] In a first aspect, an embodiment of the present application provides a call record aggregation method, which is applied to an electronic device, and the method includes: obtaining a first call record from a call record database; obtaining a first summary from the first call record, wherein the first summary is summary information obtained based on two or more information fields in the first call record; obtaining a second call record from the call record database; obtaining a second summary from the second call record, wherein the second summary is summary information obtained based on the two or more information fields in the second call record; when the first summary is consistent with the second summary, aggregating the first call record and the second call record into one call record.

[0007] When implementing the method provided in the first aspect, the electronic device can determine whether the two call records meet the aggregation criteria by comparing the summary fields in the two call records. If the summary fields of the two call records match, the electronic device can aggregate the two call records into one. In this way, the electronic device can efficiently complete the call record aggregation operation.

[0008] In a second aspect, an embodiment of the present application provides a call record aggregation method, which is applied to an electronic device and includes: obtaining a first call record from a call record database; obtaining a first summary from the first call record, the first summary being used to identify information of the first call record that participates in aggregate comparison; obtaining a second call record from the call record database; obtaining a second summary from the second call record, the second summary being used to identify information of the second call record that is compared with the aggregate; and when the first summary and the second summary are consistent, aggregating the first call record and the second call record into one call record. The information that participates in the aggregate comparison is key information in the first call record.

[0009] When implementing the method provided in the second aspect, the electronic device can determine whether the two call records meet the aggregation criteria by comparing the summary fields in the two call records. If the summary fields of the two call records match, the electronic device can aggregate the two call records into one. This allows the electronic device to efficiently aggregate call records.

[0010] In combination with some embodiments of the first aspect and the second aspect, in some embodiments, before the step of obtaining the first call record from the call record database, the method also includes: storing the first call information generated by the first call into multiple information fields of the first call record; extracting key information from the multiple information fields, the multiple information fields include the two or more information fields, and the key information includes the information in the two or more information fields; using a summary algorithm to calculate the key information to obtain the first summary; and storing the first summary in the summary field of the first call record.

[0011] By implementing the method provided in the above embodiment, after a call ends, the electronic device can generate information for each field of the call log and calculate a summary of the call log. This summary is then stored in a fixed area of ​​the call log. When a call aggregation display is required, the electronic device can directly extract the summary of the call log from this area without the need for immediate calculation.

[0012] In combination with some embodiments of the first aspect and the second aspect, in some embodiments, the multiple information fields include a first partition and a second partition; storing the first call information generated by the first call into the multiple information fields of the first call record specifically includes: generating the first call information based on the first call, the first call information including public information and participant information; storing the public information in the first partition of the multiple information fields; and storing the participant information in the second partition of the multiple information fields.

[0013] By implementing the method provided in the above embodiment, the electronic device can store the contents of a call record in different partitions of the database. This can make the structure of the call record more standardized and make the electronic device more efficient when using and managing the call record information.

[0014] In combination with some embodiments of the first aspect and the second aspect, in some embodiments, the method further includes: the key information includes first key information and second key information, the first key information is extracted from the first partition, and the second key information is extracted from the second partition.

[0015] By implementing the method provided in the above embodiment, the electronic device can extract key information required for calculating the summary from different partitions in the database.

[0016] In combination with some embodiments of the first aspect and the second aspect, in some embodiments, after the step of extracting key information from the multiple information fields, the method also includes: storing the key information into a key information stack; using a summary algorithm to calculate the key information to obtain the first summary, specifically including: extracting the key information from the key information stack; inputting the key information into the summary algorithm for calculation to obtain the first summary.

[0017] By implementing the method provided in the above embodiment, the electronic device can store key information obtained from one or more tables in a key information stack, and then extract the key information from the key information stack to calculate the call record summary. In this way, the electronic device can cache the key information in the key information stack, eliminating the need to complete the key information extraction and summary calculation process all at once.

[0018] In combination with some embodiments of the first aspect and the second aspect, in some embodiments, the method further includes: the first partition and the second partition belong to two tables of the call record database respectively; or, the first partition and the second partition belong to one table of the call record database.

[0019] By implementing the method provided in the above embodiment, the electronic device can obtain various call record information from different tables in the database. This can also make the structure of the call record more standardized. The electronic device can use and manage the call record information more efficiently.

[0020] In combination with some embodiments of the first aspect and the second aspect, in some embodiments, obtaining the first summary from the first call record specifically includes: querying the summary field in the first call record; and extracting the first summary from the summary field.

[0021] By implementing the method provided in the above embodiment, the electronic device can obtain the summary of the call record by querying the summary field of the call record.

[0022] In combination with some embodiments of the first aspect and the second aspect, in some embodiments, the two or more information fields include at least two of call type, audio and video type, participant name, participant phone number, participant account, and device identification.

[0023] In this way, electronic devices can set key information involved in summary calculation according to aggregation requirements.

[0024] In combination with some embodiments of the first aspect and the second aspect, in some embodiments, after the step of aggregating the first call record and the second call record into one call record, the method further includes: displaying a first interface, wherein the first interface displays the one call record.

[0025] In this way, the user can understand through the display effect of the user interface that the electronic device has performed an aggregation operation and is displaying the aggregated call records. The displayed aggregated call records can facilitate the user to query completed calls through the call records, thereby improving the user experience.

[0026] In a third aspect, an embodiment of the present application provides an electronic device, comprising one or more processors and one or more memories; wherein the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program code, and the computer program code includes computer instructions. When the one or more processors execute the computer instructions, the electronic device executes the method described in the first aspect, the second aspect, and any possible implementation method combined with the first aspect and the second aspect.

[0027] In a fourth aspect, an embodiment of the present application provides a chip system, which is applied to an electronic device, and the chip system includes one or more processors, which are used to call computer instructions to enable the electronic device to execute the method described in the first aspect, the second aspect, and any possible implementation method combining the first and second aspects.

[0028] In a fifth aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when the above-mentioned computer program product is run on an electronic device, enables the above-mentioned electronic device to execute the method described in the first aspect, the second aspect, and any possible implementation method combining the first aspect and the second aspect.

[0029] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium comprising instructions, which, when executed on an electronic device, enables the electronic device to execute the method described in the first aspect, the second aspect, and any possible implementation method combining the first aspect and the second aspect.

[0030] It is understandable that the electronic device provided in the third aspect, the chip system provided in the fourth aspect, the computer program product provided in the fifth aspect, and the computer storage medium provided in the sixth aspect are all used to execute the methods provided in the embodiments of the present application. Therefore, the beneficial effects that can be achieved can be referred to the beneficial effects of the corresponding methods and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Figure 1 This is a data structure diagram of a two-way call record provided in an embodiment of the present application;

[0032] Figure 2A 1 is a schematic diagram of a method for aggregating call records of multiple parties using a two-party call record aggregation method according to an embodiment of the present application;

[0033] Figure 2B This is a schematic diagram of recording a multi-party call using a two-party call data structure provided by an embodiment of the present application;

[0034] Figure 3A This is a data structure diagram of a multi-party call record provided in an embodiment of the present application;

[0035] Figure 3B This is another data structure diagram of a multi-party call record provided in an embodiment of the present application;

[0036] Figure 4A This is a flowchart of a multi-party call record aggregation provided by an embodiment of the present application;

[0037] Figure 4B This is a flowchart of a multi-party call record aggregation provided by an embodiment of the present application;

[0038] Figure 5A-5G This is a user interface for displaying a set of multi-party call records in an aggregated manner, as provided in an embodiment of the present application;

[0039] Figure 6 It is a hardware structure diagram of the electronic device 100 provided in an embodiment of the present application. DETAILED DESCRIPTION

[0040] The terms used in the following examples of the present application are for the purpose of describing specific embodiments only and are not intended to limit the present application. As used in the specification and appended claims of the present application, the singular expressions "a," "an," "said," "above," "the," and "this" are intended to include plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in the present application refers to and encompasses any or all possible combinations of one or more of the listed items.

[0041] The term "user interface (UI)" in the specification, claims and drawings of this application refers to the media interface for interaction and information exchange between an application or operating system and a user, which realizes the conversion between the internal form of information and the form acceptable to the user. The user interface of an application is a source code written in a specific computer language such as Java and Extensible Markup Language (XML). The interface source code is parsed and rendered on the terminal device, and finally presented as content that the user can recognize, such as pictures, text, buttons and other controls. Controls, also known as widgets, are the basic elements of the user interface. Typical controls include toolbars, menu bars, text boxes, buttons, scroll bars, pictures and text. The properties and contents of controls in the interface are defined by tags or nodes, such as XML through <textview> 、 <imgview> 、 <videoview>Nodes such as <head> and <body> are used to specify the controls contained in the interface. A node corresponds to a control or attribute in the interface, and the node is presented as user-visible content after parsing and rendering. In addition, many applications, such as hybrid applications, usually also contain web pages in their interfaces. A web page, also known as a page, can be understood as a special control embedded in the application interface. A web page is a source code written in a specific computer language, such as hypertext markup language (GTML), cascading style sheets (CSS), JavaScript (JS), etc. The web page source code can be loaded and displayed as user-recognizable content by a browser or a web page display component with similar functions to a browser. The specific content contained in a web page is also defined by tags or nodes in the web page source code, such as GTML through 、 、 <video> 、 <canvas>To define the elements and attributes of a web page.

[0042] A common form of user interface is a graphical user interface (GUI), which refers to a user interface related to computer operations that is displayed in a graphical manner. It can be an icon, window, control, or other interface element displayed on the display screen of the electronic device 100. Controls can include icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets, and other visual interface elements.

[0043] A two-way call involves two electronic devices (two parties), namely the first electronic device (electronic device 100) and the second electronic device. After the call is completed, the first electronic device and the second electronic device can each generate a call record in the call database of the device.

[0044] Figure 1 The data structure of the call record generated after the two parties have a call is shown as an example. Figure 1 As shown, the call record may include fields such as time 101, communication type 102, audio and video type 103, name 104, number 105, account number 106, and device identifier 107. The time field 101 may indicate the time when the first electronic device and the second electronic device made a call; the communication type field 102 may include incoming calls, outgoing calls, missed calls, and answered calls; and the audio and video type field 103 may include audio calls and video calls.

[0045] In the call record generated by the first electronic device, the name field 104 can record the name of the user of the second electronic device, such as the contact "Zhang San"; the number field 105 can record the phone number used by the user of the second electronic device; the account field 106 can record the user account logged in on the second electronic device, such as The Huawei account of the mobile phone, etc.; the device identification field 107 can be used to represent the device identifier of the second electronic device, such as the physical address of the second electronic device, the international mobile equipment identity (IMEI), etc.

[0046] Accordingly, in the call log generated by the second electronic device, the name field 104 may record the name of the user of the first electronic device; the number field 105 may record the phone number used by the user of the first electronic device. The account field 106 may record the user account logged in on the first electronic device, and the device identification field 107 may be used to represent the device identifier of the first electronic device.

[0047] It is understandable that, in other embodiments, the call record generated by the two-party call may further include more or fewer fields.

[0048] Based on the above call record data structure, the following describes the process of the electronic device aggregating the call records of both parties.

[0049] Aggregated with the first electronic device (electronic device 100) Figure 1 As an example, the process of recording call records shown in FIG. 1 is used. First, the electronic device 100 can obtain two call records in the call database. The two call records can be respectively recorded as C1 and X1, wherein the data structures of C1 and X1 are as follows: Figure 1 shown.

[0050] After obtaining C1 and X1, the electronic device 100 can sequentially compare the contents of each field of C1 and X1. Based on whether the contents recorded in each field of C1 and X1 are consistent, the electronic device 100 can determine whether to aggregate C1 and X1 into a call record when displaying C1 and X1.

[0051] Specifically, the electronic device 100 first obtains the content recorded in the communication type field 102 of C1 and X1. When the communication types of C1 and X1 are different, the call records C1 and X1 are not aggregated. For example, when the communication type recorded in C1 is an outgoing call, and the communication type recorded in X1 is an incoming call, the electronic device 100 may not aggregate the call records C1 and X1 into one call record for display. When the communication types of C1 and X1 are the same, the electronic device 100 continues to compare the audio and video type fields 103 of C1 and X1. Similarly, when the content recorded in the audio and video type fields 103 of C1 and X1 is different, the electronic device 100 may not aggregate the call records C1 and X1 into one. Otherwise, the electronic device 100 may continue to compare the relevant information of C1 and X1 about the second electronic device (name 104, number 105, account 106, device identification 107), that is, the name of the user described in the second electronic device, the telephone number used by the user, the user account logged in to the electronic device, and the device identification of the electronic device.

[0052] The electronic device 100 can verify whether the call recipient (the second electronic device) recorded in C1 and X1 is consistent by sequentially comparing the contents of the name 104, number 105, account number 106, and device identifier 107 fields in C1 and X1. If the content of any of the above fields is different, the electronic device 100 may not aggregate the two call records C1 and X1 into one. If all of the above fields are the same, the electronic device 100 aggregates the two call records C1 and X1 into one.

[0053] For a two-party call involving only two electronic devices, the above process can better achieve the aggregation of the same call records.

[0054] Multi-party calls involve multiple electronic devices. Therefore, if the aforementioned call record data structure is used, each call record will be extremely large and of varying lengths. Furthermore, the computational complexity and redundancy of electronic devices during the multi-party call record aggregation process will also become complex.

[0055] Figure 2A The diagram exemplarily shows a multi-party call record aggregation method using a two-party call record aggregation method.

[0056] Taking the first electronic device (electronic device 100) as an example, Figure 2A As shown, first, the electronic device 100 can obtain two call records to be compared (S201), and the two call records can be recorded as C2 and X2 respectively. Here, C2 and X2 are call records generated by multi-party calls. Figure 1 In the data structure shown, the information of multiple contacts involved in C2 and X2 can be added in sequence after the device identification field 107, that is, the name, number, account number and other information of other contacts are recorded in sequence after the device identification field 107. For example, C2 and X2 can be as follows Figure 2B As shown in the figure, C2 can have three participants and X2 can have two participants.

[0057] refer to Figure 2A After the electronic device 100 obtains the information recorded in each field of C2 and X2, the electronic device 100 can compare the communication type field (S202) and the audio and video type field (S203) of C2 and X2 in sequence. This process is consistent with the verification process of the call records between the two parties mentioned above and will not be repeated here.

[0058] After the comparison of the above two fields is completed, the electronic device 100 can start to compare whether the contacts in C2 and X2 are consistent (participants, excluding the user of the electronic device 100). In a multi-party call, there can be multiple participants.

[0059] First, the electronic device 100 can compare the first participant in C2 and X2 (reference Figure 2B The information of participant 1 and participant 4) includes the name, number, account number, device identification, etc. of the first participant.

[0060] Specifically, referring to S204, the electronic device 100 may first compare the name field of the first participant of C2 and X2. When the content recorded in the name field is the same, the electronic device 100 may compare the number field of the first participant of C2 and X2 (S205), otherwise, the electronic device 100 may consider that C2 and X2 cannot be aggregated. When the content recorded in the number field is the same, the electronic device 100 may compare the account field of the first participant of C2 and X2 (S206), otherwise, the electronic device 100 may consider that C2 and X2 cannot be aggregated. When the content recorded in the account field is the same, the electronic device 100 may compare the number field of the first participant of C2 and X2 (S207), otherwise, the electronic device 100 may consider that C2 and X2 cannot be aggregated.

[0061] If the device identification field records differ in content, electronic device 100 may determine that C2 and X2 cannot be aggregated. If the device identification field records are also identical, that is, the content recorded in participant 1 is identical to the content recorded in participant 4, electronic device 100 may continue to record the name, number, account number, device identification, and other information of the second participant (participant 2 and participant 5) in C2 and X2. When the information of all participants in C2 and X2 is the same, electronic device 100 may aggregate C2 and X2 into a single call record.

[0062] If, during the comparison of the information of the second and subsequent participants of C2 and X2, one or more information fields of the two compared participants are inconsistent, e.g. Figure 2B The content recorded in the name field 104a of participant 2 is inconsistent with the content recorded in the name field 104b of participant 5. The electronic device 100 may consider the above two call records as different call records. Therefore, the electronic device 100 may not aggregate the above two call records.

[0063] When the number of participants in C2 and X2 is the same, the electronic device 100 can refer to the above description to compare the information of each participant in turn, and then determine whether C2 and X2 meet the aggregation conditions. Figure 2B (C2 has 3 participants, X2 has 2 participants), the electronic device 100 can determine that C2 and X2 do not meet the aggregation condition based on the different number of participants. Therefore, the electronic device 100 will not aggregate C2 and X2 into one call record for display.

[0064] It is understandable that when the call record data structure includes more or fewer information fields, i.e. Figure 2B When the data structure shown includes more or fewer fields, the electronic device 100 may also compare more or fewer information fields when determining whether the compared call records are aggregated.

[0065] In other embodiments, when the data structure of the call record is Figure 2B When the data structures shown are consistent, the electronic device 100 may determine whether the compared call records are aggregated or only compare some fields in the participant. For example, when comparing the information of participants in a multi-party call, the electronic device 100 may only compare the names and phone numbers of the participants.

[0066] like Figure 2A As shown, in a multi-party call, regardless of the amount of information required for comparison of each participant, electronic device 100 must verify each participant in turn. Therefore, electronic device 100 must perform a significant amount of computation when comparing multiple call records to determine whether they should be merged. This computational effort is particularly arduous and redundant for call records with numerous participants. Therefore, a new data structure is urgently needed to avoid logical redundancy and inefficiency during call record aggregation by electronic device 100, thereby improving computational efficiency.

[0067] In order to solve the problems of logical redundancy and low efficiency in multi-party call record aggregation, the present invention proposes a new call record data structure and a multi-party call record aggregation method based on the call record data structure.

[0068] The present invention proposes a new call record data structure that adds a summary field to the existing structure. This summary field summarizes the entire call record information. Based on this new call record data structure, when determining whether the compared call records are aggregated, the electronic device can only compare the summary field in the call records. If the compared summary fields are identical, the electronic device can aggregate the compared call records and then display the aggregated call record.

[0069] The following describes in detail the data structure based on multi-party call records provided in an embodiment of the present application. Figure 3A A call database storing multi-party call records is exemplified.

[0070] The call database may include a master record table and a participant table. The master record table can be used to store common information in multi-party call records, while the participant table can store participant-related information. Examples of common information include the time and type of call. Examples of participant-related information include the name, phone number, and device ID of the contact participating in the call. Each record in the master record table can be associated with a participant table, thus forming a complete multi-party call record.

[0071] like Figure 3A As shown, the main record table 301 shows n records of multi-party call records (C1-Cn). The participant table 302 shows the information of multiple contacts participating in a multi-party call. A multi-party call record includes the public information in the main record table 301 and the participant information in the participant table 302. Taking the first electronic device (electronic device 100) as an example, the electronic device 100 participating in a multi-party call can generate a multi-party call record. The above-mentioned multi-party call record is, for example, call record 303 (C1), and call record 303 (C1) may include the public information in the main record table 301 and the participant information in the participant table 302. The following embodiment of the present application will introduce the data structure of the multi-party call record through call record 303.

[0072] like Figure 3A As shown, the main record of the call record 303 may include the following fields: time 311 , communication type 312 , audio and video type 313 , and summary 314 .

[0073] Time 311 can be used to record the time when a multi-party call occurred. Communication type 312 can be used to record the call type and status of the multi-party call. Specifically, the communication types include answered incoming calls, missed incoming calls, connected outgoing calls, and unconnected outgoing calls. Audio / video type 313 can be used to record whether the multi-party call was a video call or an audio call. Summary 314 can be used to record a summary of the multi-party call record.

[0074] The master record of call record 303 can be linked to participant table 302 via key 319. As shown, the participants in call record 303 may include participant 304, participant 305, and participant 306 (i.e., P1, P2, and P3). Taking participant 304 as an example, each participant may include the following fields: name 315, account number 316, phone number 317, and device ID 318.

[0075] Name 315 can be used to record the contacts (participants) participating in a multi-party call, such as "Zhang San" and "Li Si." Users typically use name 315 to distinguish between contacts. Account 316 can be used to record the account number of the electronic device used by the participant, such as the Huawei account used by the participant to log in using a Huawei phone. Phone number 317 can be used to record the phone number used by the participant. Device ID 318 can be used to record the device ID of the electronic device used by the participant, such as the physical address of the electronic device, IMEI code, and the device ID of the mobile phone manufacturer (such as the Huawei Changlian device ID).

[0076] The multi-party call record may also include more participants, which is not limited in the present embodiment. The following specifically describes the process of generating a call record summary based on the above-mentioned numerous fields.

[0077] The call database may also include a key information stack 307. This key information stack 307 can be used to store the contents of various fields (key information) required for summaries. Because calculating the summary information of a multi-party call record does not require considering the contents of all fields in the record, for example, time 311 is not required for summaries. Therefore, when calculating the summary of each call record, the electronic device 100 must first determine the fields required for summaries. The collection of call record information recorded in these fields is referred to as key information. The extracted key information can be stored in the key information stack 307.

[0078] In the embodiment of the present application, the key information in the key information stack 307 may include all information of the communication type 312 , the audio and video type 313 , the participant 304 , the participant 305 , and the participant 306 .

[0079] In conjunction with the data structure of the call database described above, the following describes summary 314 provided by an embodiment of the present application. After a call is completed, electronic device 100 may record the public information about the call in various fields of call record 303 in master record table 301. Simultaneously, electronic device 100 may record information about the participants in the multi-party call in participant table 302. Electronic device 100 then calculates summary 314 of call record 303 using this information.

[0080] Specifically, electronic device 100 may first extract the first portion of key information from master record table 301 and store it in the corresponding portion of key information stack 307. Then, electronic device 100 may extract the second portion of key information from participant table 302 and store it in the corresponding portion of key information stack 307. For example, key information in call record 303 includes communication type 312 and audio / video type 313 recorded in master record table 301, and information about participants 304, 305, and 306 recorded in participant table 302. Electronic device 100 may first store the information recorded in communication type 312 and audio / video type 313 in the corresponding portion of key information stack 307, and then store the information recorded in participants 304, 305, and 306 in the corresponding portion of key frame stack 307.

[0081] Furthermore, the electronic device 100 may calculate a digest of the key information in the key information stack. For example, the electronic device 100 may use a message digest (MD) algorithm, such as MD5, to calculate the digest information of the communication type 312, the audio and video type 313, P1, P2, and P3. The digest algorithm includes, but is not limited to, MD5. For example, the digest algorithm may also be a secure hash algorithm (SHA), such as SHA1, SHA256, or SHA512.

[0082] The calculated summary is the summary of the call record 303, which can be written into the summary 314 in the main record table 301. Then, the summary 314 can be used as a parameter to determine whether the call record 303 is aggregated with other call records.

[0083] It is understandable that, depending on the differences in the field types contained in the multi-party call record data structure, the master record table 301 and the participant table 302 may also include more or fewer fields (the summary field is retained).

[0084] It is understandable that, depending on the aggregation criteria, the content of the call logs that the electronic device 100 needs to compare may vary, and therefore, the key information may also vary. Therefore, the key information may include more or fewer fields in the call logs. Accordingly, the key information stack 307 may also include more or fewer fields in the call logs. For example, the key information may only include the audio and video type, the phone number of each participant, and the account number. This embodiment of the present application is not limited to this.

[0085] In some embodiments, the structure of the call database of the electronic device 100 can also be as follows: Figure 3B As shown. The call database may include a call record table 311. Call record table 311 may include the public information and participant information recorded in the master record table 301 and participant table 302 described above. Electronic device 100 may store all information generated by a call in call record table 311, rather than storing it separately in master record table 301 and participant table 302. When calculating the summary of the call record, electronic device 100 may also extract the required fields and store them in key information stack 307 for calculation. Furthermore, electronic device 100 may enter the summary calculated in key information stack 307 into summary 314 in the call record.

[0086] Combine Figure 3A and Figure 3B In other embodiments, the electronic device 100 may not separately configure the key information stack 307. Specifically, the electronic device 100 may directly extract key information from the call log and input it into a digest algorithm for calculation, thereby obtaining a digest of the call log. Furthermore, the electronic device may store the digest in a digest field within the call log.

[0087] Taking the first electronic device (electronic device 100) as an example, Figure 3A The multi-party call record data structure shown in the figure, the embodiment of the present application will introduce a multi-party call aggregation method based on the multi-party call record. Figure 4A The flowchart of multi-party call aggregation is shown as an example.

[0088] S101 The electronic device 100 conducts a multi-party call and generates a call record.

[0089] The electronic device 100 can conduct a multi-party call with two or more other electronic devices 100. After the call is completed, the electronic device 100 can generate a multi-party call record, and then the electronic device 100 can store the call record in a call database of the device for storing call records.

[0090] Specifically, the call log may include multiple information fields. The information recorded in these fields may include common information and participant information generated by a multi-party call. Common information indicates information that is common to all participants in the multi-party call, such as the start time of the multi-party call, call duration, and whether the call is an audio or video call. Participant information includes information about other contacts participating in the multi-party call, such as the contact's name, electronic device account number, phone number, and device identifier of the electronic device used.

[0091] In some embodiments, the electronic device 100 may store some information fields involved in the call records in different tables. Figure 3A As shown, the call database may include two tables: a master record table 301 and a participant table 302. The electronic device 100 may store some fields of the call record in the master record table 301 and other fields in the participant table 302. Specifically, the electronic device 100 may store the public information in the master record table 301 and the participant information in the participant table 302, and associate the participant table 302 with the master record table 301 via a key 319.

[0092] In other embodiments, the electronic device 100 may also store all the information involved in the call records in a table, such as Figure 3B As shown above. The above table can include both participant information and public information. I will not go into details here.

[0093] S102 The electronic device 100 extracts key information and stores it in a key information stack.

[0094] Aggregation rules need to be manually set, that is, which fields in the call log should be included in the summary calculation. Key information includes the collection of information that needs to be included in the summary calculation.

[0095] After the electronic device 100 determines the contents of each field in the call record generated by the multi-party call in S101, the electronic device 100 may extract the contents of the fields corresponding to the key information in the call record based on the preset key information and store them in the key information stack 307. The key information stack 307 may be used to store the extracted key information content of each call record.

[0096] by Figure 3A Taking the data structure shown as an example, key information may include communication type 312, audio / video type 313, participant 304, participant 305, and participant 306. Based on the composition of the key information, electronic device 100 may search for communication type 312 and audio / video type 313 in master record table 301, and simultaneously search for information about participant 304, participant 305, and participant 306 in participant table 302. Electronic device 100 may then store the query results in key information stack 307.

[0097] In other embodiments, depending on the aggregation rules, the key information may also include more or fewer information fields, that is, some information of the call records included in the key information is optional, and this application does not impose any restrictions on this.

[0098] S103: The electronic device 100 calculates a summary of the key information and enters the summary into the summary field of the call record.

[0099] After the key information stack has acquired the key information, electronic device 100 extracts the key information from key information stack 307 and then inputs the key information into the digest algorithm for calculation. By executing the digest algorithm, electronic device 100 obtains a digest of the key information, namely, a digest of the call record corresponding to the key information. Furthermore, electronic device 100 may store the digest in the summary field of the call record.

[0100] by Figure 3A Taking the data structure shown as an example, key information may include communication type 312, audio / video type 313, information about participant 304, and participant 305. After the contents of these fields have been obtained from key information stack 307, electronic device 100 can sequentially extract these contents from key information stack 307 and input them into a digest algorithm. By executing this digest algorithm, electronic device 100 can obtain digests of communication type 312, audio / video type 313, participant 304, participant 305, and participant 306. This digest is the digest of call record 303. Examples of this digest algorithm include MD5, SHA1, and others, which are not limited in this application.

[0101] Furthermore, the electronic device 100 may store the summary obtained by the above calculation into the summary 314 of the main record table 301 as the summary of the call record 303 .

[0102] S104 The electronic device 100 traverses the call database and aggregates the call records with the same summary.

[0103] After the electronic device 100 adopts the new call record data structure, the process of the electronic device 100 retrieving the summary of the multi-party call records and aggregating them can be referred to Figure 4B .

[0104] First, the electronic device 100 may obtain two or more call logs. Then, the electronic device 100 may search for the summary field of each call log within all its information fields to obtain a summary of the call log. After obtaining the summary of each call log, the electronic device 100 may compare the summaries. If the summaries match, the electronic device 100 may aggregate the call logs with the same summary into a single call log. Otherwise, the electronic device 100 does not aggregate the call logs with inconsistent summaries.

[0105] by Figure 3A For example, electronic device 100 may obtain call records 303 and 308. Furthermore, electronic device 100 may query the summary fields of call records 303 and 308, namely, summary 314 and summary 319. Then, electronic device 100 may obtain the summaries of call records 303 and 308 from summary 314 and summary 319, respectively. When the summary of call record 303 recorded in summary 314 and the summary of call record 308 recorded in summary 319 are consistent, electronic device 100 may determine that call records 303 and 308 are call records that can be aggregated. In this case, electronic device 100 may aggregate the two call records into one.

[0106] In some embodiments, the electronic device 100 may also obtain summaries of multiple call records at the same time, and then the electronic device 100 may aggregate multiple call records with the same summary into one, which will not be repeated here.

[0107] In an embodiment of the present application, when a user completes a multi-party call and the electronic device 100 generates a corresponding multi-party call record, the electronic device 100 may perform the aforementioned call record aggregation process. In other embodiments, the electronic device 100 may also perform the aforementioned aggregation process in response to a user operating a control. For example, the control may be a switch. When the switch is turned on, the electronic device 100 performs the aforementioned aggregation process; otherwise, the electronic device 100 does not perform the aforementioned aggregation process.

[0108] S105 The electronic device 100 displays the aggregated call records.

[0109] After aggregating call records with the same summary, electronic device 100 may display the aggregated call records. For example, electronic device 100 may display the participants, communication type, audio and video types, and so on. Furthermore, electronic device 100 may also remind the user that the call records are aggregated by marking or counting the aggregated call records. In some embodiments, electronic device 100 may also display detailed information for each aggregated call record, such as the call start time and call duration.

[0110] Preferably, the method shown in S101-S105 can be used to aggregate multi-party call records. The above method is also applicable to two-party call records. This embodiment of the present application does not limit this.

[0111] The following describes a set of exemplary user interfaces provided by the present application. Figure 5A-5G A set of user interfaces for implementing multi-party call record aggregation is shown.

[0112] Figure 5A The user interface 51 before the electronic device 100 aggregates multi-party call records is exemplarily shown.

[0113] As shown, user interface 51 may include one or more call logs. These call logs include those generated by two-party calls and those generated by multi-party calls. For example, call logs 511-514. Call log 511 is a call log generated by a two-party call. Call logs 512, 513, and 514 are call logs generated by multi-party calls.

[0114] For a two-way call, referring to call record 511, call record 511 may include contact name 511a, communication type 511b, phone number 511c, time 511d, and aggregated entry 511e. Call record 511 shows three call records between electronic device 100 and contact "Mom".

[0115] Specifically, the name 511a shows that the call contact is "Mom"; the aggregate entry 511e shows that the call record aggregates 3 call records with "Mom", that is, there are 3 folded call records; the phone number 511c shows that the phone number of "Mom" is "133 1111 5151"; the time 511d shows that the time of the most recent call among the folded 3 call records is "08:31"; the communication type 511b shows that the 3 aggregated call records are all incoming calls.

[0116] For a multi-party call, refer to the call record 512. In addition to the communication type and time described above, the call record 512 also includes a name 512a and an identifier 512b.

[0117] Name 512a can be used to display the contacts (participants) participating in the multi-party call. If there are many participants, name 512a may not fully display the names of all participants. As shown in the figure, "..." can be displayed in name 512a to hide other participants. Identification 512b can be used to identify the call record as a multi-party call record.

[0118] The user interface 51 may also include controls such as a status bar 515, a dial keypad 516, and a page bar 517, which are not described in detail in the present embodiment. It is understood that the above user interface is an exemplary user interface for displaying call records and should not constitute a limitation on the present embodiment.

[0119] In the user interface 51, call records 512, 513, and 514 show three call records with the same communication type, audio and video type, and participants. The electronic device 100 does not aggregate and display the multi-party call records.

[0120] The user interface 51 also includes a control 518 for displaying more options. When the electronic device 100 detects a user operation on the control 518, the electronic device 100 may display Figure 5B User interface 52 is shown.

[0121] The user interface 52 may include a window 518a. The window 518a may display multiple options for adjusting call functions, such as call recording, batch deletion and blocking of harassment, settings 518b, etc. Among them, settings 518b may be used to display a call settings page. When the electronic device 100 detects a user operation on the control 518b, in response to the operation, the electronic device 100 may display Figure 5C User interface 53 is shown.

[0122] User interface 53 may include multiple setting options. For example, an unknown number identification option, a call log aggregation option 519, an automatic call recording option, and the like. Call log aggregation option 519 may be used to adjust call log aggregation settings. For example, when electronic device 100 detects a user operation on call log aggregation option 519, in response to the operation, electronic device 100 may display window 519a.

[0123] Window 519a can display multiple aggregate controls. In response to a user operation on the close control 519b, the electronic device 100 can turn off the aggregate display function. Figure 5A As shown, multiple call logs involving multiple parties will be displayed separately in the call log user interface. Window 519a also includes other aggregation controls. For example, the time aggregation control 519c aggregates call logs with the same contact on the same day. The contact aggregation control 519d aggregates all call logs with the same contact.

[0124] When the electronic device 100 detects a user operation on the contact aggregation control 519d, in response to the operation, the electronic device 100 may Figure 5D The user interface shown. Figure 5D The user interface 54 after the electronic device 100 aggregates the multi-party call records is exemplarily shown.

[0125] User interface 54 may include call record 521. Call record 521 may include aggregate entry 522. Aggregate entry 522 shows that the call record aggregates three call records with contacts such as "Lili, Daming, and Mr. Wang", that is, there are three aggregated call records.

[0126] The call record 521 also includes a control 523. The control 523 can be used to display more information of the call record 521. When a user operation acting on the control 523 is detected, the electronic device 100 can display Figure 5E The user interface 55 shown. The above user operation is, for example, a click operation, a slide operation, etc., which is not limited in the embodiment of the present application.

[0127] User interface 55 may include area 531 , area 532 , tab 533 , and tab 534 .

[0128] Region 531 may be used to display the names and avatars of the participants, such as Lili, Daming, Wang Gong, and Li Meimei in call record 521. Compared to the incomplete names of the participants displayed in user interface 54, region 531 may fully display all participants in a multi-party call.

[0129] Area 532 can be used to display detailed information about multiple aggregated call records. For example, call record 521 aggregates three outgoing calls: one at "November 6, 16:44," one at "November 6, 10:37," and one at "November 5, 14:18." Area 532 can also display more information about each aggregated call record, such as the duration of each call. This application does not impose any restrictions on this.

[0130] Label 533 may be used to indicate that the aggregated multi-party call records are all audio calls. If the multi-party call is a video call, label 533 may display the video call. Label 534 may be used to indicate that the aggregated multi-party call records are internet-based call records. If the multi-party call is a circuit-switched call, that is, a call conducted via a calling card, label 534 may display "SIM" or other text to indicate that the call record is based on the calling card.

[0131] Figure 5A and Figure 5E The diagrams respectively show the changes in the call record user interface before and after the multi-party call record aggregation method is used to aggregate the multi-party call record. However, in more actual application scenarios, when the call record aggregation function is turned on, after the user completes a call, the electronic device 100 can directly display the user interface of the call record after the above call record is aggregated with other call records. Figure 5F and Figure 5G The above process is exemplified.

[0132] Figure 5F The user interface 56 of the electronic device 100 when making a multi-party call is exemplarily shown. The user interface 56 may include an area 541 and a hang-up control 548.

[0133] Area 541 can be used to display participants. Area 541 can be divided into more windows, such as window 542, window 543, window 544, and so on. Window 542 can be used to display the profile picture and name of participant "Mr. Wang"; window 543 can be used to display the profile picture and name of "myself" (the user of electronic device 100); window 544 can be used to display the profile picture and name of participant "Daming", and so on. During a video call, the small window can also display the video of the participant.

[0134] In the same multi-party call, each of the above windows can display both the avatar and name and the video screen (not displayed simultaneously). Specifically, when the camera is used, the above window can display the video screen of the participants. The user interface 56 may include a control 545. When a user operation acting on the control 545 is detected, the electronic device 100 can enable the camera in response to the operation, and then the window 543 can display the image captured by the above camera. When the user operation acting on the control 545 is detected again, the electronic device 100 can turn off the camera in response to the operation, and then the window 543 can display the avatar and name of the "person".

[0135] In some embodiments, electronic device 100 may further support adjusting the content displayed in each window in area 541. For example, when an operation is detected that acts on window 544 and drags window 544 to the position of window 542, electronic device 100 may swap the contents of window 544 and window 542 in response to the operation, i.e., window 542 may display the content of participant "Da Ming" originally displayed in window 544, while window 544 may display the content of participant "Wang Gong" originally displayed in window 542.

[0136] The user interface 56 also includes other controls, such as a mute control 546 and an effect control 547. The mute control 546 can be used to turn off the microphone of the electronic device 100. The effect control 547 can be used to adjust the image captured by the camera, such as beautification, brightness, etc.

[0137] The electronic device 100 may detect a user operation on the hang-up control 548, and in response to the operation, the electronic device 100 may exit the multi-party call and then display Figure 5G The user interface 57 shown. The user interface 57 can directly display the aggregated call records (call records 551). Figure 5D , in progress Figure 5F Before the multi-party call operation shown in the figure, the aggregated call records displayed on the call record page are, for example, "Lili, Daming, Wang Gong...(3)". Figure 5F After the multi-party call operation shown (the multi-party call is a call with Lili, Daming, Wang Gong, etc.), Figure 5G The call record shown is updated to "Lili, Daming, Wang Gong... (4)". The above call record can instruct the electronic device 100 to Figure 5F The call records generated by the shown call are aggregated with the call records of "Lili, Daming, Wang Gong...(3)" mentioned above.

[0138] In other embodiments, after the electronic device 100 hangs up the multi-party call, the homepage of the electronic device 100 may be displayed, or the page displayed by the electronic device 100 before the call is connected may be displayed. When a user operation to open the call record is detected, in response to the operation, the electronic device 100 may display Figure 5G The user interface 57 shown shows the call records of the electronic device 100. This application is not limited to this.

[0139] The hardware structure of the electronic device is introduced below. Figure 6 The hardware structure of the electronic device 100 is shown.

[0140] The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0141] It should be understood that the structure illustrated in the embodiments of the present invention does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0142] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent devices or integrated into one or more processors.

[0143] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.

[0144] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.

[0145] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface.

[0146] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0147] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.

[0148] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the electronic device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.

[0149] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.) or displays an image or video through the display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.

[0150] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0151] In some embodiments, the antenna 1 of the electronic device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the electronic device 100 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).

[0152] Electronic device 100 implements display functionality through a GPU, display screen 194, and an application processor. A GPU is a microprocessor for image processing that connects display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or modify display information.

[0153] Display screen 194 is used to display images, videos, and the like. Display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a MiniLED, a MicroLED, a Micro-oLed, or a quantum dot light-emitting diode (QLED). In some embodiments, electronic device 100 may include one or N display screens 194, where N is a positive integer greater than one.

[0154] The electronic device 100 can implement a shooting function through an ISP, a camera 193, a video codec, a GPU, a display screen 194, and an application processor.

[0155] The ISP processes data fed back by camera 193. For example, when taking a photo, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, which is then passed to the ISP for processing and converted into a visible image. The ISP can also perform algorithmic optimization on image noise, brightness, and skin tone. It can also optimize parameters such as exposure and color temperature of the captured scene. In some embodiments, the ISP can be located within camera 193.

[0156] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, and then passes the electrical signal to the ISP for conversion into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the electronic device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.

[0157] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the electronic device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.

[0158] Video codecs are used to compress or decompress digital video. Electronic device 100 may support one or more video codecs. This allows electronic device 100 to play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, and MPEG4.

[0159] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 via the external memory interface 120 to implement data storage functions. For example, files such as music and videos can be stored on the external memory card.

[0160] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area can store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0161] The electronic device 100 can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.

[0162] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be provided in the processor 110, or some functional modules of the audio module 170 can be provided in the processor 110.

[0163] The speaker 170A, also called a "speaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music or make hands-free calls through the speaker 170A.

[0164] The receiver 170B, also called a "handset", is used to convert audio electrical signals into sound signals. When the electronic device 100 receives a call or voice message, the voice can be heard by placing the receiver 170B close to the human ear.

[0165] Microphone 170C, also known as "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 170C to input the sound signal into the microphone 170C. The electronic device 100 can be provided with at least one microphone 170C. In other embodiments, the electronic device 100 can be provided with two microphones 170C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the electronic device 100 can also be provided with three, four or more microphones 170C to realize sound signal collection, noise reduction, and identification of sound sources, and realize directional recording function, etc.

[0166] The headphone jack 170D is used to connect a wired headphone and can be the USB interface 130 or a 3.5mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.

[0167] The touch sensor 180K is also called a "touch panel." The touch sensor 180K can be disposed on the display screen 194. The touch sensor 180K and the display screen 194 form a touch screen, also called a "touch screen." The touch sensor 180K is used to detect touch operations applied thereto or in the vicinity thereof. The touch sensor can transmit the detected touch operations to the application processor to determine the type of touch event. Visual output related to the touch operations can be provided via the display screen 194. In other embodiments, the touch sensor 180K can also be disposed on the surface of the electronic device 100, in a location different from that of the display screen 194.

[0168] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 194, motor 191 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.

[0169] The SIM card interface 195 is used to connect a SIM card. The SIM card can be connected to or disconnected from the electronic device 100 by inserting it into or removing it from the SIM card interface 195. The electronic device 100 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 195 can also be compatible with different types of SIM cards. The SIM card interface 195 can also be compatible with external memory cards. The electronic device 100 interacts with the network through the SIM card to implement functions such as calls and data communications. In some embodiments, the electronic device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100.

[0170] In an embodiment of the present application, the electronic device 100 can realize the function of making multi-party calls with other electronic device users through modules such as antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor. At the beginning or end of a call, the motor 191 can generate vibration to prompt an incoming or outgoing call, and can also be used for touch vibration feedback. For example, a touch operation acts on the user interface for initiating a multi-party call. The display screen 194 can display the interface for making a multi-party call, the interface for displaying call records, etc. (for example, Figure 5A-5G The display screen 194 may be provided with a touch sensor 180K, and the touch sensor 180K may detect a touch operation of a user. In response to the touch operation, the electronic device 100 may display a different user interface.

[0171] In the embodiment of the present application, the audio module 170 can provide the electronic device 100 with the functions of receiving and speaking. The receiver 170B can convert the audio electrical signals received by the electronic device 100 into sound signals. That is, through the handset including the receiver 170B, the user can hear what the other contact is saying. With the assistance of the speaker 170A, the user can also listen to the hands-free call. The microphone 170C can convert the sound signal into an electrical signal. That is, the electronic device 100 can record the user's sound signal through the microphone 170C and send the sound signal to other electronic devices participating in the multi-party call.

[0172] In some embodiments, the electronic device 100 can also implement a video call through the camera 193 and the display screen 194. The camera 193 can obtain real-time images. The display screen 194 can be used to display images captured by the camera 193 and / or images captured by other participants.

[0173] Internal memory 121 can be used to store computer-executable program code that implements multi-party calling functionality, such as a multi-party calling application. External memory interface 120 can be used to connect to an external memory card. The external memory card can be used to store call logs of multi-party calls conducted by the electronic device. Electronic device 100 also includes one or more SIM card interfaces 195. Electronic device 100 interacts with the network through SIM cards to implement multi-party calling and data communication functions.

[0174] In a method for aggregating call records provided in an embodiment of the present application,

[0175] In S101, the call conducted by the electronic device 100 may be referred to as a first call. The call record generated after the completion of the first call may be referred to as a first call record. The information recorded in each field of the first call record is information generated during the first call. Figure 3A The master record table 301 in the table may be referred to as the first partition. The participant table 302 may be referred to as the second partition.

[0176] In S102, the information extracted from the first call record by the electronic device 100 and used to calculate the first call record summary may be referred to as key information. Before calculating the summary, the extracted key information may be cached in a key information stack. The storage structure for user-cached key information may be referred to as a key information stack.

[0177] In the first call record, the information stored in master record table 301 and used in the first summary calculation can be referred to as first key information, such as information recorded for communication type 312 and audio / video type 313. In the first call record, the information stored in participant table 302 and used in the first summary calculation can be referred to as second key information, such as information recorded for participant 304 (P1), participant 305 (P2), and participant 306 (P3).

[0178] In S103, the summary generated by processing the key information of the first call record through the summary algorithm may be referred to as a first summary. The first call record includes a summary field. The first summary may be stored in the summary field of the first call record.

[0179] In S104, one of the two call records acquired by the electronic device is a first call record, and the remaining one is referred to as a second call record. The content recorded in each summary field in the second call record is a second summary.

[0180] The user interface displaying the aggregated call records may be referred to as a first user interface. Figure 5D or Figure 5G .

[0181] The embodiments of the present application provide a data structure of multi-party call records and a call record aggregation method based on the data structure.

[0182] Multi-party call records now include a summary field in addition to the existing two-party call records. This field records summary information for the entire call record. Therefore, when aggregating multi-party call records, the electronic device can determine whether the compared call records meet the aggregation criteria by comparing the summaries in the call records. If the summaries in the compared call records are identical, the electronic device can aggregate the call records without having to repeatedly compare the call information of each multi-party call participant.

[0183] Implementing the method provided in the embodiments of this application can achieve an aggregated display effect for multi-party call records. Furthermore, the improved multi-party call record data structure can make the aggregation process more efficient, thereby resolving issues such as lengthy logic, complex data structure, and low efficiency in aggregating multi-party call records using the two-party call record aggregation method.

[0184] As used in the above embodiments, the term “when…” may be interpreted to mean “if…” or “after…” or “in response to determining…” or “in response to detecting…”, depending on the context. Similarly, the phrases “upon determining…” or “if (stated condition or event) is detected” may be interpreted to mean “if determining…” or “in response to determining…” or “upon detecting (stated condition or event)” or “in response to detecting (stated condition or event)”, depending on the context.

[0185] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk).

[0186] Those skilled in the art will appreciate that all or part of the process steps in the above-described method embodiments can be implemented by a computer program instructing the relevant hardware. The program can be stored in a computer-readable storage medium, and when executed, the program can include the process steps in the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.< / canvas> < / video> < / videoview> < / imgview> < / textview>

Claims

1. A call record aggregation method, applied to an electronic device, characterized in that: The method includes: Obtain a first call record from a call record database; Obtaining a first digest from the first call record, where the first digest is obtained by processing key information of the first call record using a digest algorithm, where the key information of the first call record includes information in two or more information fields in the first call record; Obtaining a second call record from the call record database; obtaining a second digest from the second call record, where the second digest is obtained by processing key information of the second call record using a digest algorithm, where the key information of the second call record includes information in two or more information fields of the second call record; When the first summary is consistent with the second summary, the first call record and the second call record are aggregated into one call record.

2. The method according to claim 1, characterized in that Before obtaining the first call record from the call record database, the method further includes: storing first call information generated by the first call into a plurality of information fields of the first call record, the plurality of information fields including a summary field; extracting key information from the multiple information fields, the multiple information fields including the two or more information fields, the key information including information in the two or more information fields; Calculating the key information using a digest algorithm to obtain the first digest; The first summary is stored in the summary field of the first call record.

3. The method according to claim 2, characterized in that The multiple information fields include a first partition and a second partition; and storing the first call information generated by the first call into the multiple information fields of the first call record specifically includes: storing the public information in the first call information into a first partition of the plurality of information fields; The participant information in the first call information is stored in the second partition of the plurality of information fields.

4. The method according to claim 3, characterized in that The key information includes first key information and second key information, the first key information is extracted from the first partition, and the second key information is extracted from the second partition.

5. The method according to any one of claims 2 to 4, characterized in that After extracting key information from the multiple information fields, the method further includes: Storing the key information in a key information stack; The adopting a digest algorithm to calculate the key information to obtain the first digest specifically includes: extracting the key information from the key information stack; The key information is input into the digest algorithm for calculation to obtain the first digest.

6. The method according to claim 3 or 4, characterized in that The method further comprises: The first partition and the second partition belong to two tables of the call record database respectively; Alternatively, the first partition and the second partition belong to a table of the call record database.

7. The method according to claim 2, characterized in that The acquiring the first summary from the first call record specifically includes: acquiring the first summary from a summary field of the first call record.

8. The method according to claim 1, characterized in that The two or more information fields include at least two of call type, audio and video type, participant name, participant phone number, participant account, and device identification.

9. The method according to claim 1, characterized in that After the step of aggregating the first call record and the second call record into one call record, the method further includes: A first interface is displayed, wherein the first interface displays the call record.

10. An electronic device, characterized in that: The method comprises one or more processors and one or more memories; wherein the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program code, wherein the computer program code comprises computer instructions, and when the one or more processors execute the computer instructions, the method according to any one of claims 1 to 9 is executed.

11. A chip system, applied to an electronic device, comprising one or more processors, wherein the processors are configured to call computer instructions to execute the method according to any one of claims 1 to 9.

12. A computer program product comprising instructions, which, when the computer program product is run on an electronic device, causes the electronic device to execute the method according to any one of claims 1 to 9.

13. A computer-readable storage medium comprising instructions, characterized in that: When the instructions are executed on an electronic device, the method according to any one of claims 1 to 9 is executed.

Citation Information

Patent Citations

  • Method for message sending in address list program and mobile terminal

    CN103618824A

  • Call record aggregating method and device

    CN104270494A