CN116610713A - 终端联系人数据授权获取方法、装置、计算机设备及介质 - Google Patents
终端联系人数据授权获取方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN116610713A CN116610713A CN202310726490.2A CN202310726490A CN116610713A CN 116610713 A CN116610713 A CN 116610713A CN 202310726490 A CN202310726490 A CN 202310726490A CN 116610713 A CN116610713 A CN 116610713A
- Authority
- CN
- China
- Prior art keywords
- data
- contact
- data table
- contact person
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000013475 authorization Methods 0.000 title claims abstract description 62
- 238000004590 computer program Methods 0.000 claims description 17
- 230000005055 memory storage Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007334 memory performance Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4594—Address books, i.e. directories containing contact information about correspondents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了终端联系人数据授权获取方法、装置、计算机设备及介质,方法包括:响应于联系人数据授权获取指令,获取第一联系人数据表和第二联系人数据表并存储至内存中;获取第三联系人数据表;基于第三联系人数据表中第一指定字段的各取值从存储在内存中的第一联系人数据表和第二联系人数据表中分别获取目标数据;将第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到第三联系人数据表中各联系人姓名分别对应的联系人信息。本发明实施例可以基于查内存而非查表的方式获取用户终端本地的联系人数据,极大降低了查表次数,不仅降低了联系人采集耗时,而且降低内存抖动。
Description
技术领域
本发明涉及智能决策技术领域,尤其涉及一种终端联系人数据授权获取方法、装置、计算机设备及介质。
背景技术
在智能手机中,如安卓系统的智能手机中,都具有电话簿功能。一般电话簿是分为多张表以存储不同的联系人信息,上述多张表则共同组成了电话簿。例如,电话簿中包括存储有联系人手机号码的表、存储有联系人姓名的表以及存储有联系人所属分组的表等。
目前,是基于查表的方式来采集联系人信息。例如需要从智能手机中采集到N条联系人数据时,具体过程如下:
1)先遍历查询存储有联系人手机号码的表,得到其中包括的所有联系人手机号码,即此时需要一次数据表查询;
2)之后基于存储有联系人手机号码的表中每一条联系人手机号码再去存储有联系人姓名的表以及存储有联系人所属分组的表分别去查询与该条联系人手机号对应的联系人姓名和所属分组,即此时需要2N次数据表查询(其中,N表示有联系人手机号码的表中联系人手机号码的总条数)。
可见,基于上述采集方式,联系人手机号码的表中联系人手机号码的条数每多一条,则会导致多两次数据表查询,造成采集联系人非常耗时。而且在智能手机中的查表过程涉及到IO操作(即输入输出操作),会导致智能手机的内存抖动明显。
发明内容
本发明实施例提供了终端联系人数据授权获取方法、装置、计算机设备及介质,旨在解决现有技术中对智能终端中存储的联系人信息进行采集时,需要进行频繁查询不同数据表,不仅造成采集联系人非常耗时,而且因查表涉及IO操作导致智能手机的内存抖动明显的问题。
第一方面,本发明实施例提供了一种终端联系人数据授权获取方法,其包括:
响应于联系人数据授权获取指令,获取第一联系人数据表和第二联系人数据表并存储至内存中;
获取第三联系人数据表;其中,所述第三联系人数据表中包括联系人姓名信息;
基于所述第三联系人数据表中第一指定字段的各取值从存储在内存中的第一联系人数据表和第二联系人数据表中分别获取目标数据;
将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
第二方面,本发明实施例还提供了一种终端联系人数据授权获取装置,其包括:
内存存储控制单元,用于响应于联系人数据授权获取指令,获取第一联系人数据表和第二联系人数据表并存储至内存中;
数据表获取单元,用于获取第三联系人数据表;其中,所述第三联系人数据表中包括联系人姓名信息;
目标数据获取单元,用于基于所述第三联系人数据表中第一指定字段的各取值从存储在内存中的第一联系人数据表和第二联系人数据表中分别获取目标数据;
数据组装单元,用于将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
第三方面,本发明实施例还提供了一种应计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述第一方面所述的方法。
本发明实施例提供了一种终端联系人数据授权获取方法、装置、计算机设备及介质,方法包括:响应于联系人数据授权获取指令,获取第一联系人数据表和第二联系人数据表并存储至内存中;获取第三联系人数据表;基于第三联系人数据表中第一指定字段的各取值从存储在内存中的第一联系人数据表和第二联系人数据表中分别获取目标数据;将第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到第三联系人数据表中各联系人姓名分别对应的联系人信息。本发明实施例可以基于查内存而非查表的方式获取用户终端本地的联系人数据,极大降低了查表次数,不仅降低了联系人采集耗时,而且降低内存抖动。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的终端联系人数据授权获取方法的应用场景示意图;
图2为本发明实施例提供的终端联系人数据授权获取方法的流程示意图;
图3为本发明实施例提供的终端联系人数据授权获取方法的子流程示意图;
图4为本发明实施例提供的终端联系人数据授权获取方法的另一子流程示意图;
图5为本发明实施例提供的终端联系人数据授权获取方法的又一子流程示意图;
图6为本发明实施例提供的终端联系人数据授权获取装置的示意性框图;
图7为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本发明实施例提供了一种终端联系人数据授权获取方法、装置、计算机设备及介质。本发明实施例中的终端联系人数据授权获取方法应用于服务器,服务器中设置有一个或多个处理器、存储器,以及一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行以实现终端联系人数据授权获取方法。
如图1所示,图1为本发明实施例终端联系人数据授权获取方法的场景示意图,本发明实施例中终端联系人数据授权获取场景中包括服务器或其他用户终端10和用户终端20,其中用户终端20中集成有终端联系人数据授权获取装置,运行终端联系人数据授权获取方法对应的存储介质,以执行终端联系人数据授权获取方法的步骤。
可以理解的是,图1所示终端联系人数据授权获取方法的具体应用场景中的用户终端20,或者用户终端20中包含的装置并不构成对本发明实施例的限制,即终端联系人数据授权获取方法的具体应用场景中包含的设备数量、设备种类,或者各个设备中包含的装置数量、装置种类不影响本发明实施例中技术方案整体实现,均可以算作本发明实施例要求保护技术方案的等效替换或衍生。
本发明实施例中用户终端20主要用于:响应于联系人数据授权获取指令,获取第一联系人数据表和第二联系人数据表并存储至内存中;获取第三联系人数据表;其中,所述第三联系人数据表中包括联系人姓名信息;基于所述第三联系人数据表中第一指定字段的各取值从存储在内存中的第一联系人数据表和第二联系人数据表中分别获取目标数据;将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本发明方案一种应用场景,并不构成对本发明方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的用户终端20,或者用户终端20,的网络连接关系,例如图1中仅示出1个用户终端20,,可以理解的,该终端联系人数据授权获取方法的具体应用场景还可以包括一个或多个其他用户终端20,,具体此处不作限定;该用户终端20,中还可以包括存储器。
图2是本发明实施例提供的终端联系人数据授权获取方法的流程示意图。如图2所示,该方法包括以下步骤S110-S140。
S110、响应于联系人数据授权获取指令,获取第一联系人数据表和第二联系人数据表并存储至内存中。
其中,所述第一联系人数据表中包括联系人联系号码,所述第二联系人数据表中包括联系人分组信息。
在本实施例中,是以用户终端为执行主体描述技术方案。具体的,本申请中的用户终端为智能手机。在服务器或其他用户终端需对该用户终端中的联系人数据进行采集时,也即在用户终端上检测到由其他用户终端或服务器发送的联系人数据授权获取指令,当用户终端检测到联系人数据授权获取指令时则在用户终端的本地先获取到第一联系人数据表和第二联系人数据表并存储至内存中。
其中,所述第一联系人数据表具体为用户终端的存储空间(非内存)中存储的ContactsContract.CommonDataKinds.Phone.CONTENT_URI表,在该第一联系人数据表中每一条联系人数据中除了包括联系人号码这一字段名称及具体的字段取值,还包括data_id、raw_contact_id、min_match等其他的字段名称及具体的字段取值。
所述第二联系人数据表具体为用户终端的存储空间(非内存)中存储的ContactsContract.Data.CONTENT_URI表,在该第二联系人数据表中每一条联系人分组数据中除了包括联系人分组信息这一字段名称及具体的字段取值,还包括_id、package_id、minetype_id、raw_contact_id、hash_id、is_read_only、is_primary、is_super_primary、data_version、data1、data2等其他的字段名称及具体的字段取值。
当获取到了第一联系人数据表和第二联系人数据表后,将两个数据表中的所有数据存储至内存中。由于已将数据由表存储转移至内存存储,使得后续获取第一联系人数据表和第二联系人数据表中的所有数据是从用户终端的内存中获取,而并非查表遍历获取,极大降低了查表次数,降低了联系人采集耗时。
在一实施例中,如图3所示,步骤S110包括:
S111、按照所述第一联系人数据表中各联系人数据的数据id值的大小顺序依次获取联系人数据,并按照各联系人数据的数据id值的大小顺序依次存储于内存相应的存储空间中;
S112、按照所述第二联系人数据表中各联系人数据的id值的大小顺序依次获取联系人分组数据,并按照各联系人分组数据的id值的大小顺序依次存储于内存相应的存储空间中。
在本实施例中,由于第一联系人数据表中各条联系人数据是按照各自对应的数据id值(即联系人数据在data_id字段的具体取值)的大小升序排序,故第一联系人数据表中各条联系人数据在内存的存储空间的存储地址也是从低位地址存储到高位地址。在得到了所述第一联系人数据表中各联系人数据的数据id值后,可以在内存中相应的存储地址所对应存储单元中存储。
同样的,由于第二联系人数据表中各条联系人分组数据是按照各自对应的id值(即联系人分组数据在_id字段的具体取值)的大小升序排序,故第二联系人数据表中各条联系人分组数据在内存的存储空间的存储地址也是从低位地址存储到高位地址。在得到了所述第二联系人数据表中各联系人分组数据的id值后,可以在内存中相应的存储地址所对应存储单元中存储。
当将第一联系人数据表和第二联系人数据表均存储于内存中后,数据不再以数据表的方式存储,后续进行数据查询时只需访问内存即可。由于遍历查询第一联系人数据表和第二联系人数据表时上述两张表各需一次查表,也即一共两次查表就能完成数据由数据表转移至内存,无需频繁查表,降低了联系人采集耗时。
S120、获取第三联系人数据表。
其中,所述第三联系人数据表中包括联系人姓名信息。
在本实施例中,为了将归属于同一联系人的所有数据合并,除了获取包括联系人联系号码的第一联系人数据表和包括联系人分组信息的第二联系人数据表,还需要获取存储了联系人姓名信息的第三联系人数据表。在查询第三联系人数据表时,也是仅需一次查表即可获取到第三联系人数据表中存储的各条联系人姓名数据,而不是每一条联系人姓名数据都需要对进行一次查表操作。
其中,所述第三联系人数据表具体为用户终端的存储空间(非内存)中存储的ContactsContract.Contacts.CONTENT_URI表,在该第三联系人数据表中每一条联系人数据中除了包括联系人姓名这一字段名称及具体的字段取值,还包括_id、account_id、sourceid、backup_id、raw_contact_id、version、dirty、deleted、contact_id、aggregation_mode、aggregation_needed、custom_ringtone、send_to_voicemail、times_contacted、last_time_contacted、starred、pinned、display_name、display_name_alt、phonetic_name、phonetic_name_style等其他的字段名称及具体的字段取值。
S130、基于所述第三联系人数据表中第一指定字段的各取值从存储在内存中的第一联系人数据表和第二联系人数据表中分别获取目标数据。
在本实施例中,当用户终端已将第一联系人数据表和所述第二联系人数据表对应的数据存储于用户终端的内存中后,即得到了已存储数据。之后基于第三联系人数据表中的第一指定字段(具体实施时,第一指定字段为第三联系人数据表中的_id字段,也可以理解为第一指定字段为第三联系人数据表中的id字段)的各取值从用户终端的内存中已存储数据分别获取目标数据。即以分别以第三联系人数据表中第一指定字段的各字段取值为检索条件从内存中获取相应的目标数据。
例如,以第三联系人数据表中_id字段的第一个字段取值_id=1为检索条件从内存中获取相应的第一个目标数据;以第三联系人数据表中_id字段的第二个字段取值_id=2为检索条件从内存中获取相应的第二个目标数据;以此类推,直至获取到第三联系人数据表中最后一个id字段的字段取值在内存中相应的目标数据后结束基于所述第三联系人数据表中第一指定字段的取值从内存中已存储数据分别获取目标数据的过程。可见,上述过程不再以查表方式获取到所述第三联系人数据表中第一指定字段的各取值在所述第一联系人数据表和所述第二联系人数据表对应的数据,而是以查询用户终端内存的方式获取所述第三联系人数据表中第一指定字段的各取值分别对应的目标数据,不仅提升数据采集速度,而且降低内存抖动。
在一实施例中,如图4所示,步骤S130包括:
S131、获取所述第三联系人数据表中第一指定字段的第i个字段取值;其中,i的初始取值为1;
S132、以所述第一指定字段的字段名称和第i个字段取值组成第i个检索条件;
S133、以第i个检索条件分别从内存中已存储数据获取对应的第i个目标数据;
S134、将i自增1以更新i的取值,并确定i与N的大小关系;其中,N为所述第三联系人数据表中第一指定字段所包括的字段取值总个数;
S135、若确定i小于或等于N,则返回执行所述获取所述第三联系人数据表中第一指定字段的第i个字段取值的步骤;
S136、若确定i大于N,则获取第1个目标数据至第N个目标数据,以作为与所述第三联系人数据表中第一指定字段的各取值分别对应的目标数据。
在本实施例中,在用户终端的内存中获取所述第三联系人数据表中第一指定字段的各取值分别对应的目标数据时,可以是以轮流查询的方式来获取。即先获取到第三联系人数据表中_id字段的第一个字段取值_id=1对应的第1个目标数据,之后获取到第三联系人数据表中_id字段的第二个字段取值_id=2对应的第2个目标数据,以此类推,直至获取到第三联系人数据表中最后一个id字段的字段取值在内存中相应的目标数据后结束基于所述第三联系人数据表中第一指定字段的取值从内存中已存储数据分别获取目标数据的过程。
在上述轮流查询的过程中,需要进行的总轮数由所述第三联系人数据表中第一指定字段所包括的字段取值总个数来确定。当完成了上述轮流查询的过程,即得到了所述第三联系人数据表中第一指定字段的各取值分别对应的目标数据。
在一实施例中,所述以第i个检索条件分别从内存中已存储数据获取对应的第i个目标数据,包括:
获取所述第一联系人数据表在所述内存中的第一目标地址空间,并获取所述第二联系人数据表在所述内存中的第二目标地址空间;
以第i个检索条件在所述第一目标地址空间获取对应的第i1个目标子数据;
以第i个检索条件在所述第二目标地址空间获取对应的第i2个目标子数据;
将第i1个目标子数据和第i2个目标子数据进行组装,得到与第i个检索条件对应的第i个目标数据。
在本实施例中,由于用户终端中第一联系人数据表中所有数据在内存中存储时占用存储单元的第一目标地址空间是已知的,且第二联系人数据表中所有数据在内存中存储时占用存储单元的第二目标地址空间是已知的,因此在获取到了第i个检索条件后可以分别从第一目标地址空间获取对应的第i1个目标子数据,且从第二目标地址空间获取对应的第i2个目标子数据。这样第三联系人数据表中第一指定字段的各取值均能在第一目标地址空间和第二目标地址空间获取到相应的目标子数据,并组成各取值完整的目标数据,从而为后续的联系人数据组装提供了预处理数据,为后续数据组装的快速进行完成了数据储备。
S140、将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
在本实施例中,当用户终端的处理器(如中央处理单元等)获取到了所述第三联系人数据表中第一指定字段的各取值,以及第一指定字段的各取值分别对应的目标数据后,在处理器中可以将第一指定字段的各取值与对应的目标数据分别进行数据组装后,即可得到第三联系人数据表中各联系人姓名分别对应的联系人信息。可见,基于上述方式,实现了将存储于不同数据表的相同联系人信息进行了快速组装。
在一实施例中,如图5所示,步骤S140包括:
S141、获取预先设置的数据组装实体类;
S142、将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据基于所述数据组装实体类进行组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
在本实施例中,在用户终端的处理器中可以调用预先设置的数据组装实体类,以用于将第三联系人数据表中第一指定字段的各取值与对应的目标数据分别进行数据组装。其中,数据组装实体类是实体类的其中一种类型,实体类则是用于对必须存储的信息和相关行为建模的类。
通过设置数据组装实体类,可以实现将第三联系人数据表中第一指定字段的各取值与对应的目标数据分别进行数据组装。因之前所得到第一指定字段的各取值分别对应的目标数据已经完成过一次组装(即各目标数据是第一目标地址空间获取对应的目标子数据,且从第二目标地址空间获取对应的目标子数据组装完成),故此时只需再将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据基于所述数据组装实体类进行一次组装,从而在处理器中最终得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
在实际测试中,以采集1000条用户终端中存储的联系人数据为例,若采用现有的频繁查表方式时则耗时约11.778s;而采用本申请中查询内存的方式时则耗时约0.063。可见,采用本申请中查询内存的方式明显提升了数据采集速度。
而且,仍参考上述实际测试的示例,若采用现有的频繁查表方式时内存抖动明显,而采用本申请中查询内存的方式时则内存性能平稳。可见,采用本申请中查询内存的方式使得内存压力降低,更有利于实现对内存的有效保护。
在一实施例中,步骤S140之后还包括:
获取本地的加密模型,对所述第三联系人数据表中各联系人姓名分别对应的联系人信息基于所述加密模型进行加密,得到加密数据;
将所述加密数据发送至对应的接收终端。
在本实施例中,当在用户终端的本地完成了联系人数据的采集后,即得到了所述第三联系人数据表中各联系人姓名分别对应的联系人信息。之后,为了提高数据传输的安全性,可以基于用户终端本地预先存储的加密模型,如对称加密算法或非对称加密算法等,以对所述第三联系人数据表中各联系人姓名分别对应的联系人信息基于所述加密模型进行加密得到加密数据。在用户终端中得到加密后的所述加密数据后,将其发送至触发产生联系人数据授权获取指令的服务器或其他用户终端,以服务器或其他用户终端作为接收终端接收所述加密数据。
在一实施例中,步骤S110之前还包括:
获取服务器或其他用户终端发送的终端信息;
若确定所述终端信息对应的终端唯一识别码与预先存储的设备白名单清单匹配成功,则与服务器或其他用户终端建立通讯连接。
在本实施例中,当需要对用户终端中的联系人数据进行采集时,作为最终数据接收方的服务器或其他用户终端需要与用户终端建立安全连接。具体的,可以在用户终端中预先设置设备白名单清单,其中包括了若干个可与用户终端成功建立连接的设备信息(设备信息中包括终端唯一识别码、终端名称、终端MAC地址等信息)。之后用户终端接收到服务器或其他用户终端发送的终端信息时,先由其获取终端信息中的终端唯一识别码并与设备白名单清单中每一个终端唯一识别码进行比对。
若确定设备白名单清单中有终端唯一识别码与终端信息中的终端唯一识别码相同,则表示所述终端信息对应的终端唯一识别码与预先存储的设备白名单清单匹配成功,此时与用户终端待建立连接的服务器或其他用户终端是可以合法访问的终端设备,最终将用户终端与服务器或其他用户终端建立通讯连接即可。
可见,实施该方法的实施例可以基于查内存而非查表的方式获取用户终端本地的联系人数据,极大降低了查表次数,不仅降低了联系人采集耗时,而且降低内存抖动。
图6是本发明实施例提供的一种终端联系人数据授权获取装置的示意性框图。如图6所示,对应于以上终端联系人数据授权获取方法,本发明还提供一种终端联系人数据授权获取装置100。该终端联系人数据授权获取装置100包括用于执行上述终端联系人数据授权获取方法的单元。请参阅图6,该终端联系人数据授权获取装置100包括:内存存储控制单元110、数据表获取单元120、目标数据获取单元130和数据组装单元140。
内存存储控制单元110,用于响应于联系人数据授权获取指令,获取第一联系人数据表和第二联系人数据表并存储至内存中。
其中,所述第一联系人数据表中包括联系人联系号码,所述第二联系人数据表中包括联系人分组信息。
在本实施例中,是以用户终端为执行主体描述技术方案。具体的,本申请中的用户终端为智能手机。在服务器或其他用户终端需对该用户终端中的联系人数据进行采集时,也即在用户终端上检测到由其他用户终端或服务器发送的联系人数据授权获取指令,当用户终端检测到联系人数据授权获取指令时则在用户终端的本地先获取到第一联系人数据表和第二联系人数据表并存储至内存中。
其中,所述第一联系人数据表具体为用户终端的存储空间(非内存)中存储的ContactsContract.CommonDataKinds.Phone.CONTENT_URI表,在该第一联系人数据表中每一条联系人数据中除了包括联系人号码这一字段名称及具体的字段取值,还包括data_id、raw_contact_id、min_match等其他的字段名称及具体的字段取值。
所述第二联系人数据表具体为用户终端的存储空间(非内存)中存储的ContactsContract.Data.CONTENT_URI表,在该第二联系人数据表中每一条联系人分组数据中除了包括联系人分组信息这一字段名称及具体的字段取值,还包括_id、package_id、minetype_id、raw_contact_id、hash_id、is_read_only、is_primary、is_super_primary、data_version、data1、data2等其他的字段名称及具体的字段取值。
当获取到了第一联系人数据表和第二联系人数据表后,将两个数据表中的所有数据存储至内存中。由于已将数据由表存储转移至内存存储,使得后续获取第一联系人数据表和第二联系人数据表中的所有数据是从用户终端的内存中获取,而并非查表遍历获取,极大降低了查表次数,降低了联系人采集耗时。
在一实施例中,内存存储控制单元110用于:
按照所述第一联系人数据表中各联系人数据的数据id值的大小顺序依次获取联系人数据,并按照各联系人数据的数据id值的大小顺序依次存储于内存相应的存储空间中;
按照所述第二联系人数据表中各联系人数据的id值的大小顺序依次获取联系人分组数据,并按照各联系人分组数据的id值的大小顺序依次存储于内存相应的存储空间中。
在本实施例中,由于第一联系人数据表中各条联系人数据是按照各自对应的数据id值(即联系人数据在data_id字段的具体取值)的大小升序排序,故第一联系人数据表中各条联系人数据在内存的存储空间的存储地址也是从低位地址存储到高位地址。在得到了所述第一联系人数据表中各联系人数据的数据id值后,可以在内存中相应的存储地址所对应存储单元中存储。
同样的,由于第二联系人数据表中各条联系人分组数据是按照各自对应的id值(即联系人分组数据在_id字段的具体取值)的大小升序排序,故第二联系人数据表中各条联系人分组数据在内存的存储空间的存储地址也是从低位地址存储到高位地址。在得到了所述第二联系人数据表中各联系人分组数据的id值后,可以在内存中相应的存储地址所对应存储单元中存储。
当将第一联系人数据表和第二联系人数据表均存储于内存中后,数据不再以数据表的方式存储,后续进行数据查询时只需访问内存即可。由于遍历查询第一联系人数据表和第二联系人数据表时上述两张表各需一次查表,也即一共两次查表就能完成数据由数据表转移至内存,无需频繁查表,降低了联系人采集耗时。
数据表获取单元120,用于获取第三联系人数据表。
其中,所述第三联系人数据表中包括联系人姓名信息。
在本实施例中,为了将归属于同一联系人的所有数据合并,除了获取包括联系人联系号码的第一联系人数据表和包括联系人分组信息的第二联系人数据表,还需要获取存储了联系人姓名信息的第三联系人数据表。在查询第三联系人数据表时,也是仅需一次查表即可获取到第三联系人数据表中存储的各条联系人姓名数据,而不是每一条联系人姓名数据都需要对进行一次查表操作。
其中,所述第三联系人数据表具体为用户终端的存储空间(非内存)中存储的ContactsContract.Contacts.CONTENT_URI表,在该第三联系人数据表中每一条联系人数据中除了包括联系人姓名这一字段名称及具体的字段取值,还包括_id、account_id、sourceid、backup_id、raw_contact_id、version、dirty、deleted、contact_id、aggregation_mode、aggregation_needed、custom_ringtone、send_to_voicemail、times_contacted、last_time_contacted、starred、pinned、display_name、display_name_alt、phonetic_name、phonetic_name_style等其他的字段名称及具体的字段取值。
目标数据获取单元130,用于基于所述第三联系人数据表中第一指定字段的各取值从存储在内存中的第一联系人数据表和第二联系人数据表中分别获取目标数据。
在本实施例中,当用户终端已将第一联系人数据表和所述第二联系人数据表对应的数据存储于用户终端的内存中后,即得到了已存储数据。之后基于第三联系人数据表中的第一指定字段(具体实施时,第一指定字段为第三联系人数据表中的_id字段,也可以理解为第一指定字段为第三联系人数据表中的id字段)的各取值从用户终端的内存中已存储数据分别获取目标数据。即以分别以第三联系人数据表中第一指定字段的各字段取值为检索条件从内存中获取相应的目标数据。
例如,以第三联系人数据表中_id字段的第一个字段取值_id=1为检索条件从内存中获取相应的第一个目标数据;以第三联系人数据表中_id字段的第二个字段取值_id=2为检索条件从内存中获取相应的第二个目标数据;以此类推,直至获取到第三联系人数据表中最后一个id字段的字段取值在内存中相应的目标数据后结束基于所述第三联系人数据表中第一指定字段的取值从内存中已存储数据分别获取目标数据的过程。可见,上述过程不再以查表方式获取到所述第三联系人数据表中第一指定字段的各取值在所述第一联系人数据表和所述第二联系人数据表对应的数据,而是以查询用户终端内存的方式获取所述第三联系人数据表中第一指定字段的各取值分别对应的目标数据,不仅提升数据采集速度,而且降低内存抖动。
在一实施例中,目标数据获取单元130用于:
获取所述第三联系人数据表中第一指定字段的第i个字段取值;其中,i的初始取值为1;
以所述第一指定字段的字段名称和第i个字段取值组成第i个检索条件;
以第i个检索条件分别从内存中已存储数据获取对应的第i个目标数据;
将i自增1以更新i的取值,并确定i与N的大小关系;其中,N为所述第三联系人数据表中第一指定字段所包括的字段取值总个数;
若确定i小于或等于N,则返回执行所述获取所述第三联系人数据表中第一指定字段的第i个字段取值的步骤;
若确定i大于N,则获取第1个目标数据至第N个目标数据,以作为与所述第三联系人数据表中第一指定字段的各取值分别对应的目标数据。
在本实施例中,在用户终端的内存中获取所述第三联系人数据表中第一指定字段的各取值分别对应的目标数据时,可以是以轮流查询的方式来获取。即先获取到第三联系人数据表中_id字段的第一个字段取值_id=1对应的第1个目标数据,之后获取到第三联系人数据表中_id字段的第二个字段取值_id=2对应的第2个目标数据,以此类推,直至获取到第三联系人数据表中最后一个id字段的字段取值在内存中相应的目标数据后结束基于所述第三联系人数据表中第一指定字段的取值从内存中已存储数据分别获取目标数据的过程。
在上述轮流查询的过程中,需要进行的总轮数由所述第三联系人数据表中第一指定字段所包括的字段取值总个数来确定。当完成了上述轮流查询的过程,即得到了所述第三联系人数据表中第一指定字段的各取值分别对应的目标数据。
在一实施例中,所述以第i个检索条件分别从内存中已存储数据获取对应的第i个目标数据,包括:
获取所述第一联系人数据表在所述内存中的第一目标地址空间,并获取所述第二联系人数据表在所述内存中的第二目标地址空间;
以第i个检索条件在所述第一目标地址空间获取对应的第i1个目标子数据;
以第i个检索条件在所述第二目标地址空间获取对应的第i2个目标子数据;
将第i1个目标子数据和第i2个目标子数据进行组装,得到与第i个检索条件对应的第i个目标数据。
在本实施例中,由于用户终端中第一联系人数据表中所有数据在内存中存储时占用存储单元的第一目标地址空间是已知的,且第二联系人数据表中所有数据在内存中存储时占用存储单元的第二目标地址空间是已知的,因此在获取到了第i个检索条件后可以分别从第一目标地址空间获取对应的第i1个目标子数据,且从第二目标地址空间获取对应的第i2个目标子数据。这样第三联系人数据表中第一指定字段的各取值均能在第一目标地址空间和第二目标地址空间获取到相应的目标子数据,并组成各取值完整的目标数据,从而为后续的联系人数据组装提供了预处理数据,为后续数据组装的快速进行完成了数据储备。
数据组装单元140,用于将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
在本实施例中,当用户终端的处理器(如中央处理单元等)获取到了所述第三联系人数据表中第一指定字段的各取值,以及第一指定字段的各取值分别对应的目标数据后,在处理器中可以将第一指定字段的各取值与对应的目标数据分别进行数据组装后,即可得到第三联系人数据表中各联系人姓名分别对应的联系人信息。可见,基于上述方式,实现了将存储于不同数据表的相同联系人信息进行了快速组装。
在一实施例中,数据组装单元140用于:
获取预先设置的数据组装实体类;
将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据基于所述数据组装实体类进行组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
在本实施例中,在用户终端的处理器中可以调用预先设置的数据组装实体类,以用于将第三联系人数据表中第一指定字段的各取值与对应的目标数据分别进行数据组装。其中,数据组装实体类是实体类的其中一种类型,实体类则是用于对必须存储的信息和相关行为建模的类。
通过设置数据组装实体类,可以实现将第三联系人数据表中第一指定字段的各取值与对应的目标数据分别进行数据组装。因之前所得到第一指定字段的各取值分别对应的目标数据已经完成过一次组装(即各目标数据是第一目标地址空间获取对应的目标子数据,且从第二目标地址空间获取对应的目标子数据组装完成),故此时只需再将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据基于所述数据组装实体类进行一次组装,从而在处理器中最终得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
在实际测试中,以采集1000条用户终端中存储的联系人数据为例,若采用现有的频繁查表方式时则耗时约11.778s;而采用本申请中查询内存的方式时则耗时约0.063。可见,采用本申请中查询内存的方式明显提升了数据采集速度。
而且,仍参考上述实际测试的示例,若采用现有的频繁查表方式时内存抖动明显,而采用本申请中查询内存的方式时则内存性能平稳。可见,采用本申请中查询内存的方式使得内存压力降低,更有利于实现对内存的有效保护。
在一实施例中,终端联系人数据授权获取装置100还包括:
加密单元,用于获取本地的加密模型,对所述第三联系人数据表中各联系人姓名分别对应的联系人信息基于所述加密模型进行加密,得到加密数据;
加密数据发送单元,用于将所述加密数据发送至对应的接收终端。
在本实施例中,当在用户终端的本地完成了联系人数据的采集后,即得到了所述第三联系人数据表中各联系人姓名分别对应的联系人信息。之后,为了提高数据传输的安全性,可以基于用户终端本地预先存储的加密模型,如对称加密算法或非对称加密算法等,以对所述第三联系人数据表中各联系人姓名分别对应的联系人信息基于所述加密模型进行加密得到加密数据。在用户终端中得到加密后的所述加密数据后,将其发送至触发产生联系人数据授权获取指令的服务器或其他用户终端,以服务器或其他用户终端作为接收终端接收所述加密数据。
在一实施例中,终端联系人数据授权获取装置100还包括:
终端信息获取单元,用于获取服务器或其他用户终端发送的终端信息;
连接匹配单元,用于若确定所述终端信息对应的终端唯一识别码与预先存储的设备白名单清单匹配成功,则与服务器或其他用户终端建立通讯连接。
在本实施例中,当需要对用户终端中的联系人数据进行采集时,作为最终数据接收方的服务器或其他用户终端需要与用户终端建立安全连接。具体的,可以在用户终端中预先设置设备白名单清单,其中包括了若干个可与用户终端成功建立连接的设备信息(设备信息中包括终端唯一识别码、终端名称、终端MAC地址等信息)。之后用户终端接收到服务器或其他用户终端发送的终端信息时,先由其获取终端信息中的终端唯一识别码并与设备白名单清单中每一个终端唯一识别码进行比对。
若确定设备白名单清单中有终端唯一识别码与终端信息中的终端唯一识别码相同,则表示所述终端信息对应的终端唯一识别码与预先存储的设备白名单清单匹配成功,此时与用户终端待建立连接的服务器或其他用户终端是可以合法访问的终端设备,最终将用户终端与服务器或其他用户终端建立通讯连接即可。
可见,实施该装置的实施例可以基于查内存而非查表的方式获取用户终端本地的联系人数据,极大降低了查表次数,不仅降低了联系人采集耗时,而且降低内存抖动。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述终端联系人数据授权获取装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述终端联系人数据授权获取装置可以实现为一种计算机程序的形式,该计算机程序可以在如图7所示的终端联系人数据授权获取设备上运行。
请参阅图7,图7是本发明实施例提供的一种计算机设备的示意性框图。该计算机设备集成了本发明实施例所提供的任一种终端联系人数据授权获取装置。
参阅图7,该计算机设备包括通过系统总线401连接的处理器402、存储器和网络接口405,其中,存储器可以包括存储介质403和内存储器404。
该存储介质403可存储操作系统4031和计算机程序4032。该计算机程序4032包括程序指令,该程序指令被执行时,可使得处理器402执行一种终端联系人数据授权获取方法。
该处理器402用于提供计算和控制能力,以支撑整个计算机设备的运行。
该内存储器404为存储介质403中的计算机程序4032的运行提供环境,该计算机程序4032被处理器402执行时,可使得处理器402执行上述的终端联系人数据授权获取方法。
该网络接口405用于与其它设备进行网络通信。本领域技术人员可以理解,图7中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器402用于运行存储在存储器中的计算机程序4032,以实现如下步骤:
响应于联系人数据授权获取指令,获取第一联系人数据表和第二联系人数据表并存储至内存中;其中,所述第一联系人数据表中包括联系人联系号码,所述第二联系人数据表中包括联系人分组信息;
获取第三联系人数据表;其中,所述第三联系人数据表中包括联系人姓名信息;
基于所述第三联系人数据表中第一指定字段的各取值从存储在内存中的第一联系人数据表和第二联系人数据表中分别获取目标数据;
将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
应当理解,在本发明实施例中,处理器402可以是中央处理单元(CentralProcessing Unit,CPU),该处理器402还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如下步骤:
响应于联系人数据授权获取指令,获取第一联系人数据表和第二联系人数据表并存储至内存中;其中,所述第一联系人数据表中包括联系人联系号码,所述第二联系人数据表中包括联系人分组信息;
获取第三联系人数据表;其中,所述第三联系人数据表中包括联系人姓名信息;
基于所述第三联系人数据表中第一指定字段的各取值从存储在内存中的第一联系人数据表和第二联系人数据表中分别获取目标数据;
将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种终端联系人数据授权获取方法,其特征在于,包括:
响应于联系人数据授权获取指令,获取第一联系人数据表和第二联系人数据表并存储至内存中;
获取第三联系人数据表;其中,所述第三联系人数据表中包括联系人姓名信息;
基于所述第三联系人数据表中第一指定字段的各取值从存储在内存中的第一联系人数据表和第二联系人数据表中分别获取目标数据;
将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
2.根据权利要求1所述的方法,其特征在于,所述获取第一联系人数据表和第二联系人数据表并存储至内存中,包括:
按照所述第一联系人数据表中各联系人数据的数据id值的大小顺序依次获取联系人数据,并按照各联系人数据的数据id值的大小顺序依次存储于内存相应的存储空间中;
按照所述第二联系人数据表中各联系人数据的id值的大小顺序依次获取联系人分组数据,并按照各联系人分组数据的id值的大小顺序依次存储于内存相应的存储空间中。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第三联系人数据表中第一指定字段的各取值从存储在内存中的第一联系人数据表和第二联系人数据表中分别获取目标数据,包括:
获取所述第三联系人数据表中第一指定字段的第i个字段取值;其中,i的初始取值为1;
以所述第一指定字段的字段名称和第i个字段取值组成第i个检索条件;
以第i个检索条件分别从内存中已存储数据获取对应的第i个目标数据;
将i自增1以更新i的取值,并确定i与N的大小关系;其中,N为所述第三联系人数据表中第一指定字段所包括的字段取值总个数;
若确定i小于或等于N,则返回执行所述获取所述第三联系人数据表中第一指定字段的第i个字段取值的步骤;
若确定i大于N,则获取第1个目标数据至第N个目标数据,以作为与所述第三联系人数据表中第一指定字段的各取值分别对应的目标数据。
4.根据权利要求3所述的方法,其特征在于,所述以第i个检索条件分别从内存中已存储数据获取对应的第i个目标数据,包括:
获取所述第一联系人数据表在所述内存中的第一目标地址空间,并获取所述第二联系人数据表在所述内存中的第二目标地址空间;
以第i个检索条件在所述第一目标地址空间获取对应的第i1个目标子数据;
以第i个检索条件在所述第二目标地址空间获取对应的第i2个目标子数据;
将第i1个目标子数据和第i2个目标子数据进行组装,得到与第i个检索条件对应的第i个目标数据。
5.根据权利要求1所述的方法,其特征在于,所述将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息,包括:
获取预先设置的数据组装实体类;
将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据基于所述数据组装实体类进行组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
6.根据权利要求1所述的方法,其特征在于,在所述将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息的步骤之后,还包括:
获取本地的加密模型,对所述第三联系人数据表中各联系人姓名分别对应的联系人信息基于所述加密模型进行加密,得到加密数据;
将所述加密数据发送至对应的接收终端。
7.根据权利要求1所述的方法,其特征在于,在所述响应于联系人数据授权获取指令,获取第一联系人数据表和第二联系人数据表并存储至内存中的步骤之前,还包括:
获取服务器或其他用户终端发送的终端信息;
若确定所述终端信息对应的终端唯一识别码与预先存储的设备白名单清单匹配成功,则与服务器或其他用户终端建立通讯连接。
8.一种终端联系人数据授权获取装置,其特征在于,包括:
内存存储控制单元,用于响应于联系人数据授权获取指令,获取第一联系人数据表和第二联系人数据表并存储至内存中;
数据表获取单元,用于获取第三联系人数据表;其中,所述第三联系人数据表中包括联系人姓名信息;
目标数据获取单元,用于基于所述第三联系人数据表中第一指定字段的各取值从存储在内存中的第一联系人数据表和第二联系人数据表中分别获取目标数据;
数据组装单元,用于将所述第三联系人数据表中第一指定字段的各取值与对应的目标数据进行数据组装,得到所述第三联系人数据表中各联系人姓名分别对应的联系人信息。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的终端联系人数据授权获取方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如权利要求1-7中任一项所述的终端联系人数据授权获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310726490.2A CN116610713A (zh) | 2023-06-19 | 2023-06-19 | 终端联系人数据授权获取方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310726490.2A CN116610713A (zh) | 2023-06-19 | 2023-06-19 | 终端联系人数据授权获取方法、装置、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116610713A true CN116610713A (zh) | 2023-08-18 |
Family
ID=87676545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310726490.2A Pending CN116610713A (zh) | 2023-06-19 | 2023-06-19 | 终端联系人数据授权获取方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610713A (zh) |
-
2023
- 2023-06-19 CN CN202310726490.2A patent/CN116610713A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489059B (zh) | 数据集群存储的方法、装置及计算机设备 | |
AU2016382908B2 (en) | Short link processing method, device and server | |
US10067719B1 (en) | Methods and systems for storing and accessing data in a distributed data storage system | |
CN109086456B (zh) | 数据索引方法及装置 | |
CN111831785B (zh) | 敏感词检测方法、装置、计算机设备及存储介质 | |
CN110245145A (zh) | 关系型数据库到Hadoop数据库的结构同步方法和装置 | |
CN110737663A (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN103593442B (zh) | 日志数据的去重方法及装置 | |
US10102232B2 (en) | Storing structured information | |
CN115442439A (zh) | 分布式缓存集群管理方法、系统、终端及存储介质 | |
CN115827702A (zh) | 一种基于布隆过滤器的软件白名单查询方法 | |
JP5983333B2 (ja) | 検索処理方法、データ生成方法及び情報処理装置 | |
CN111352938A (zh) | 数据处理方法、计算机设备及存储介质 | |
CN116610713A (zh) | 终端联系人数据授权获取方法、装置、计算机设备及介质 | |
CN113486025B (zh) | 数据存储方法、数据查询方法及装置 | |
US7536398B2 (en) | On-line organization of data sets | |
WO2019062067A1 (zh) | 用户界面单元测试方法、装置、可读存储介质及设备 | |
CN114372240A (zh) | 数据获取方法、装置、终端及计算机可读存储介质 | |
US12013830B2 (en) | System and method using bloom filters to improve system reliability | |
CN115328892B (zh) | 一种业务表单数据结构处理方法、系统、电子设备及介质 | |
CN113691614B (zh) | 资讯处理方法和装置 | |
CN112783539B (zh) | 应用更新方法、系统、终端设备及存储介质 | |
CN118433309B (zh) | 呼叫信息处理方法、数据应答装置以及呼叫信息处理系统 | |
US20220188339A1 (en) | Network environment synchronization apparatus and method | |
WO2011100702A1 (en) | Identification of third party pim repositories storing a user's contact information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |