CN113850633B - 信息推送方法和装置 - Google Patents
信息推送方法和装置 Download PDFInfo
- Publication number
- CN113850633B CN113850633B CN202111435754.6A CN202111435754A CN113850633B CN 113850633 B CN113850633 B CN 113850633B CN 202111435754 A CN202111435754 A CN 202111435754A CN 113850633 B CN113850633 B CN 113850633B
- Authority
- CN
- China
- Prior art keywords
- application
- information
- identifier
- server
- information identifier
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
- G06Q30/0271—Personalized advertisement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请实施例提供一种信息推送方法和装置,应用于信息推送系统,信息推送系统包括终端设备,终端设备中加载有第一应用和第二应用,当终端设备在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,终端设备可以获取第一连接标识符,由于第一连接标识符与第一应用的信息标识符以及第二应用的信息业务域名有关,因此,针对不同的需要信息推送的其他应用,终端设备获取的连接标识符是不同的,从而可以降低多个应用精准得到用户画像的可能性,从而保护用户隐私,这样,终端设备根据第一连接标识符,获取第二应用的信息标识符对应的内容时,终端设备可以在第一应用中推送第二应用的信息标识符对应的内容。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种信息推送方法和装置。
背景技术
随着互联网技术的发展,用户可以在终端设备上安装不同类型的应用,通常的,用户打开应用时,用户可以在应用中看到推送的信息。
可能的实现中,在终端设备上显示应用推送的信息时,终端设备需要向应用提供信息标识符,这样,应用通过信息标识符可以向终端设备发送推送的信息,进而,终端设备显示推送的信息。
但是,当终端设备显示多个应用推送的信息时,终端设备向多个应用提供的信息标识符是相同的,这样,当多个应用之间联合运营显示各自的信息时,多个应用根据相同的信息标识符,可能会生成用户画像,导致用户隐私的泄露。
发明内容
本申请实施例提供一种信息推送方法和装置,涉及终端技术领域,应用于信息推送系统,信息推送系统包括终端设备,终端设备中加载有第一应用和第二应用,当终端设备在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,终端设备可以获取第一连接标识符,由于第一连接标识符与第一应用的信息标识符以及第二应用的信息业务域名有关,因此,针对不同的需要信息推送的其他应用,终端设备获取的连接标识符是不同的,从而可以降低多个应用精准得到用户画像的可能性,从而保护用户隐私,这样,终端设备根据第一连接标识符,获取第二应用的信息标识符对应的内容时,终端设备可以在第一应用中推送第二应用的信息标识符对应的内容。
第一方面,本申请实施例提供一种信息推送方法,应用于信息推送系统,信息推送系统包括终端设备,终端设备中加载有第一应用和第二应用,该方法包括:终端设备在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,获取第一连接标识符;第一连接标识符与第一应用的信息标识符以及第二应用的信息业务域名有关;第一应用的信息标识符用于第一应用推送信息;终端设备根据第一连接标识符,获取第二应用的信息标识符对应的内容;终端设备在第一应用中推送第二应用的信息标识符对应的内容。这样,针对不同的需要信息推送的其他应用,终端设备获取的连接标识符是不同的,从而可以降低多个应用精准得到用户画像的可能性,从而保护用户隐私。
在一种可能的实现方式中,信息推送系统还包括第一服务器、第二服务器和第三服务器,第一服务器用于服务第一应用,第二服务器用于服务第二应用;终端设备根据第一连接标识符,获取第二应用的信息标识符对应的内容,包括:终端设备基于第一应用向第二应用发送第一连接标识符,终端设备基于第二应用向第二服务器发送第一连接标识符以及第二应用的信息标识符,用于第二服务器根据第一连接标识符从第三服务器得到第一连接标识符对应的信息标识符,使得第二服务器向第一服务器发送第一连接标识符对应的信息标识符以及第二应用的信息标识符对应的内容;其中,第二应用的信息标识符用于第二应用推送信息;第二应用的信息标识符与第一应用的信息标识符不同;在第一服务器接收到第一应用的启动请求,且第一服务器判断第一连接标识符对应的信息标识符与第一应用的信息标识符匹配的情况下,终端设备基于第一应用从第一服务器得到第二应用的信息标识符对应的内容。这样,当终端设备基于第一应用得到第二应用的信息标识符对应的内容时,终端设备可以在第一应用推送第二应用的信息标识符对应的内容,使得用户可以在第一应用中看到推送的第二应用的信息标识符对应的内容。
在一种可能的实现方式中,终端设备在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,获取第一连接标识符,包括:终端设备在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,向第一服务器发送第一应用的信息标识符;终端设备从第一服务器获取业务密钥;终端设备根据业务密钥、第一应用的信息标识符、第二应用的信息业务域名,计算得到第一连接标识符。这样,由于第一连接标识符与第二应用的信息业务域名有关,因此,针对不同的信息业务域名,终端设备可以得到不同的连接标识符,从而使得不同应用基于对应的连接标识符,可以在第一应用中推送内容,降低不同应用基于第一应用精准得到用户画像的可能性,保护用户隐私。
在一种可能的实现方式中,终端设备根据业务密钥、第一应用的信息标识符、第二应用的信息业务域名,计算得到第一连接标识符,包括:终端设备基于第一应用在哈希运算消息认证码HMAC算法中输入业务密钥和第二应用的信息业务域名,得到第一密钥;终端设备基于第一应用在高级加密标准AES加密算法输入第一密钥、以及第一应用的信息标识符与第二应用的信息业务域名的拼接结果,得到计算结果;终端设备基于第一应用将计算结果与第二应用的信息业务域名进行拼接运算,得到第一连接标识符。这样,终端设备可以基于哈希运算消息认证码HMAC算法以及AES加密算法得到第一连接标识符,从而使得终端设备基于第一应用可以向第二应用发送第一连接标识符。
在一种可能的实现方式中,终端设备在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,向第一服务器发送第一应用的信息标识符,包括:终端设备在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,终端设备根据第一存储位置获取第一应用的信息标识符;终端设备基于第一应用向第一服务器发送第一应用的信息标识符。这样,第一服务器得到第一应用的信息标识符时,一方面,第一服务器可以存储第一应用的信息标识符,以便第一服务器可以随时使用第一应用的信息标识符,另一方面,第一服务器可以向第一应用发送业务密钥,以使得第一应用接收到业务密钥时,终端设备可以基于第一应用得到第一连接标识符。
在一种可能的实现方式中,终端设备根据第一存储位置获取第一应用的信息标识符,包括:当第一存储位置没有存储第一应用的信息标识符时,终端设备基于第一应用生成第一应用的信息标识符;或者,当第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长小于第一值时,终端设备基于第一应用从第一存储位置获取第一应用的信息标识符;或者,当第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长大于或等于第一值时,终端设备基于第一应用更新在第一存储位置中的第一应用的信息标识符;终端设备基于第一应用从第一存储位置获取第一应用的信息标识符。这样,终端设备可以根据第一存储位置中的第一应用的信息标识符的情况,使得终端设备可以基于第一应用获取第一应用的信息标识符。
在一种可能的实现方式中,终端设备基于第一应用生成第一应用的信息标识符,包括:终端设备基于第一应用在安全散列算法SHA256输入第一应用的名称以及第二值,得到哈希值;其中,第二值为64位的随机数;终端设备基于第一应用在UUIDSStringSigBits函数输入哈希值,得到第三值和第四值;终端设备基于第一应用将第三值和第四值输入java.util.UUID函数,得到第一应用的信息标识符。这样,由于第一应用的信息标识符与第一应用的名称有关,因此,不同的应用可以生成不同的信息标识符,从而使得终端设备中的不同应用推送信息时,降低终端设备中的用户隐私被不同应用追踪的可能性。
在一种可能的实现方式中,还包括:终端设备在第一应用接收到第三应用的信息推送请求时,获取第二连接标识符;第二连接标识符与第一应用的信息标识符以及第三应用有关;第二连接标识符与第一连接标识符不同;终端设备根据第二连接标识符,获取第三应用的信息标识符对应的内容;终端设备在第一应用中推送第三应用的信息标识符对应的内容。这样,针对不同的需要信息推送的其他应用,终端设备获取的连接标识符是不同的,从而可以降低多个应用精准得到用户画像的可能性,从而保护用户隐私。
第二方面,本申请实施例提供一种信息推送方法,应用于信息推送系统,信息推送系统包括终端设备、第一服务器、第二服务器和第三服务器,终端设备中加载有第一应用和第二应用,第一服务器用于服务第一应用,第二服务器用于服务第二应用,该方法包括:在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,第一应用获取第一连接标识符;第一连接标识符与第一应用的信息标识符以及第二应用的信息业务域名有关;第一应用的信息标识符用于第一应用推送信息;第一应用根据第一连接标识符,获取第二应用的信息标识符对应的内容;第一应用推送第二应用的信息标识符对应的内容。这样,针对不同的需要信息推送的其他应用,第一应用获取的连接标识符是不同的,从而可以降低通过第一应用精准得到用户画像的可能性,从而保护用户隐私。
在一种可能的实现方式中,第一应用根据第一连接标识符,获取第二应用的信息标识符对应的内容,包括:第一应用向第二应用发送第一连接标识符;第二应用向第二服务器发送第一连接标识符以及第二应用的信息标识符;其中,第二应用的信息标识符用于第二应用推送信息,第二应用的信息标识符与第一应用的信息标识符不同;第二服务器向第三服务器发送第一连接标识符;第三服务器根据第一连接标识符,得到第一连接标识符对应的信息标识符;第三服务器向第二服务器发送第一连接标识符对应的信息标识符;第二服务器向第一服务器发送第一连接标识符对应的信息标识符以及第二应用的信息标识符对应的内容;在第一服务器接收到第一应用的启动请求,且第一服务器判断第一连接标识符对应的信息标识符与第一应用的信息标识符匹配的情况下,第一服务器向第一应用发送第二应用的信息标识符对应的内容;第一应用得到第二应用的信息标识符对应的内容。这样,当第一应用得到第二应用的信息标识符对应的内容时,第一应用可以推送第二应用的信息标识符对应的内容,使得用户可以在第一应用中看到推送的第二应用的信息标识符对应的内容。
在一种可能的实现方式中,第三服务器根据第一连接标识符,得到第一连接标识符对应的信息标识符,包括:第三服务器对第一连接标识符进行截取运算,得到第二应用的信息业务域名;第三服务器从第一服务器获取业务密钥;第三服务器在哈希运算消息认证码HMAC算法输入业务密钥和第二应用的信息业务域名,得到第一密钥;第三服务器在高级加密标准AES解密算法输入第一密钥、以及第一连接标识符截掉第二应用的信息业务域名后的标识符,得到第一连接标识符对应的信息标识符与第二应用的信息业务域名的拼接结果;当拼接结果中的第二应用的信息业务域名,与第一连接标识符进行截取运算后得到的第二应用的信息业务域名匹配时,第三服务器从拼接结果中得到第一连接标识符对应的信息标识符。这样,由于第三服务器是可信的服务器,因此,在第三服务器得到第一连接标识符对应的信息标识符时,第三服务器不向其他的服务器发送第一连接标识符对应的信息标识符,而是向第二服务器发送第一连接标识符对应的信息标识符,从而降低服务器之间构建用户画像的可能性。
在一种可能的实现方式中,在第一服务器接收到第一应用的启动请求,且第一服务器判断第一连接标识符对应的信息标识符与第一应用的信息标识符匹配的情况下,第一服务器向第一应用发送第二应用的信息标识符对应的内容,包括:第一服务器根据第二存储位置获取第一应用的信息标识符;在第一服务器接收到第一应用的启动请求,且第一服务器判断第一连接标识符对应的信息标识符与第一应用的信息标识符匹配的情况下,第一服务器向第一应用发送第二应用的信息标识符对应的内容。这样,第一服务器通过判断流程,可以降低在第一应用中推送与第二应用的信息标识符对应的内容无关的内容的可能性,使得可以在第一应用中精准推荐内容。
在一种可能的实现方式中,第一服务器根据第二存储位置获取第一应用的信息标识符,包括:当第一服务器判断第一应用的信息标识符在第二存储位置的存储时长小于第五值时,第一服务器从第二存储位置获取第一应用的信息标识符;或者,当第一服务器判断第一应用的信息标识符在第二存储位置的存储时长大于或等于第五值时,第一服务器基于第一应用更新在第二存储位置中的第一应用的信息标识符;第一服务器从第二存储位置获取第一应用的信息标识符。这样,第一服务器可以根据第二存储位置中的第一应用的信息标识符的情况,获取第一应用的信息标识符,从而使得在第一连接标识符对应的信息标识符与第一应用的信息标识符匹配的情况下,第一服务器可以向第一应用发送第二应用的信息标识符对应的内容,使得第一应用可以推送第二应用的信息标识符对应的内容。
在一种可能的实现方式中,在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,第一应用获取第一连接标识符,包括:在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,第一应用向第一服务器发送第一应用的信息标识符;第一应用从第一服务器获取业务密钥;第一应用根据业务密钥、第一应用的信息标识符、第二应用的信息业务域名,计算得到第一连接标识符。这样,由于第一连接标识符与第二应用的信息业务域名有关,因此,针对不同的信息业务域名,第一应用可以得到不同的连接标识符,从而使得不同应用基于对应的连接标识符,可以在第一应用中推送内容,降低不同应用精准得到用户画像的可能性,保护用户隐私。
在一种可能的实现方式中,第一应用根据业务密钥、第一应用的信息标识符、第二应用的信息业务域名,计算得到第一连接标识符,包括:第一应用在哈希运算消息认证码HMAC算法中输入业务密钥和第二应用的信息业务域名,得到第一密钥;第一应用在高级加密标准AES加密算法输入第一密钥、以及第一应用的信息标识符与第二应用的信息业务域名的拼接结果,得到计算结果;第一应用将计算结果与第二应用的信息业务域名进行拼接运算,得到第一连接标识符。这样,第一应用可以基于哈希运算消息认证码HMAC算法以及AES加密算法得到第一连接标识符,从而使得第一应用可以向第二应用发送第一连接标识符。
在一种可能的实现方式中,在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,第一应用向第一服务器发送第一应用的信息标识符,包括:在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,第一应用根据第一存储位置获取第一应用的信息标识符;第一应用向第一服务器发送第一应用的信息标识符。这样,第一服务器得到第一应用的信息标识符时,一方面,第一服务器可以存储第一应用的信息标识符,以便第一服务器可以随时使用第一应用的信息标识符,另一方面,第一服务器可以向第一应用发送业务密钥,以使得第一应用可以基于业务密钥得到第一连接标识符。
在一种可能的实现方式中,第一应用根据第一存储位置获取第一应用的信息标识符,包括:当第一存储位置没有存储第一应用的信息标识符时,第一应用生成第一应用的信息标识符;或者,当第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长小于第一值时,第一应用从第一存储位置获取第一应用的信息标识符;或者,当第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长大于或等于第一值时,第一应用更新在第一存储位置中的第一应用的信息标识符;第一应用从第一存储位置获取第一应用的信息标识符。这样,第一应用可以根据第一存储位置中的第一应用的信息标识符的情况,获取第一应用的信息标识符。
在一种可能的实现方式中,第一应用生成第一应用的信息标识符,包括:第一应用在安全散列算法SHA256输入第一应用的名称以及第二值,得到哈希值;其中,第二值为64位的随机数;第一应用在UUIDSStringSigBits函数输入哈希值,得到第三值和第四值;第一应用将第三值和第四值输入java.util.UUID函数,得到第一应用的信息标识符。这样,由于第一应用的信息标识符与第一应用的名称有关,因此,不同的应用可以生成不同的信息标识符,从而使得终端设备中的不同应用推送信息时,降低终端设备中的用户隐私被不同应用追踪的可能性。
在一种可能的实现方式中,还包括:在第一应用接收到第三应用的信息推送请求时,第一应用获取第二连接标识符;第二连接标识符与第一应用的信息标识符以及第三应用有关;第二连接标识符与第一连接标识符不同;第一应用根据第二连接标识符,获取第三应用的信息标识符对应的内容;第一应用推送第三应用的信息标识符对应的内容。这样,针对不同的需要信息推送的其他应用,第一应用获取的连接标识符是不同的,从而可以降低多个应用精准得到用户画像的可能性,从而保护用户隐私。
第三方面,本申请实施例提供一种信息推送装置,应用于信息推送系统,信息推送系统包括终端设备,终端设备中加载有第一应用和第二应用,该装置包括第一处理单元。
示例性的,第一处理单元,用于在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,获取第一连接标识符;第一连接标识符与第一应用的信息标识符以及第二应用的信息业务域名有关;第一应用的信息标识符用于第一应用推送信息;第一处理单元,还用于根据第一连接标识符,获取第二应用的信息标识符对应的内容;第一处理单元,还用于在第一应用中推送第二应用的信息标识符对应的内容。
在一种可能的实现方式中,信息推送系统还包括第一服务器、第二服务器和第三服务器,第一服务器用于服务第一应用,第二服务器用于服务第二应用;第一处理单元,具体用于:基于第二应用向第二服务器发送第一连接标识符以及第二应用的信息标识符,用于第二服务器根据第一连接标识符从第三服务器得到第一连接标识符对应的信息标识符,使得第二服务器向第一服务器发送第一连接标识符对应的信息标识符以及第二应用的信息标识符对应的内容;其中,第二应用的信息标识符用于第二应用推送信息;第二应用的信息标识符与第一应用的信息标识符不同;在第一服务器接收到第一应用的启动请求,且第一服务器判断第一连接标识符对应的信息标识符与第一应用的信息标识符匹配的情况下,基于第一应用从第一服务器得到第二应用的信息标识符对应的内容。
在一种可能的实现方式中,第一处理单元,具体用于:在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,向第一服务器发送第一应用的信息标识符;从第一服务器获取业务密钥;根据业务密钥、第一应用的信息标识符、第二应用的信息业务域名,计算得到第一连接标识符。
在一种可能的实现方式中,第一处理单元,具体用于:基于第一应用在哈希运算消息认证码HMAC算法中输入业务密钥和第二应用的信息业务域名,得到第一密钥;基于第一应用在高级加密标准AES加密算法输入第一密钥、以及第一应用的信息标识符与第二应用的信息业务域名的拼接结果,得到计算结果;基于第一应用将计算结果与第二应用的信息业务域名进行拼接运算,得到第一连接标识符。
在一种可能的实现方式中,第一处理单元,具体用于:在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,根据第一存储位置获取第一应用的信息标识符;基于第一应用向第一服务器发送第一应用的信息标识符。
在一种可能的实现方式中,第一处理单元,具体用于:当第一存储位置没有存储第一应用的信息标识符时,基于第一应用生成第一应用的信息标识符;或者,当第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长小于第一值时,基于第一应用从第一存储位置获取第一应用的信息标识符;或者,当第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长大于或等于第一值时,基于第一应用更新在第一存储位置中的第一应用的信息标识符;基于第一应用从第一存储位置获取第一应用的信息标识符。
在一种可能的实现方式中,第一处理单元,具体用于:基于第一应用在安全散列算法SHA256输入第一应用的名称以及第二值,得到哈希值;其中,第二值为64位的随机数;基于第一应用在UUIDSStringSigBits函数输入哈希值,得到第三值和第四值;基于第一应用将第三值和第四值输入java.util.UUID函数,得到第一应用的信息标识符。
在一种可能的实现方式中,第一处理单元,还用于:在第一应用接收到第三应用的信息推送请求时,获取第二连接标识符;第二连接标识符与第一应用的信息标识符以及第三应用有关;第二连接标识符与第一连接标识符不同;根据第二连接标识符,获取第三应用的信息标识符对应的内容;在第一应用中推送第三应用的信息标识符对应的内容。
第四方面,本申请实施例提供一种信息推送装置,应用于信息推送系统,信息推送系统包括终端设备、第一服务器、第二服务器和第三服务器,终端设备中加载有第一应用和第二应用,第一服务器用于服务第一应用,第二服务器用于服务第二应用,该装置包括第二处理单元。
示例性的,第二处理单元,用于在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,获取第一连接标识符;第一连接标识符与第一应用的信息标识符以及第二应用的信息业务域名有关;第一应用的信息标识符用于第一应用推送信息;第二处理单元,还用于根据第一连接标识符,获取第二应用的信息标识符对应的内容;第二处理单元,还用于推送第二应用的信息标识符对应的内容。
在一种可能的实现方式中,第二处理单元,具体用于:向第二服务器发送第一连接标识符以及第二应用的信息标识符;其中,第二应用的信息标识符用于第二应用推送信息,第二应用的信息标识符与第一应用的信息标识符不同;向第三服务器发送第一连接标识符;根据第一连接标识符,得到第一连接标识符对应的信息标识符;向第二服务器发送第一连接标识符对应的信息标识符;向第一服务器发送第一连接标识符对应的信息标识符以及第二应用的信息标识符对应的内容;在第一服务器接收到第一应用的启动请求,且第一服务器判断第一连接标识符对应的信息标识符与第一应用的信息标识符匹配的情况下,向第一应用发送第二应用的信息标识符对应的内容;得到第二应用的信息标识符对应的内容。
在一种可能的实现方式中,第二处理单元,具体用于:对第一连接标识符进行截取运算,得到第二应用的信息业务域名;从第一服务器获取业务密钥;在哈希运算消息认证码HMAC算法输入业务密钥和第二应用的信息业务域名,得到第一密钥;在高级加密标准AES解密算法输入第一密钥、以及第一连接标识符截掉第二应用的信息业务域名后的标识符,得到第一连接标识符对应的信息标识符与第二应用的信息业务域名的拼接结果;当拼接结果中的第二应用的信息业务域名,与第一连接标识符进行截取运算后得到的第二应用的信息业务域名匹配时,从拼接结果中得到第一连接标识符对应的信息标识符。
在一种可能的实现方式中,第二处理单元,具体用于:根据第二存储位置获取第一应用的信息标识符;在第一服务器接收到第一应用的启动请求,且第一服务器判断第一连接标识符对应的信息标识符与第一应用的信息标识符匹配的情况下,向第一应用发送第二应用的信息标识符对应的内容。
在一种可能的实现方式中,第二处理单元,具体用于:当第一服务器判断第一应用的信息标识符在第二存储位置的存储时长小于第五值时,从第二存储位置获取第一应用的信息标识符;或者,当第一服务器判断第一应用的信息标识符在第二存储位置的存储时长大于或等于第五值时,基于第一应用更新在第二存储位置中的第一应用的信息标识符;从第二存储位置获取第一应用的信息标识符。
在一种可能的实现方式中,第二处理单元,具体用于:在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,向第一服务器发送第一应用的信息标识符;从第一服务器获取业务密钥;根据业务密钥、第一应用的信息标识符、第二应用的信息业务域名,计算得到第一连接标识符。
在一种可能的实现方式中,第二处理单元,具体用于:在哈希运算消息认证码HMAC算法中输入业务密钥和第二应用的信息业务域名,得到第一密钥;在高级加密标准AES加密算法输入第一密钥、以及第一应用的信息标识符与第二应用的信息业务域名的拼接结果,得到计算结果;将计算结果与第二应用的信息业务域名进行拼接运算,得到第一连接标识符。
在一种可能的实现方式中,第二处理单元,具体用于:在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,根据第一存储位置获取第一应用的信息标识符;向第一服务器发送第一应用的信息标识符。
在一种可能的实现方式中,第二处理单元,具体用于:当第一存储位置没有存储第一应用的信息标识符时,生成第一应用的信息标识符;或者,当第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长小于第一值时,从第一存储位置获取第一应用的信息标识符;或者,当第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长大于或等于第一值时,更新在第一存储位置中的第一应用的信息标识符;从第一存储位置获取第一应用的信息标识符。
在一种可能的实现方式中,第二处理单元,具体用于:在安全散列算法SHA256输入第一应用的名称以及第二值,得到哈希值;其中,第二值为64位的随机数;在UUIDSStringSigBits函数输入哈希值,得到第三值和第四值;将第三值和第四值输入java.util.UUID函数,得到第一应用的信息标识符。
在一种可能的实现方式中,第二处理单元,还用于:在第一应用接收到第三应用的信息推送请求时,获取第二连接标识符;第二连接标识符与第一应用的信息标识符以及第三应用有关;第二连接标识符与第一连接标识符不同;根据第二连接标识符,获取第三应用的信息标识符对应的内容;推送第三应用的信息标识符对应的内容。
第五方面,本申请实施例提供一种信息推送装置,包括处理器和存储器,存储器用于存储代码指令,处理器用于运行代码指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法,以及执行第二方面或第二方面的任意一种可能的实现方式中描述的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法,以及使得计算机执行第二方面或第二方面的任意一种可能的实现方式中描述的方法。
第七方面,本申请实施例提供一种包括计算机程序的计算机程序产品,当计算机程序在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法,以及使得计算机执行第二方面或第二方面的任意一种可能的实现方式中描述的方法。
第八方面,本申请实施例提供一种信息推送系统,该系统包括:第三方面及第三方面的各种可能的实现方式中描述的装置,以及第四方面及第四方面的各种可能的实现方式中描述的装置。
第九方面,本申请提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法,以及执行第二方面或第二方面的任意一种可能的实现方式中描述的方法;其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
在一种可能的实现中,本申请中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
应当理解的是,本申请的第二方面至第九方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种设置开放式匿名设备标识符(open anonymousdevice identifier,OAID)的界面示意图;
图2为本申请实施例提供的一种终端设备的硬件结构示意图;
图3为本申请实施例提供的一种终端设备的软件结构示意图;
图4为本申请实施例提供的一种信息推送方法的流程示意图;
图5为本申请实施例提供的一种第一服务器获取第一应用的信息标识符的示意图;
图6a为本申请实施例的一种信息推送方法的流程示意图;
图6b为本申请实施例的一种信息推送方法的流程示意图;
图7为本申请实施例提供的一种信息推送方法的示意图;
图8为本申请实施例提供的一种信息推送方法的示意图;
图9为本申请实施例提供的一种信息推送装置的结构示意图;
图10为本申请实施例提供的一种信息推送装置的结构示意图;
图11为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一芯片和第二芯片仅仅是为了区分不同的芯片,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
随着互联网技术的发展,用户可以在终端设备上安装不同类型的应用,通常的,用户打开应用时,用户可以在应用中看到推送的信息。
可能的实现中,当终端设备在应用中显示推送的信息时,终端设备需要向应用提供相同的信息标识符,这样,应用通过信息标识符可以向终端设备发送推送的信息,进而,终端设备显示推送的信息;
例如,以终端设备在应用中显示广告为例,终端设备向应用提供的标识符为OAID,其中,终端设备可以获取序列号(serial Numbe,SN)和64位随机数,进而,终端设备根据SN和64位随机数可以运算产生通用唯一识别码(universally unique identifier,UUID)格式的随机值,该随机值即为OAID,OAID也可以称为广告标识符。
其中,由于终端设备中的OAID不支持定期重置,这可能使得终端设备会被持续追踪,进而可能导致用户隐私的泄露;若用户在终端设备中手动重置OAID或关闭OAID,操作繁琐,降低用户对终端设备的使用体验。
示例性的,图1为本申请实施例提供的一种设置OAID的界面示意图。
当终端设备接收到用户设置终端设备的隐私的操作时,终端设备可以进入如图1中的a所示的界面,在图1中的a所示的界面中,该界面可以包括设置标签栏101以及设置项,例如,设置项可以包括下述的一种或多种:WLAN、蓝牙、移动网络、声音和振动、应用、电池、隐私102或其他类型的设置项;其中,WLAN和蓝牙处于关闭的状态。
当用户在图1中的a所示的界面通过点击或触摸等操作触发隐私102时,终端设备接收到用户设置隐私102的操作,终端设备进入到如图1中的b所示的界面;其中,图1中的b所示的界面可以包括隐私标签栏103以及隐私项,例如,隐私项可以包括下述的一种或多种:权限管理、广告与隐私104或其他类型的隐私项。
当用户在图1中的b所示的界面中通过点击或触摸等操作触发广告与隐私104时,终端设备接收到用户设置广告与隐私104的操作,终端设备进入到如图1中的c所示的界面,在图1中的c所示的界面中,该界面可以包括广告与隐私标签栏105以及广告与隐私项,例如,广告与隐私项可以包括下述的一种或多种:限制广告追踪106、重置广告标识符、更多信息以及其他类型的广告与隐私项;其中,限制广告追踪106的状态为开启状态,这样,终端设备上不会显示所有广告商提供的个性化广告,个性化广告与用户的个人生活习惯等内容相关。
当用户想要在终端设备上显示所有广告商提供的个性化广告时,用户可以在图1中的c所示的界面中通过点击或触摸等操作触发限制广告追踪106,终端设备接收到用户触发限制广告追踪106的操作,终端设备进入到如图1中的d所示的界面,与图1中的c所示的界面不同的是,限制广告追踪106为关闭的状态。
当用户在图1中的d所示的界面通过点击或触摸等操作触发更多信息108时,终端设备可以进入到图1中的e所示的界面,在该界面中显示了广告标识符,其中,用户也可以通过图1中的e所示的界面中的重置广告标识符107,对广告标识符进行重置,重置前的广告标识符和重置后的广告标识符不同,从而可以避免终端设备被持续追踪。
但是,当终端设备显示多个应用推送的信息时,终端设备向多个应用提供的信息标识符是相同的,这样,当多个应用之间联合运营显示各自的信息时,多个应用根据相同的信息标识符,可能会生成用户画像,导致用户隐私的泄露。
有鉴于此,本申请实施例提供一种信息推送方法和装置,涉及终端技术领域,应用于信息推送系统,信息推送系统包括终端设备,终端设备中加载有第一应用和第二应用,当终端设备在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,终端设备可以获取第一连接标识符,由于第一连接标识符与第一应用的信息标识符以及第二应用的信息业务域名有关,因此,针对不同的需要信息推送的其他应用,终端设备获取的连接标识符是不同的,从而可以降低多个应用精准得到用户画像的可能性,从而保护用户隐私,这样,终端设备根据第一连接标识符,获取第二应用的信息标识符对应的内容时,终端设备可以在第一应用中推送第二应用的信息标识符对应的内容。
本申请实施例的方法可以应用于信息推送系统,信息推送系统包括终端设备,示例性的,图2为本申请实施例提供的一种终端设备的硬件结构示意图,如图2所示,终端设备100可以包括处理器110,外部存储器接口120,内部存储器121,电源管理模块141,天线1,天线2,移动通信模块150,无线通信模块160,传感器模块180,按键190,摄像头193,显示屏194,用户接口130以及充电管理模块140等;其中,传感器模块180可以包括:压力传感器180A,加速度传感器180E,指纹传感器180H和触摸传感器180K等。
需要说明的是,本申请实施例示意的结构并不构成对终端设备100的具体限定;可以理解的是,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置;其中,图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等;其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器可以为高速缓冲存储器,该存储器可以保存处理器110刚用过或循环使用的指令或数据。
在一些实施例中,处理器110可以包括一个或多个接口,接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integratedcircuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
用户接口130用于终端设备100与外围设备之间传输数据,也可以用于连接耳机,通过耳机播放音频;用户接口130还可以用于连接其他设备,例如,增强现实(augmentedreality,AR)设备等。
电源管理模块141接收充电管理模块140的输入,电源管理模块141为处理器110,内部存储器121,显示屏194,摄像头193和无线通信模块160等供电。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150以及无线通信模块160等实现;其中,天线1和天线2用于发射和接收电磁波信号。终端设备100中的天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如,可以将天线1复用为无线局域网的分集天线。
移动通信模块150可以提供应用在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案;无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,终端设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端设备100可以通过无线通信技术与网络以及其他设备通信;其中,无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。
终端设备100通过显示屏194实现显示功能,显示屏194用于显示图像,视频等,显示屏194包括显示面板。在一些实施例中,终端设备100可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备100可以通过摄像头193等实现拍摄功能,摄像头193用于捕获静态图像或视频。
外部存储器接口120可以用于连接外部存储卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。
加速度传感器180E可检测终端设备100在各个方向上(一般为三轴)加速度的大小;指纹传感器180H用于采集指纹。终端设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。
本申请实施例中,当用户通过触控屏打开应用时,终端设备可以通过显示屏显示应用推送的信息,进而,当用户通过触控屏点击信息时,终端设备通过显示屏可以显示信息的具体内容,方便用户查看。
示例性的,图3为本申请实施例提供的一种终端设备100的软件结构示意图,如图3所示,分层架构将终端设备100的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。
在一些实施例中,可以将Android系统分为五层,分别为应用程序层(applications)、应用程序框架层(application framework)、安卓运行时(Androidruntime)和系统库以及内核层(kernel)。
可能的方式中,应用程序层可以包括一系列应用程序包,应用程序层通过调用应用程序框架层所提供的应用程序接口(application programming interface,API)运行应用程序。例如,如图3所示,应用程序包可以包括第一应用、第二应用、日历、地图、电话、音乐、设置、邮箱、视频或社交等应用程序。
其中,第一应用为实现信息推送的应用,第二应用为第一应用中推送的信息对应的应用,第三应用为第一应用中推送的信息对应的应用,第一应用、第二应用以及第三应用不同,第一应用、第二应用以及第三应用的具体内容,可以根据实际应用场景设定,本申请实施例不作限定;图3中未示出第三应用。
可能的方式中,应用程序框架层为应用程序层的应用程序提供API和编程框架。例如,如图3所示,应用程序框架层可以包括窗口管理器、内容提供器、资源管理器、视图系统、输入系统以及通知管理器等,应用程序框架层还包括一些预先定义的函数等。
其中,窗口管理器用于管理窗口程序,窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
其中,内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问,例如,数据可以包括浏览历史和书签、拨打和接听的电话、视频、图像、音频或电话簿等。
其中,资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
其中,通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。例如,通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如,后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知,例如,在状态栏提示文本信息,发出提示音,终端设备100振动,指示灯闪烁等。
本申请实施例中,应用程序框架层还包括信息标识符生成模块,第一应用、第二应用或第三应用通过信息标识符生成模块可以分别生成不同的信息标识符,使得第一应用、第二应用或第三应用可以通过各自的信息标识符实现信息推送。
可能的方式中,Android runtime用于负责安卓系统的调度和管理,可以包括核心库和虚拟机。其中,核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库;虚拟机用于执行对象安全和异常的管理、生命周期的管理、堆栈管理、线程管理以及垃圾回收等功能。
需要说明的是,应用程序层和应用程序框架层运行在虚拟机中,虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。
可能的方式中,系统库可以包括多个功能模块。例如:表面管理器(surfacemanager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎等。
其中,表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了二维和三维图层的融合;三维图形处理库用于实现三维图形绘图、图像渲染、合成以及图层处理等;二维图形引擎是二维绘图的绘图引擎;媒体库支持多种常用的视频格式回放和录制、音频以及静态图像文件等,媒体库可以支持多种音视频编码格式,例如,MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
可能的方式中,内核层是硬件和软件之间的层,内核层至少包含显示驱动、音频驱动、摄像头驱动、传感器驱动或马达驱动等,本申请实施例对此不做限制。
结合上述内容,示例性的,图4为本申请实施例提供的一种信息推送方法的流程示意图,如图4所示,该流程图中包括第一应用、第一服务器、第二应用、第二服务器以及第三服务器,其中,第一服务器用于服务第一应用,第二服务器用于服务第二应用,如图4所示,可以包括以下步骤:
S401:在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,第一应用向第一服务器发送第一应用的信息标识符。
本申请实施例中,第一服务器用于服务第一应用,第一应用的信息标识符用于第一应用推送信息;其中,第一应用的信息标识符的具体内容,可以根据实际应用场景设定,本申请实施例不作限定。
其中,第一应用接收到信息业务打开请求可以理解为,当用户打开第一应用,且用户在第一应用中看到推荐的信息时,用户点击该信息,这样,第一应用可以接收到信息业务打开请求。
本申请实施例中,第一应用向第一服务器发送第一应用的信息标识符,包括:第一应用获取第一应用的信息标识符,第一应用向第一服务器发送第一应用的信息标识符;其中,第一应用获取第一应用的信息标识符,可能包括以下几种可能的实现方式:
在第一种可能的实现方式中,当第一应用的第一存储位置没有包括第一应用的信息标识符时,第一应用生成第一应用的信息标识符。
在第二种可能的实现方式中,当第一应用的第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长小于第一值时,第一应用从第一存储位置获取第一应用的信息标识符。
在第三种可能的实现方式中,当第一应用的第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长大于或等于第一值时,第一应用更新第一存储位置中的第一应用的信息标识符。
其中,第一值可以为10天或其他值,第一值的具体内容,可以根据实际应用场景设定,本申请实施例不作限定。
其中,第一应用生成第一应用的信息标识符,可能的实现方式为:第一应用在安全散列算法(secure hash algorithm 256,SHA256)中输入第一应用的名称以及第二值,第二值为64位的随机数,第一应用可以得到哈希值,第一应用将哈希值输入UUIDSStringSigBits函数,从而可以得到第三值和第四值,进而,第一应用在业务调用广告ID生成接口输入第三值和第四值,从而可以得到第一应用的信息标识符。
其中,第三值为UUID值中的前64位的值,第三值可以表示为mostSigBits,第四值为UUID值中的后64位的值,第四值可以表示为leastSigBits,当业务调用广告ID生成接口调用java.util.UUID函数时,第一应用的信息标识符可以通过java.util.UUID函数得到,例如,java.util.UUID(mostSigBits,leastSigBits)。
可以理解的是,当第一应用生成第一应用的信息标识符时,第一应用可以将第一应用的信息标识符以及第一应用的信息标识符的生成时间存储在第一存储位置,一方面,在第一应用需要第一应用的信息标识符时,第一应用可以从第一存储位置读取第一应用的信息标识符,另一方面,第一应用可以根据第一应用的信息标识符的生成时间,判断是否重新生成第一应用的信息标识符。
可以理解的是,第一服务器可以包括信息标识符存储模块,这样,当第一服务器接收来字第一应用的信息标识符时,第一服务器可以通过信息标识符存储模块在第二存储位置存储第一应用的信息标识符。
需要说明的是,第一应用更新第一存储位置中的第一应用的信息标识符的实现方式,可以参考第一应用生成第一应用的信息标识符的实现方式,在此不再赘述。
结合S401的内容,示例性的,图5为本申请实施例提供的一种第一服务器获取第一应用的信息标识符的示意图,如图5所示,第一应用可以根据第一存储位置获取第一应用的信息标识符,例如,当第一应用判断第一存储位置包括第一应用的信息标识符,且第一应用的信息标识符在第一存储位置的存储时长大于或等于第一值时,第一应用可以更新在第一存储位置中的第一应用的信息标识符,并从第一存储位置获取第一应用的信息标识符,使得第一应用可以向第一服务器发送第一应用的信息标识符;当第一应用判断第一存储位置包括第一应用的信息标识符,且第一应用的信息标识符在第一存储位置的存储时长小于第一值时,第一应用可以从第一存储位置获取第一应用的信息标识符,并向第一服务器发送第一应用的信息标识符;当第一应用判断第一存储位置没有包括第一应用的信息标识符时,第一应用可以生成第一应用的信息标识符,并向第一服务器发送第一应用的信息标识符。
需要说明的是,第一应用更新在第一存储位置中的第一应用的信息标识符的实现方式,可以参考前述描述的第一应用可以生成第一应用的信息标识符的实现方式,在此不再赘述。
其中,图5描述的内容的具体实现,可以参考上述内容适应描述,在此不再赘述。
S402:第一应用从第一服务器获取业务密钥。
本申请实施例中,业务密钥用于保证在第一应用中运行的业务的安全性,例如,业务密钥可以保证其他应用在第一应用推送的信息的安全性,其中,业务密钥是第一服务器预先设置的,这样,第一应用可以从第一服务器获取预先设置好的业务密钥。
S403:第一应用根据业务密钥、第一应用的信息标识符以及第二应用的信息业务域名,确定第一连接标识符。
本申请实施例中,第一连接标识符用于其他应用在第一应用中推送信息,其中,第一应用根据业务密钥、第一应用的信息标识符以及第二应用的信息业务域名,确定第一连接标识符的实现方式为:第一应用在哈希运算消息认证码(hash-based messageauthentication code,HMAC)算法中输入业务密钥和第二应用的信息业务域名,得到第一密钥,进而,第一应用在高级加密标准(advanced encryption standard,AES)加密算法输入第一密钥、以及第一应用的信息标识符与第二应用的信息业务域名的拼接结果,可以得到计算结果,第一应用将计算结果与第二应用的信息业务域名进行拼接运算,可以得到第一连接标识符。
其中,第一密钥可以用KEY1表示,第一应用得到第一密钥可以表示为:KEY1=HMAC(业务秘钥,第二应用的信息业务域名),第一应用根据第一密钥得到第一连接标识符可以表示为:第一连接标识符=第二应用的信息业务域名|AES加密算法(KEY1,第一应用的信息标识符|第二应用的信息业务域名);其中,“|”表示拼接运算。
可以理解的是,第一应用确定第一连接标识符时,第一应用可以调用连接标识符生成接口,进而,第一应用通过调用连接标识符生成接口进行上述的运算后可以得到第一连接标识符。
S404:第一应用向第二应用发送用于指示启动第二应用的请求。
需要说明的是,由于终端设备中安装第一应用和第二应用,因此,第一应用可以通过终端设备的系统发送用于指示启动第二应用的请求,进一步地,终端设备的系统可以向第二应用发送用于指示启动第二应用的请求,从而使得第二应用处于启动状态。
S405:第一应用向第二应用发送第一连接标识符。
可以理解的是,第一应用可以通过终端设备的系统向第二应用发送第一连接标识符。
S406:第二应用向第二服务器发送第一连接标识符和第二应用的信息标识符。
本申请实施例中,第二服务器用于服务第二应用,第二应用得到第二应用的信息标识符的实现方式,可以参考第一应用得到第一应用的信息标识符的内容,在此不再赘述。
S407:第二服务器向第三服务器发送第一连接标识符。
S408:第三服务器从第一服务器获取业务密钥。
S409:第三服务器根据第一连接标识符以及业务密钥,确定第一连接标识符对应的信息标识符。
本申请实施例中,第三服务器可以为终端设备运营商的服务器,第三服务器根据第一连接标识符以及业务密钥,确定第一连接标识符对应的信息标识符,可能的实现方式为:第三服务器对第一连接标识符进行截取运算,得到第二应用的信息业务域名;第三服务器在HMAC算法中输入第二应用的信息业务域名和业务密钥,得到第一密钥,第三服务器在AES解密算法中输入第一密钥、以及第一连接标识符截掉第二应用的信息业务域名后的标识符,可以得到第一连接标识符对应的信息标识符与第二应用的信息业务域名的拼接结果,这样,当拼接结果中的第二应用的信息业务域名与第一连接标识符进行截取运算后得到的第二应用的信息业务域名匹配时,第三服务器从拼接结果中得到第一连接标识符对应的信息标识符。
其中,第一密钥可以用KEY1表示,KEY1=HMAC(业务秘钥,第二应用的信息业务域名),第一连接标识符对应的信息标识符|第二应用的信息业务域名= AES解密算法(KEY1,第一连接标识符截掉第二应用的信息业务域名后的标识符),“|”表示拼接运算。
可以理解的是,第三服务器包括三方运营连接标识符识别模块,这样,第三服务器可以通过三方运营连接标识符识别模块识别第一连接标识符对应的信息标识符。
S410:第三服务器向第二服务器发送第一连接标识符对应的信息标识符。
S411:第二服务器向第一服务器发送第一连接标识符对应的信息标识符和第二应用的信息标识符对应的内容。
S412:在第一服务器接收到第一应用的启动请求,且第一服务器判断第一应用的信息标识符与第一连接标识符对应的信息标识符匹配的情况下,第一服务器向第一应用发送第二应用的信息标识符对应的内容。
本申请实施例中,在第一服务器接收到第一应用的启动请求,且第一服务器判断第一应用的信息标识符与第一连接标识符对应的信息标识符匹配的情况下,第一服务器向第一应用发送第二应用的信息标识符对应的内容,可能的实现方式为:第一服务器根据第二存储位置获取第一应用的信息标识符;在第一服务器接收到第一应用的启动请求,且第一服务器判断第一应用的信息标识符与第一连接标识符对应的信息标识符匹配的情况下,第一服务器向第一应用发送第二应用的信息标识符对应的内容。
可以理解的是,由于第一服务器包括信息标识符存储模块,因此,第一服务器可以通过信息标识符存储模块在第二存储位置存储第一应用的信息标识符,这样,第一服务器根据第二存储位置获取第一应用的信息标识符,可能的实现方式为:当第一服务器判断第一应用的信息标识符在第二存储位置的存储时长小于第五值时,第一服务器从第二存储位置获取第一应用的信息标识符;或者,当第一服务器判断第一应用的信息标识符在第二存储位置的存储时长大于或等于第五值时,第一服务器基于第一应用更新在第二存储位置中的第一应用的信息标识符;第一服务器从第二存储位置获取第一应用的信息标识符。
需要说明的是,第一服务器基于第一应用更新在第二存储位置中的第一应用的信息标识符,可以理解为,第一服务器向第一应用发送用于指示发送第一应用的信息标识符的信息,第一服务器从第一应用获取第一应用的信息标识符,并通过信息标识符存储模块在第二存储位置存储获取的第一应用的信息标识符,从而使得第一服务器可以更新在第二存储位置中的第一应用的信息标识符;其中,第一应用向第一服务器发送的第一应用的信息标识符,可以是第一应用最新生成的。
S413:第一应用推送第二应用的信息标识符对应的内容。
结合S401-S413的内容,示例性的,图6a为本申请实施例的一种信息推送方法的流程示意图,如图6a所示,图6a的内容可以描述如下:
由于第一连接标识符与第一应用的信息标识符以及第二应用的信息业务域名有关,因此,在第一应用生成第一连接标识符的过程中,该内容可以描述为:第一服务器预先设置业务密钥,第一应用可以从第一服务器获取业务密钥,这样,第一应用可以根据业务密钥、第一应用的信息标识符以及第二应用的信息业务域名,计算得到第一连接标识符,具体实现方式可以参考前述内容适应描述,在此不再赘述。
进一步地,第一应用可以向第二应用发送第一连接标识符,第二应用向第二服务器发送第一连接标识符以及第二应用的信息标识符,第二服务器向第三服务器发送第一连接标识符,这样,第三服务器识别第一连接标识符对应的信息标识符的过程,可以描述为:第三服务器通过三方运营信息标识符识别模块可以识别第一连接标识符对应的信息标识符,进而,第三服务器向第二服务器发送第一连接标识符对应的信息标识符。
结合图6a所示的内容,示例性的,图6b为本申请实施例的一种信息推送方法的流程示意图,如图6b所示,第二服务器可以向第一服务器发送第一连接标识符对应的信息标识符以及第二应用的信息标识符对应的内容,这样,在第一服务器判断第一应用的信息标识符与第一连接标识符对应的信息标识符匹配时,第一服务器可以向第一应用发送第二应用的信息标识符对应的内容,从而使得第一应用可以推送第二应用的信息标识符对应的内容。
其中,在第一服务器判断第一应用的信息标识符与第一连接标识符对应的信息标识符匹配时,第一服务器可以向第一应用发送第二应用的信息标识符对应的内容,可能的实现方式为:
当第一服务器判断第一应用的信息标识符在第二存储位置的存储时长大于或等于第五值,第一服务器基于第一应用更新在第二存储位置中的第一应用的信息标识符,第一服务器从第二存储位置获取第一应用的信息标识符,并在第一应用的信息标识符与第一连接标识符对应的信息标识符匹配时,第一服务器向第一应用发送第二应用的信息标识符对应的内容,使得第一应用可以推送第二应用的信息标识符对应的内容。
当第一服务器判断第一应用的信息标识符在第二存储位置的存储时长小于第五值,第一服务器从第二存储位置获取第一应用的信息标识符,并在第一应用的信息标识符与第一连接标识符对应的信息标识符匹配时,第一服务器向第一应用发送第二应用的信息标识符对应的内容,使得第一应用可以推送第二应用的信息标识符对应的内容。
可以理解的是,当第一应用重置信息标识符时,第一应用可以在下一时刻进行信息推送时,使用重置后的信息标识符,可以降低被持续跟踪的风险。
其中,图6a和图6b所示的内容的具体实现方式,可以参考前述内容适应描述,在此不再赘述。
结合图4、图5、图6a和图6b所示的内容,示例性的,图7为本申请实施例提供的一种信息推送方法的示意图,图7所示的内容,可以参考上述内容适应描述,在此不再赘述。
可以理解的是,上述内容是以在第一应用中推送第二应用中的内容为例进行的示例性说明,其中,第一应用给第二应用发送的是第一连接标识符,第一连接标识符是第一应用基于第一应用的信息标识符、业务密钥以及第二应用的信息业务域名确定的,因此,当第一应用推送第三应用的信息时,第一应用向第三应用发送的第二连接标识符与第一连接标识符不同,第二连接标识符与第一应用的信息标识符、业务密钥以及第三应用的信息业务域名有关。
在图7所示的实施例的基础上,示例性的,图8为本申请实施例提供的一种信息推送方法的示意图,如图8所示,第四服务器用于服务第三应用,当第一应用接收到第三应用的信息推送请求时,第一应用可以根据业务密钥、第一应用的信息标识符以及第三应用的信息业务域名,确定第二连接标识符,可能的实现方式为:
第一应用在HMAC算法中输入业务密钥和第三应用的信息业务域名,得到第二密钥,进而,第一应用在AES加密算法输入第二密钥、以及第一应用的信息标识符与第三应用的信息业务域名的拼接结果,可以得到第六值,进而,第一应用将第六值与第三应用的信息业务域名进行拼接运算,可以得到第二连接标识符;其中,第三应用的信息标识符是第三应用通过信息标识符生成模块得到的,第三应用得到第三应用的信息标识符的实现方式,可以参考第一应用得到第一应用的信息标识符的实现方式,在此不再赘述。
进一步地,第一应用可以向第三应用发送第二连接标识符,第三应用向第四服务器发送第二连接标识符以及第三应用的信息标识符,第四服务器向第三服务器发送第二连接标识符,这样,第三服务器通过三方运营信息标识符识别模块可以识别第二连接标识符对应的信息标识符,并向第四服务器发送第二连接标识符对应的信息标识符,进一步地,第四服务器可以向第一服务器发送第二连接标识符对应的信息标识符以及第三应用的信息标识符对应的内容,当第一服务器判断第一应用的信息标识符在第二储位置的存储时长大于或等于第七值,第一服务器基于第一应用更新在第二存储位置中的第一应用的信息标识符,第一服务器从第二存储位置获取第一应用的信息标识符,并在第一应用的信息标识符与第二连接标识符对应的信息标识符匹配时,第一服务器向第一应用发送第三应用的信息标识符对应的内容,使得第一应用可以推送第三应用的信息标识符对应的内容;或者,当第一服务器判断第一应用的信息标识符在第二存储位置的存储时长小于第七值,第一服务器从第二存储位置获取第一应用的信息标识符,并在第一应用的信息标识符与第二连接标识符对应的信息标识符匹配时,第一服务器向第一应用发送第三应用的信息标识符对应的内容,使得第一应用可以推送第三应用的信息标识符对应的内容。
其中,第三服务器识别第二连接标识符对应的信息标识符的实现方式,可以参考第三服务器识别第一连接标识符对应的信息标识符的内容适应描述,在此不再赘述。
其中,第一应用、第一服务器、第二应用、第二服务器以及第三服务器之间的过程,可以参考前述内容适应描述,在此不再赘述。
结合上述内容,需要说明的是,以上所描述的信息可以包括广告、视频或图片等,这样,第一应用可以推送第二应用或第三应用的广告、视频或图片等;可以理解,信息的具体内容,可以根据实际应用场景设定,本申请实施例不作限定。
结合上述内容,可以理解的是,本申请实施例提供的方法可以对不同的应用生成不同的信息标识符,用于实现不同应用的业务,并在判断信息标识符超期时,可以重置信息标识符,降低终端设备被持续跟踪的可能性,而且,在应用上推送其他应用的信息时,针对不同的需要推送信息的其他应用,应生成的连接标识符是不同的,从而可以降低多个应用精准得到用户画像的可能性,从而保护用户隐私吗,因此,本申请实施例的方法既能降低终端设备被持续跟踪的可能性,也能降低多个应用精准得到用户画像的可能性。
上面已对本申请实施例的信息推送方法进行了说明,下面对本申请实施例提供的执行上述信息推送方法的装置进行描述。本领域技术人员可以理解,方法和装置可以相互结合和引用,本申请实施例提供的信息推送装置可以执行上述信息推送中的步骤。
示例性的,图9为本申请实施例提供的一种信息推送装置的结构示意图,如图9所示,该装置900包括:第一处理单元901,其中,第一处理单元901用于支持信息推送装置执行信息处理的步骤。
示例性的,第一处理单元901,用于在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,获取第一连接标识符;第一连接标识符与第一应用的信息标识符以及第二应用的信息业务域名有关;第一应用的信息标识符用于第一应用推送信息;第一处理单元901,还用于根据第一连接标识符,获取第二应用的信息标识符对应的内容;第一处理单元901,还用于在第一应用中推送第二应用的信息标识符对应的内容。
在一种可能的实现方式中,信息推送系统还包括第一服务器、第二服务器和第三服务器,第一服务器用于服务第一应用,第二服务器用于服务第二应用;第一处理单元901,具体用于:基于第一应用向第二应用发送第一连接标识符;基于第二应用向第二服务器发送第一连接标识符以及第二应用的信息标识符,用于第二服务器根据第一连接标识符从第三服务器得到第一连接标识符对应的信息标识符,使得第二服务器向第一服务器发送第一连接标识符对应的信息标识符以及第二应用的信息标识符对应的内容;其中,第二应用的信息标识符用于第二应用推送信息;第二应用的信息标识符与第一应用的信息标识符不同;在第一服务器接收到第一应用的启动请求,且第一服务器判断第一连接标识符对应的信息标识符与第一应用的信息标识符匹配的情况下,基于第一应用从第一服务器得到第二应用的信息标识符对应的内容。
在一种可能的实现方式中,第一处理单元901,具体用于:在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,向第一服务器发送第一应用的信息标识符;从第一服务器获取业务密钥;根据业务密钥、第一应用的信息标识符、第二应用的信息业务域名,计算得到第一连接标识符。
在一种可能的实现方式中,第一处理单元901,具体用于:基于第一应用在哈希运算消息认证码HMAC算法中输入业务密钥和第二应用的信息业务域名,得到第一密钥;基于第一应用在高级加密标准AES加密算法输入第一密钥、以及第一应用的信息标识符与第二应用的信息业务域名的拼接结果,得到计算结果;基于第一应用将计算结果与第二应用的信息业务域名进行拼接运算,得到第一连接标识符。
在一种可能的实现方式中,第一处理单元901,具体用于:在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,根据第一存储位置获取第一应用的信息标识符;基于第一应用向第一服务器发送第一应用的信息标识符。
在一种可能的实现方式中,第一处理单元901,具体用于:当第一存储位置没有存储第一应用的信息标识符时,基于第一应用生成第一应用的信息标识符;或者,当第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长小于第一值时,基于第一应用从第一存储位置获取第一应用的信息标识符;或者,当第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长大于或等于第一值时,基于第一应用更新在第一存储位置中的第一应用的信息标识符;基于第一应用从第一存储位置获取第一应用的信息标识符。
在一种可能的实现方式中,第一处理单元901,具体用于:基于第一应用在安全散列算法SHA256输入第一应用的名称以及第二值,得到哈希值;其中,第二值为64位的随机数;基于第一应用在UUIDSStringSigBits函数输入哈希值,得到第三值和第四值;基于第一应用将第三值和第四值输入java.util.UUID函数,得到第一应用的信息标识符。
在一种可能的实现方式中,第一处理单元901,还用于:在第一应用接收到第三应用的信息推送请求时,获取第二连接标识符;第二连接标识符与第一应用的信息标识符以及第三应用有关;第二连接标识符与第一连接标识符不同;通过第一应用向第三应用发送第二连接标识符;根据第二连接标识符,获取第三应用的信息标识符对应的内容;在第一应用中推送第三应用的信息标识符对应的内容。
在一种可能的实施例中,信息推送装置还可以包括:第一存储单元902。第一处理单元901、第一存储单元902通过通信总线相连。
第一存储单元902可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。
第一存储单元902可以独立存在,通过通信总线与信息推送装置具有的第一处理单元901相连;第一存储单元902也可以和第一处理单元901集成在一起。
信息推送装置可以用于信息推送设备、电路、硬件组件或者芯片中。
示例性的,图10为本申请实施例提供的一种信息推送装置的结构示意图,如图10所示,该装置1000包括:第二处理单元1001,其中,第二处理单元1001用于支持信息推送装置执行信息处理的步骤。
示例性的,第二处理单元1001,用于在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,获取第一连接标识符;第一连接标识符与第一应用的信息标识符以及第二应用的信息业务域名有关;第一应用的信息标识符用于第一应用推送信息;第二处理单元1001,还用于根据第一连接标识符,获取第二应用的信息标识符对应的内容;第二处理单元1001,还用于推送第二应用的信息标识符对应的内容。
在一种可能的实现方式中,第二处理单元1001,具体用于:向第二应用发送第一连接标识符;向第二服务器发送第一连接标识符以及第二应用的信息标识符;其中,第二应用的信息标识符用于第二应用推送信息,第二应用的信息标识符与第一应用的信息标识符不同;向第三服务器发送第一连接标识符;根据第一连接标识符,得到第一连接标识符对应的信息标识符;向第二服务器发送第一连接标识符对应的信息标识符;向第一服务器发送第一连接标识符对应的信息标识符以及第二应用的信息标识符对应的内容;在第一服务器接收到第一应用的启动请求,且第一服务器判断第一连接标识符对应的信息标识符与第一应用的信息标识符匹配的情况下,向第一应用发送第二应用的信息标识符对应的内容;得到第二应用的信息标识符对应的内容。
在一种可能的实现方式中,第二处理单元1001,具体用于:对第一连接标识符进行截取运算,得到第二应用的信息业务域名;从第一服务器获取业务密钥;在哈希运算消息认证码HMAC算法输入业务密钥和第二应用的信息业务域名,得到第一密钥;在高级加密标准AES解密算法输入第一密钥、以及第一连接标识符截掉第二应用的信息业务域名后的标识符,得到第一连接标识符对应的信息标识符与第二应用的信息业务域名的拼接结果;当拼接结果中的第二应用的信息业务域名,与第一连接标识符进行截取运算后得到的第二应用的信息业务域名匹配时,从拼接结果中得到第一连接标识符对应的信息标识符。
在一种可能的实现方式中,第二处理单元1001,具体用于:根据第二存储位置获取第一应用的信息标识符;在第一服务器接收到第一应用的启动请求,且第一服务器判断第一连接标识符对应的信息标识符与第一应用的信息标识符匹配的情况下,向第一应用发送第二应用的信息标识符对应的内容。
在一种可能的实现方式中,第二处理单元1001,具体用于:当第一服务器判断第一应用的信息标识符在第二存储位置的存储时长小于第五值时,从第二存储位置获取第一应用的信息标识符;或者,当第一服务器判断第一应用的信息标识符在第二存储位置的存储时长大于或等于第五值时,基于第一应用更新在第二存储位置中的第一应用的信息标识符;从第二存储位置获取第一应用的信息标识符。
在一种可能的实现方式中,第二处理单元1001,具体用于:在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,向第一服务器发送第一应用的信息标识符;从第一服务器获取业务密钥;根据业务密钥、第一应用的信息标识符、第二应用的信息业务域名,计算得到第一连接标识符。
在一种可能的实现方式中,第二处理单元1001,具体用于:在哈希运算消息认证码HMAC算法中输入业务密钥和第二应用的信息业务域名,得到第一密钥;在高级加密标准AES加密算法输入第一密钥、以及第一应用的信息标识符与第二应用的信息业务域名的拼接结果,得到计算结果;将计算结果与第二应用的信息业务域名进行拼接运算,得到第一连接标识符。
在一种可能的实现方式中,第二处理单元1001,具体用于:在第一应用接收到信息业务打开请求,且第一应用确定信息业务域名为第二应用的信息业务域名时,根据第一存储位置获取第一应用的信息标识符;向第一服务器发送第一应用的信息标识符。
在一种可能的实现方式中,第二处理单元1001,具体用于:当第一存储位置没有存储第一应用的信息标识符时,生成第一应用的信息标识符;或者,当第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长小于第一值时,从第一存储位置获取第一应用的信息标识符;或者,当第一存储位置包括第一应用的信息标识符,且第一应用的第一信息标识符在第一存储位置的存储时长大于或等于第一值时,更新在第一存储位置中的第一应用的信息标识符;从第一存储位置获取第一应用的信息标识符。
在一种可能的实现方式中,第二处理单元1001,具体用于:在安全散列算法SHA256输入第一应用的名称以及第二值,得到哈希值;其中,第二值为64位的随机数;在UUIDSStringSigBits函数输入哈希值,得到第三值和第四值;将第三值和第四值输入java.util.UUID函数,得到第一应用的信息标识符。
在一种可能的实现方式中,第二处理单元1001,还用于:在第一应用接收到第三应用的信息推送请求时,获取第二连接标识符;第二连接标识符与第一应用的信息标识符以及第三应用有关;第二连接标识符与第一连接标识符不同;向第三应用发送第二连接标识符;根据第二连接标识符,获取第三应用的信息标识符对应的内容;推送第三应用的信息标识符对应的内容。
在一种可能的实施例中,信息推送装置还可以包括:第二存储单元1002。第二处理单元1001、第二存储单元1002通过通信总线相连。
第二存储单元1002可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。
第二存储单元1002可以独立存在,通过通信总线与信息推送装置具有的第二处理单元1001相连;第二存储单元1002也可以和第二处理单元1001集成在一起。
信息推送装置可以用于信息推送设备、电路、硬件组件或者芯片中。
示例性的,图11为本申请实施例提供的一种芯片的结构示意图。芯片1100包括一个或两个以上(包括两个)处理器1110和通信接口1130。
在一些实施方式中,存储器1140存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
本申请实施例中,存储器1140可以包括只读存储器和随机存取存储器,并向处理器1110提供指令和数据。存储器1140的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
本申请实施例中,存储器1140、通信接口1130以及存储器1140通过总线系统1120耦合在一起。其中,总线系统1120除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。为了便于描述,在图11中将各种总线都标为总线系统1120。
上述本申请实施例描述的方法可以应用于处理器1110中,或者由处理器1110实现。处理器1110可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1110中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1110可以是通用处理器(例如,微处理器或常规处理器)、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件,处理器1110可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。
结合本申请实施例的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储器(electrically erasableprogrammable read only memory,EEPROM)等本领域成熟的存储介质中。该存储介质位于存储器1140,处理器1110读取存储器1140中的信息,结合其硬件完成上述方法的步骤。
在上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。其中,计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在存储器中。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
作为一种可能的设计,计算机可读介质可以包括紧凑型光盘只读储存器(compactdisc read-only memory,CD-ROM)、RAM、ROM、EEPROM或其它光盘存储器;计算机可读介质可以包括磁盘存储器或其它磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,DSL或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(digital versatile disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。
上述的组合也应包括在计算机可读介质的范围内。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (19)
1.一种信息推送方法,其特征在于,应用于信息推送系统,所述信息推送系统包括终端设备,所述终端设备中安装有第一应用和第二应用,所述信息推送系统还包括第一服务器,所述第一服务器用于服务所述第一应用;所述方法包括:
所述终端设备在所述第一应用接收到信息业务打开请求,且所述第一应用确定信息业务域名为所述第二应用的信息业务域名时,向所述第一服务器发送所述第一应用的信息标识符;所述终端设备从所述第一服务器获取业务密钥;
所述终端设备根据所述业务密钥、所述第一应用的信息标识符、所述第二应用的信息业务域名,计算得到第一连接标识符,所述第一连接标识符与所述第一应用的信息标识符以及所述第二应用的信息业务域名有关;所述第一应用的信息标识符用于所述第一应用推送信息;
所述终端设备根据所述第一连接标识符,获取所述第二应用的信息标识符对应的内容;
所述终端设备在所述第一应用中推送所述第二应用的信息标识符对应的内容。
2.根据权利要求1所述的方法,其特征在于,所述信息推送系统还包括第二服务器和第三服务器,所述第二服务器用于服务所述第二应用;所述终端设备根据所述第一连接标识符,获取所述第二应用的信息标识符对应的内容,包括:
所述终端设备基于所述第一应用向所述第二应用发送所述第一连接标识符;
所述终端设备基于所述第二应用向所述第二服务器发送所述第一连接标识符以及所述第二应用的信息标识符,用于所述第二服务器根据所述第一连接标识符从所述第三服务器得到所述第一连接标识符对应的信息标识符,使得所述第二服务器向所述第一服务器发送所述第一连接标识符对应的信息标识符以及所述第二应用的信息标识符对应的内容;其中,所述第二应用的信息标识符用于所述第二应用推送信息;所述第二应用的信息标识符与所述第一应用的信息标识符不同;
在所述第一服务器接收到所述第一应用的启动请求,且所述第一服务器判断所述第一连接标识符对应的信息标识符与所述第一应用的信息标识符匹配的情况下,所述终端设备基于所述第一应用从所述第一服务器得到所述第二应用的信息标识符对应的内容。
3.根据权利要求1所述的方法,其特征在于,所述终端设备根据所述业务密钥、所述第一应用的信息标识符、所述第二应用的信息业务域名,计算得到所述第一连接标识符,包括:
所述终端设备基于所述第一应用在哈希运算消息认证码HMAC算法中输入所述业务密钥和所述第二应用的信息业务域名,得到第一密钥;
所述终端设备基于所述第一应用在高级加密标准AES加密算法输入所述第一密钥、以及所述第一应用的信息标识符与第二应用的信息业务域名的拼接结果,得到计算结果;
所述终端设备基于所述第一应用将所述计算结果与第二应用的信息业务域名进行拼接运算,得到所述第一连接标识符。
4.根据权利要求1或3所述的方法,其特征在于,所述终端设备在所述第一应用接收到信息业务打开请求,且所述第一应用确定信息业务域名为所述第二应用的信息业务域名时,向所述第一服务器发送所述第一应用的信息标识符,包括:
所述终端设备在所述第一应用接收到信息业务打开请求,且所述第一应用确定信息业务域名为所述第二应用的信息业务域名时,所述终端设备根据第一存储位置获取所述第一应用的信息标识符;
所述终端设备基于所述第一应用向所述第一服务器发送所述第一应用的信息标识符。
5.根据权利要求4所述的方法,其特征在于,所述终端设备根据第一存储位置获取所述第一应用的信息标识符,包括:
当所述第一存储位置没有存储所述第一应用的信息标识符时,所述终端设备基于所述第一应用生成所述第一应用的信息标识符;
或者,当所述第一存储位置包括所述第一应用的信息标识符,且所述第一应用的第一信息标识符在所述第一存储位置的存储时长小于第一值时,所述终端设备基于所述第一应用从所述第一存储位置获取所述第一应用的信息标识符;
或者,当所述第一存储位置包括所述第一应用的信息标识符,且所述第一应用的第一信息标识符在所述第一存储位置的存储时长大于或等于第一值时,所述终端设备基于所述第一应用更新在所述第一存储位置中的所述第一应用的信息标识符;
所述终端设备基于所述第一应用从所述第一存储位置获取所述第一应用的信息标识符。
6.根据权利要求5所述的方法,其特征在于,所述终端设备基于所述第一应用生成所述第一应用的信息标识符,包括:
所述终端设备基于所述第一应用在安全散列算法SHA256输入所述第一应用的名称以及第二值,得到哈希值;其中,所述第二值为64位的随机数;
所述终端设备基于所述第一应用在UUIDSStringSigBits函数输入所述哈希值,得到第三值和第四值;
所述终端设备基于所述第一应用将所述第三值和所述第四值输入java.util.UUID函数,得到所述第一应用的信息标识符。
7.根据权利要求1-3、5或6任一项所述的方法,其特征在于,还包括:
所述终端设备在所述第一应用接收到信息业务打开请求,且所述第一应用确定信息业务域名为第三应用的信息业务域名时,获取第二连接标识符;所述第二连接标识符与所述第一应用的信息标识符以及所述第三应用的信息业务域名有关;所述第二连接标识符与所述第一连接标识符不同;
所述终端设备根据所述第二连接标识符,获取所述第三应用的信息标识符对应的内容;
所述终端设备在所述第一应用中推送所述第三应用的信息标识符对应的内容。
8.一种信息推送方法,其特征在于,应用于信息推送系统,所述信息推送系统包括终端设备、第一服务器、第二服务器和第三服务器,所述终端设备中安装有第一应用和第二应用,所述第一服务器用于服务所述第一应用,所述第二服务器用于服务所述第二应用,所述方法包括:
在所述第一应用接收到信息业务打开请求,且所述第一应用确定信息业务域名为所述第二应用的信息业务域名时,所述第一应用向所述第一服务器发送所述第一应用的信息标识符;
所述第一应用从所述第一服务器获取业务密钥;所述第一应用根据所述业务密钥、所述第一应用的信息标识符、所述第二应用的信息业务域名,计算得到第一连接标识符;所述第一连接标识符与所述第一应用的信息标识符以及所述第二应用的信息业务域名有关;所述第一应用的信息标识符用于所述第一应用推送信息;
所述第一应用根据所述第一连接标识符,获取所述第二应用的信息标识符对应的内容;
所述第一应用推送所述第二应用的信息标识符对应的内容。
9.根据权利要求8所述的方法,其特征在于,所述第一应用根据所述第一连接标识符,获取所述第二应用的信息标识符对应的内容,包括:
所述第一应用向所述第二应用发送所述第一连接标识符;
所述第二应用向所述第二服务器发送所述第一连接标识符以及所述第二应用的信息标识符;其中,所述第二应用的信息标识符用于所述第二应用推送信息,所述第二应用的信息标识符与所述第一应用的信息标识符不同;
所述第二服务器向所述第三服务器发送所述第一连接标识符;
所述第三服务器根据所述第一连接标识符,得到所述第一连接标识符对应的信息标识符;
所述第三服务器向所述第二服务器发送所述第一连接标识符对应的信息标识符;
所述第二服务器向所述第一服务器发送所述第一连接标识符对应的信息标识符以及所述第二应用的信息标识符对应的内容;
在所述第一服务器接收到所述第一应用的启动请求,且所述第一服务器判断所述第一连接标识符对应的信息标识符与所述第一应用的信息标识符匹配的情况下,所述第一服务器向所述第一应用发送所述第二应用的信息标识符对应的内容;
所述第一应用得到所述第二应用的信息标识符对应的内容。
10.根据权利要求9所述的方法,其特征在于,所述第三服务器根据所述第一连接标识符,得到所述第一连接标识符对应的信息标识符,包括:
所述第三服务器对所述第一连接标识符进行截取运算,得到所述第二应用的信息业务域名;
所述第三服务器从所述第一服务器获取业务密钥;
所述第三服务器在哈希运算消息认证码HMAC算法输入所述业务密钥和所述第二应用的信息业务域名,得到第一密钥;
所述第三服务器在高级加密标准AES解密算法输入所述第一密钥、以及所述第一连接标识符截掉所述第二应用的信息业务域名后的标识符,得到所述第一连接标识符对应的信息标识符与所述第二应用的信息业务域名的拼接结果;
当所述拼接结果中的所述第二应用的信息业务域名,与所述第一连接标识符进行截取运算后得到的所述第二应用的信息业务域名匹配时,所述第三服务器从所述拼接结果中得到所述第一连接标识符对应的信息标识符。
11.根据权利要求9或10所述的方法,其特征在于,所述在所述第一服务器接收到所述第一应用的启动请求,且所述第一服务器判断所述第一连接标识符对应的信息标识符与所述第一应用的信息标识符匹配的情况下,所述第一服务器向所述第一应用发送所述第二应用的信息标识符对应的内容,包括:
所述第一服务器根据第二存储位置获取所述第一应用的信息标识符;
在所述第一服务器接收到所述第一应用的启动请求,且所述第一服务器判断所述第一连接标识符对应的信息标识符与所述第一应用的信息标识符匹配的情况下,所述第一服务器向所述第一应用发送所述第二应用的信息标识符对应的内容。
12.根据权利要求11所述的方法,其特征在于,所述第一服务器根据第二存储位置获取所述第一应用的信息标识符,包括:
当所述第一服务器判断所述第一应用的信息标识符在所述第二存储位置的存储时长小于第五值时,所述第一服务器从所述第二存储位置获取所述第一应用的信息标识符;
或者,当所述第一服务器判断所述第一应用的信息标识符在所述第二存储位置的存储时长大于或等于第五值时,所述第一服务器基于所述第一应用更新在所述第二存储位置中的所述第一应用的信息标识符;
所述第一服务器从所述第二存储位置获取所述第一应用的信息标识符。
13.根据权利要求8所述的方法,其特征在于,所述第一应用根据所述业务密钥、所述第一应用的信息标识符、所述第二应用的信息业务域名,计算得到所述第一连接标识符,包括:
所述第一应用在哈希运算消息认证码HMAC算法中输入所述业务密钥和所述第二应用的信息业务域名,得到第一密钥;
所述第一应用在高级加密标准AES加密算法输入所述第一密钥、以及所述第一应用的信息标识符与第二应用的信息业务域名的拼接结果,得到计算结果;
所述第一应用将所述计算结果与第二应用的信息业务域名进行拼接运算,得到所述第一连接标识符。
14.根据权利要求8或13所述的方法,其特征在于,所述在所述第一应用接收到信息业务打开请求,且所述第一应用确定信息业务域名为所述第二应用的信息业务域名时,所述第一应用向所述第一服务器发送所述第一应用的信息标识符,包括:
在所述第一应用接收到信息业务打开请求,且所述第一应用确定信息业务域名为所述第二应用的信息业务域名时,所述第一应用根据第一存储位置获取所述第一应用的信息标识符;
所述第一应用向所述第一服务器发送所述第一应用的信息标识符。
15.根据权利要求14所述的方法,其特征在于,所述第一应用根据第一存储位置获取所述第一应用的信息标识符,包括:
当所述第一存储位置没有存储所述第一应用的信息标识符时,所述第一应用生成所述第一应用的信息标识符;
或者,当所述第一存储位置包括所述第一应用的信息标识符,且所述第一应用的第一信息标识符在所述第一存储位置的存储时长小于第一值时,所述第一应用从所述第一存储位置获取所述第一应用的信息标识符;
或者,当所述第一存储位置包括所述第一应用的信息标识符,且所述第一应用的第一信息标识符在所述第一存储位置的存储时长大于或等于第一值时,所述第一应用更新在所述第一存储位置中的所述第一应用的信息标识符;
所述第一应用从所述第一存储位置获取所述第一应用的信息标识符。
16.根据权利要求15所述的方法,其特征在于,所述第一应用生成所述第一应用的信息标识符,包括:
所述第一应用在安全散列算法SHA256输入所述第一应用的名称以及第二值,得到哈希值;其中,所述第二值为64位的随机数;
所述第一应用在UUIDSStringSigBits函数输入所述哈希值,得到第三值和第四值;
所述第一应用将所述第三值和所述第四值输入java.util.UUID函数,得到所述第一应用的信息标识符。
17.根据权利要求8-10、12、13、15或16任一项所述的方法,其特征在于,还包括:
在所述第一应用接收到信息业务打开请求,且所述第一应用确定信息业务域名为第三应用的信息业务域名时,所述第一应用获取第二连接标识符;所述第二连接标识符与所述第一应用的信息标识符以及所述第三应用的信息业务域名有关;所述第二连接标识符与所述第一连接标识符不同;
所述第一应用根据所述第二连接标识符,获取所述第三应用的信息标识符对应的内容;
所述第一应用推送所述第三应用的信息标识符对应的内容。
18.一种信息推送装置,其特征在于,包括处理器和存储器,所述存储器用于存储代码指令;所述处理器用于运行所述代码指令,以执行如权利要求1-17中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如权利要求1-17中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111435754.6A CN113850633B (zh) | 2021-11-30 | 2021-11-30 | 信息推送方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111435754.6A CN113850633B (zh) | 2021-11-30 | 2021-11-30 | 信息推送方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113850633A CN113850633A (zh) | 2021-12-28 |
CN113850633B true CN113850633B (zh) | 2022-04-19 |
Family
ID=78982259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111435754.6A Active CN113850633B (zh) | 2021-11-30 | 2021-11-30 | 信息推送方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113850633B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299363A (zh) * | 2018-09-26 | 2019-02-01 | 北京安云世纪科技有限公司 | 推送信息的内容获取方法、装置、计算机设备及存储介质 |
CN109522141A (zh) * | 2018-11-27 | 2019-03-26 | 苏州我的打工人力资源有限公司 | 信息推送方法及装置、服务器、设备及存储介质 |
CN109544207A (zh) * | 2018-10-19 | 2019-03-29 | 中国平安人寿保险股份有限公司 | 一种信息处理方法、存储介质和服务器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647455B (zh) * | 2012-03-23 | 2015-08-05 | 华为技术有限公司 | 移动广告的处理方法、代理服务器及终端 |
US20150254706A1 (en) * | 2014-03-10 | 2015-09-10 | Matthew T. Dennehy | System and method for providing discounts |
CN107888703B (zh) * | 2017-11-29 | 2019-12-10 | Oppo广东移动通信有限公司 | 信息推送方法、装置、服务器及可读存储介质 |
CN109688227B (zh) * | 2019-01-11 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 信息推送方法 |
JP7145836B2 (ja) * | 2019-10-15 | 2022-10-03 | ヤフー株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
-
2021
- 2021-11-30 CN CN202111435754.6A patent/CN113850633B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299363A (zh) * | 2018-09-26 | 2019-02-01 | 北京安云世纪科技有限公司 | 推送信息的内容获取方法、装置、计算机设备及存储介质 |
CN109544207A (zh) * | 2018-10-19 | 2019-03-29 | 中国平安人寿保险股份有限公司 | 一种信息处理方法、存储介质和服务器 |
CN109522141A (zh) * | 2018-11-27 | 2019-03-26 | 苏州我的打工人力资源有限公司 | 信息推送方法及装置、服务器、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113850633A (zh) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3913516B1 (en) | File access authority authentication method and electronic device | |
CN113032766B (zh) | 应用权限管理的方法和装置 | |
CN110245518B (zh) | 一种数据存储方法、装置及设备 | |
CN105975864A (zh) | 操作系统的启动方法、装置及终端 | |
CN114531676B (zh) | 一种密钥处理方法、装置和终端设备 | |
CN111061524A (zh) | 一种应用数据处理方法及相关装置 | |
CN115048642B (zh) | 多可信执行环境下可信应用间的通信方法及电子设备 | |
WO2020259650A1 (zh) | 一种响应请求的方法及电子设备 | |
CN112262548B (zh) | 一种文件处理方法及终端设备 | |
CN111656347B (zh) | 一种项目的显示方法及终端 | |
CN114915618B (zh) | 升级包下载方法及装置 | |
CN114862398A (zh) | 一种基于分布式安全设备的风险控制方法以及相关装置 | |
CN110602689B (zh) | 一种设备安全操作的方法和装置 | |
CN113850633B (zh) | 信息推送方法和装置 | |
CN117667115A (zh) | 应用程序的安装方法及电子设备 | |
CN117492636A (zh) | 数据存储方法和电子设备 | |
CN117668933A (zh) | 数据存储方法和电子设备 | |
CN116997891A (zh) | 行为监控方法、装置、终端设备及计算机可读存储介质 | |
CN110618967B (zh) | 应用程序运行方法、安装包生成方法、装置、设备及介质 | |
CN113468606B (zh) | 一种应用程序的访问方法及电子设备 | |
CN116049812B (zh) | 访问硬件资源的方法和电子设备 | |
CN117131519B (zh) | 一种信息的保护方法及设备 | |
CN116702100B (zh) | 权限管理方法和电子设备 | |
CN113468606A (zh) | 一种应用程序的访问方法及电子设备 | |
CN113205341A (zh) | 支付风险控制方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |