CN109120499B - Information processing method and device - Google Patents

Information processing method and device Download PDF

Info

Publication number
CN109120499B
CN109120499B CN201710487336.9A CN201710487336A CN109120499B CN 109120499 B CN109120499 B CN 109120499B CN 201710487336 A CN201710487336 A CN 201710487336A CN 109120499 B CN109120499 B CN 109120499B
Authority
CN
China
Prior art keywords
user
input method
platform
instant messaging
method client
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
Application number
CN201710487336.9A
Other languages
Chinese (zh)
Other versions
CN109120499A (en
Inventor
费腾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sogou Technology Development Co Ltd
Original Assignee
Beijing Sogou Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sogou Technology Development Co Ltd filed Critical Beijing Sogou Technology Development Co Ltd
Priority to CN201710487336.9A priority Critical patent/CN109120499B/en
Publication of CN109120499A publication Critical patent/CN109120499A/en
Application granted granted Critical
Publication of CN109120499B publication Critical patent/CN109120499B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses an information processing method, which comprises the following steps: the input method client selects a target instant messaging platform; the input method client determines a second user; the input method client acquires first communication information input by a first user; and the input method client sends the first communication information to the second user through the target instant communication platform. The invention solves the technical problem that in the prior art, when a user edits a document, if the user needs to communicate with other users, the document and the instant messaging software need to be frequently switched, so that the operation is complex. The method and the system realize that the user can communicate with other users only through the input method client without switching to the instant messaging software, and simplify the technical effect of operation. Meanwhile, the invention also discloses an information processing device.

Description

Information processing method and device
Technical Field
The present invention relates to the field of internet technologies, and in particular, to an information processing method and apparatus.
Background
The development of internet technology has changed people's lifestyle and brought people with a lot of convenience.
Instant messaging software (such as 'WeChat', 'QQ', and the like) based on the Internet technology changes the communication mode of people, people are used to make calls or send short messages, and people prefer to use the instant messaging software to communicate with other people nowadays. The instant messaging software plays an important role in both life and work, so that the communication between people is more efficient and convenient.
However, when the user uses the instant messaging software, the user needs to log in the user account in advance, switch to the chat interface, and then call the input method to chat, and when the user is performing other input, the cost of switching the input scene back and forth is very high, the operation of the user is complex, and fatigue is easily generated. For example, when a user writes a paper in a word document and needs to consult his/her teacher when encountering a problem, the user needs to switch to an interface of instant messaging software, find the teacher and then write the problem and send the problem to the teacher.
Disclosure of Invention
The embodiment of the invention provides an information processing method and device, and solves the technical problems that in the prior art, when a user edits a document, if the user needs to communicate with other users, the document and instant messaging software need to be frequently switched, and the operation is complex. The method and the system realize that the user can communicate with other users only through the input method client without switching to the instant messaging software, and simplify the technical effect of operation.
In a first aspect, the present invention provides the following technical solutions through an embodiment of the present invention:
an information processing method comprising: the input method client selects a target instant messaging platform;
the input method client determines a second user;
the input method client side obtains first communication information input by a first user;
and the input method client sends the first communication information to the second user through the target instant messaging platform.
Preferably, the input method client selects a target instant messaging platform, and includes:
and the input method client determines the target instant messaging platform from a plurality of instant messaging platforms based on the first selection operation of the first user.
Preferably, the input method client determines a second user, including:
the input method client determines the second user from a friend list of the first user on the target instant messaging platform based on the second selection operation of the first user; or
The input method client determines the second user from a friend list of the first user on the target instant messaging platform based on the user identification information of the second user input by the first user; or
The input method client selects a plurality of users matched with the partial user identification information from a friend list of the first user on the target instant messaging platform based on the partial user identification information of the second user input by the first user, and determines the second user from the plurality of users based on a third selection operation of the first user; or
The input method client determines a user to be selected based on the user identification information of the second user input by the first user, acquires a friend list of the first user on the target instant messaging platform, detects whether the friend list contains the user to be selected, determines that the user to be selected is the second user if the friend list contains the user to be selected, and outputs prompt information if the friend list does not contain the user to be selected.
Preferably, the obtaining, by the input method client, the first communication information input by the first user includes:
and the input method client outputs an input box and receives the first communication information input by the first user in the input box.
Preferably, the sending, by the input method client, the first communication information to the second user through the target instant messaging platform includes:
the input method client calls a preset interface of an instant messaging client corresponding to the target instant messaging platform, and sends the user identification of the second user and the first communication information to the instant messaging client based on the preset interface, so that the instant messaging client determines the second user based on the user identification of the second user and sends the first communication information to the second user; or
And the input method client sends the user identification of the second user, the first communication information and the platform identification of the target instant communication platform to a cloud server, so that the cloud server determines the target instant communication platform based on the platform identification and sends the first communication information to the second user through the target instant communication platform.
Preferably, the input method client sends the user identifier of the second user, the first communication information, and the platform identifier of the instant messaging platform to a cloud server, and includes:
when the preset time is reached, the input method client sends the user identification of the second user, the first communication information and the platform identification of the instant communication platform to the cloud server; or
The input method client side immediately sends the user identification of the second user, the first communication information and the platform identification of the instant communication platform to the cloud server; or
When the input method client needs to send a cloud request, the input method client sends the user identifier of the second user, the first communication information and the platform identifier of the instant communication platform to the cloud server together with the cloud request.
Preferably, after the input method client sends the first communication information to the second user through the target instant messaging platform, the method further includes:
the input method client receives second communication information replied by the second user through the target instant communication platform;
and the input method client displays the second communication information.
In a second aspect, the present invention provides the following technical solutions through an embodiment of the present invention:
an information processing apparatus comprising:
the selection unit is used for selecting a target instant messaging platform by the input method client;
the determining unit is used for determining a second user by the input method client;
the acquisition unit is used for acquiring first communication information input by a first user by the input method client;
and the sending unit is used for sending the first communication information to the second user by the input method client through the target instant messaging platform.
In a third aspect, the present invention provides the following technical solutions through an embodiment of the present invention:
an information processing apparatus comprising a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors the one or more programs including instructions for:
the input method client selects a target instant messaging platform; the input method client determines a second user; the input method client side obtains first communication information input by a first user; and the input method client sends the first communication information to a second user through the target instant messaging platform.
In a fourth aspect, the present invention provides the following technical solutions through an embodiment of the present invention:
a computer-readable storage medium, on which a computer program is stored which, when executed by a processor, carries out the steps of:
the input method client selects a target instant messaging platform; the input method client determines a second user; the input method client side obtains first communication information input by a first user; and the input method client sends the first communication information to the second user through the target instant messaging platform.
One or more technical solutions provided in the embodiments of the present invention have at least the following technical effects or advantages:
in an embodiment of the present invention, an information processing method is disclosed, including: the input method client selects a target instant messaging platform; the input method client determines a second user; the input method client acquires first communication information input by a first user; and the input method client sends the first communication information to the second user through the target instant communication platform. The invention solves the technical problem that in the prior art, when a user edits a document, if the user needs to communicate with other users, the document and the instant messaging software need to be frequently switched, so that the operation is complex. The method and the system realize that the user can communicate with other users only through the input method client without switching to the instant messaging software, and simplify the technical effect of operation.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on the drawings without creative efforts.
FIG. 1 is a flow chart of an information processing method according to an embodiment of the present invention;
FIG. 2 is a schematic structural diagram of an information processing apparatus according to an embodiment of the present invention;
FIG. 3 is a schematic structural diagram of an information processing apparatus according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a cloud server in an embodiment of the present invention.
Detailed Description
The embodiment of the invention provides an information processing method and device, and solves the technical problems that in the prior art, when a user edits a document, if the user needs to communicate with other users, the document and instant messaging software need to be frequently switched, and the operation is complex. The method and the system realize that the user can communicate with other users only through the input method client without switching to the instant messaging software, and simplify the technical effect of operation.
In order to solve the technical problems, the embodiment of the invention has the following general idea:
an information processing method comprising: the input method client selects a target instant messaging platform; the input method client determines a second user; the input method client side obtains first communication information input by a first user; and the input method client sends the first communication information to the second user through the target instant messaging platform.
In order to better understand the technical solution, the technical solution will be described in detail with reference to the drawings and the specific embodiments.
Example one
As shown in fig. 1, the present embodiment provides an information processing method including:
step S101: the input method client selects a target instant messaging platform;
step S102: the input method client determines a second user; step S103: the input method client acquires first communication information input by a first user;
step S104: and the input method client sends the first communication information to the second user through the target instant communication platform.
In the implementation process, the information processing method is applied to an input method client (for example, a "dog search" input method client), which is installed in a terminal device of a first user, where the terminal device may be a terminal device such as a PC (Personal Computer), a smart phone, a tablet Computer, a smart television, a game console, or a digital camera, and the terminal device is specifically any terminal device, and this embodiment is not particularly limited.
In the specific implementation process, the input method client can communicate with the cloud server, and when a first user uses the input method client to perform input operation, the cloud server can provide powerful cloud computing service, so that the content which the first user wants to input is predicted more accurately, related candidate words are provided, and the input accuracy is improved. The execution main body of the information processing method is the input method client.
In a specific implementation process, the second user is a friend of the first user on the target instant messaging platform, that is, a user identifier (for example, a user name, a user remark name, a user ID, a user avatar, or the like) of the second user is stored in a friend list of the first user on the target instant messaging platform.
As an alternative embodiment, step S101 includes:
the input method client determines a target instant messaging platform from a plurality of instant messaging platforms based on a first selection operation of a first user.
In a specific implementation process, the input method client may output an icon of each of the multiple instant messaging platforms through a User Interface (UI), and the first User may click on one of the icons on the UI, so as to determine the instant messaging platform corresponding to the icon as the target instant messaging platform.
For example, the input method client may display a "WeChat" icon and a "QQ" icon on the UI, determine the "WeChat" as the target instant messaging platform if it is detected that the first user clicks the "WeChat" icon, and determine the "QQ" as the target instant messaging platform if it is detected that the first user clicks the "QQ" icon.
As an alternative example, step S102 can be implemented in any one of the following four implementations (i.e., implementation one, implementation two, implementation three, and implementation four): the first method is as follows: and the input method client determines a second user from the friend list of the first user on the target instant messaging platform based on the second selection operation of the first user.
In a specific implementation process, after the input method client selects the target instant messaging platform, the input method client may further obtain a buddy list of the first user on the target instant messaging platform, user identifications (for example, names and/or head portraits of buddies) of all buddies of the first user on the target instant messaging platform are stored in the buddy list, the input method client may show the user identifications on a UI interface, the first user may select a second user on the UI interface through a second selection operation, the input method client may obtain a second selection operation of the first user, and determine the second user based on the second selection operation.
For example, when the target instant messaging platform is a "WeChat" platform and the second user that the first user wants to find is a "teacher", the first user may select the "teacher" as the second user on a UI interface provided by the input method client (on which names and/or head portraits of all friends of the first user on the "WeChat" platform are displayed).
The second method comprises the following steps: the input method client determines the second user from the friend list of the first user on the target instant messaging platform based on the user identification information of the second user input by the first user.
In a specific implementation process, the first user may directly input a user name or a remark name of the second user on a UI interface of the input method client to determine the second user.
For example, when the target instant messaging platform is a "wechat" platform and the second user that the first user wants to find is a "teachers", the first user may directly input the "teachers" in a UI interface provided by the input method client, the input method client may search the "teachers" in a friend list of the "wechat" platform by the first user, and use the "teachers" as the second user.
The third method comprises the following steps: the input method client selects a plurality of users matched with the partial user identification information from the friend list of the first user on the target instant messaging platform based on the partial user identification information of the second user input by the first user, and determines the second user from the plurality of users based on the third selection operation of the first user.
For example, when the target instant messaging platform is a "WeChat" platform and the second user that the first user wants to find is a "Zhang teacher", the first user may directly input "Zhang" in a UI interface provided by the input method client, at this time, the input method client queries a friend whose name includes "Zhang" in a friend list of the first user on the "WeChat" platform, and if "Zhang", "Zhang teacher", and "Zhang Peng" are queried, the input method client displays the query results, and the first user may select an option corresponding to "Zhang teacher", so that the input method client may determine that the second user is the "Zhang teacher".
The method is as follows: the input method client determines a user to be selected based on user identification information of a second user input by a first user, acquires a friend list of the first user on a target instant messaging platform, detects whether the friend list contains the user to be selected, determines that the user to be selected is the second user if the friend list contains the user to be selected, and outputs prompt information if the friend list does not contain the user to be selected.
For example, if the target instant messaging platform selected by the first user is a "WeChat" platform, the first user may further directly input a user identifier of the second user on a UI interface provided by the input method client, for example, "Zhang teacher" is input, at this time, the input method client may obtain a friend list of the first user on the "WeChat" platform, detect whether the "Zhang teacher" is included in the "WeChat" friend list, determine the "Zhang teacher" as the second user if the "Zhang teacher" is included, and output a prompt message to prompt the user to change the target instant messaging platform if the "Zhang teacher" is not included.
Or, when the "zhang teacher" is not included in the "WeChat" friend list, the input method client may obtain the friend list of the first user on another instant messaging platform, for example, obtain the friend list of the first user on the "QQ" platform, and if the "zhang teacher" is found in the "QQ" friend list, change the target instant messaging platform to the "QQ" platform.
As an alternative embodiment, step S102 may be executed first, and then step S101 may be executed.
In a specific implementation, step S102 may be performed first. In step S102, the input method client may determine the second user based on a preset character string input by the first user.
Specifically, under any input environment (for example, the first user inputs in a word document, the first user inputs in a note pad, the first user inputs in an Excel document, the first user inputs in a web page, and the like), the input method client may detect the content input by the first user in real time, and when detecting that the first user inputs a preset character string, it indicates that the first user needs to communicate with other users (i.e., the second user), and at this time, the input method client may determine the second user based on the preset character string. The preset character string comprises a preset character and a user identification of the second user.
For example, the preset character string may be: @ teacher, wherein @ ' is the preset character, and ' teacher ' is the user identification of the second user; alternatively, the preset character string may be: and # lie teacher, wherein, "#" is the preset character, and "lie teacher" is the user identifier of the second user.
After step S102 is completed, step S101 is executed. When step S101 is executed, the input method client may obtain a buddy list of a first user on each of a plurality of instant messaging platforms, obtain M buddy lists in total, where M is a positive integer, search for a second user from the M buddy lists based on a user identifier of the second user, and determine an instant messaging platform corresponding to the buddy list of the second user found in the M buddy lists as a target instant messaging platform.
For example, a friend list of a first user on a "WeChat" platform is a list 1, and a friend list of the first user on a "QQ" platform is a list 2, at this time, the input method client may obtain the list 1 and the list 2 in advance, and search for a second user on the list 1 and the list 2 based on a user identifier "Zhangiaoshi" of the second user, determine the "WeChat" platform as a target instant messaging platform if the second user is found in the list 1, and determine the "QQ" platform as a target instant messaging software platform if the second user is found in the list 2. If a second user is found in both list 1 and list 2, the input method client may determine any one of the platforms as the target instant messaging platform, or may determine a certain platform (e.g., "wechat" platform) as the target instant messaging platform by default.
As an alternative embodiment, step S103 includes:
the input method client outputs an input box and receives first communication information input in the input box by a first user.
In a specific implementation process, the input method client may pop up a popup window, and the popup window is provided with an input box for acquiring first communication information input by a first user. Meanwhile, the popup is also provided with a display frame for displaying the sent first communication information and the information replied by the second user (namely the second communication information) after the first communication information is sent to the second user. In addition, a "send" button may be disposed on the pop-up window, and after the first user has input the first communication information, the first user may trigger the "send" button, so as to send the first communication information to the second user. Correspondingly, when detecting that the user triggers the "send" key, the input method client may execute step S104, and send the first communication information to the second user through the target instant messaging platform.
For example, the first user may input "i have a question and want to teach you" in the input box, and then click the "send" button, the input method client may obtain the information (i.e., the first communication information) input by the first user, and perform step S104.
After step S103 is completed, step S104 is executed.
As an alternative example, step S104 can be implemented in any one of the following two ways (i.e., way five and way six):
the fifth mode is as follows: the input method client calls a preset interface of the client of the target instant messaging platform, and based on the preset interface, the user identification of the second user and the first communication information are sent to the client of the target instant messaging platform, so that the client of the target instant messaging platform determines the second user based on the user identification of the second user, and sends the first communication information to the second user.
In the specific implementation process, a client of the target instant messaging platform (for example, a "QQ" client, or a "wechat" client, etc.) is installed on a terminal device of a first user, the client of the target instant messaging platform needs to open a preset interface to the input method client, and after the input method client obtains first communication information, the preset interface is called, so that a user identifier of a second user and the first communication information are sent to the client of the target instant messaging platform, and thus, the client of the target instant messaging platform can determine the second user based on the user identifier of the second user and send the first communication information to the second user.
For example, if the target instant messaging platform is a "wechat" platform, the "wechat" client provides an interface Port1, the input method client may call the Port1 interface, send the user identifier of the second user and the first communication information to the "wechat" client, and after the "wechat" client receives the user identifier of the second user and the first communication information, the second user may be found in the friend list of the first user based on the user identifier of the second user, and send the first communication information to the second user.
In a specific implementation process, the client of the target instant messaging platform can always run in the background, so that when a first user chats with a second user through the input method client, the interference of the client of the target instant messaging platform is avoided.
The method six: the input method client sends the user identification of the second user, the first communication information and the platform identification of the target instant communication platform to the cloud server, so that the cloud server determines the target instant communication platform based on the platform identification and sends the first communication information to the second user through the target instant communication platform.
In a specific implementation process, the input method client can send the user identifier of the second user, the first communication information and the platform identifier of the target instant messaging platform to the cloud server, and the cloud server is a cloud server corresponding to the input method client. The cloud server can determine a target instant messaging platform based on the platform identification, and sends the user identification of the second user and the first communication information to the server of the target instant messaging platform, so that the server of the target instant messaging platform can determine the second user according to the user identification of the second user and send the first communication information to the second user.
As an optional embodiment, the input method client sends the user identifier of the second user, the first communication information, and the platform identifier of the target instant messaging platform to the cloud server, and may be implemented in any one of the following three manners:
(1) the input method client side immediately sends the user identification of the second user, the first communication information and the platform identification of the target instant communication platform to the cloud server.
(2) The input method client stores the user identifier of the second user, the first communication information and the platform identifier of the target instant communication platform in a preset storage area, and when a preset time is reached (for example, every other preset time), the input method client sends the user identifier of the second user, the first communication information and the platform identifier of the target instant communication platform to the cloud server, wherein every other preset time can be every other 20 milliseconds, every other 30 milliseconds, every other 50 milliseconds, and the like, the preset time can be flexibly set according to actual conditions, and is not specifically limited herein.
(3) The input method client stores the user identification of the second user, the first communication information and the platform identification of the target instant communication platform in a preset storage area, and when the input method client needs to send a cloud request, the input method client sends the user identification of the second user, the first communication information and the platform identification of the target instant communication platform to the cloud server together with the cloud request. The cloud request is sent to the cloud server by the input method client, and when a first user inputs characters by using the input method client, the input method client often sends the cloud request to the cloud server, so that the cloud computing service of the cloud server is obtained.
In addition, a client of the target instant messaging platform is installed on the terminal device of the second user (a 'QQ' client, or a 'WeChat' client, etc.), and the second user can view the first communication information and reply the second communication information through the client; or, like the present invention, the same input method client is also installed on the terminal device of the second user, and the second user can receive the first communication information through the input method client, output the first communication information, and reply the second communication information.
As an alternative embodiment, after step S104, the method further includes:
the input method client receives second communication information replied by a second user through the target instant communication platform; and the input method client displays the second communication information.
In a specific implementation process, the input method client receives the second communication information replied by the second user through the target instant messaging platform, and can be implemented in any one of the following two ways (i.e. way seven and way eight):
the method is as follows: and the input method client receives the second communication information through a preset interface of the client of the target instant communication platform.
In a specific implementation process, when the scheme in the fifth mode is adopted to send the first communication information, the input method client receives the second communication information replied by the second user through the preset interface (or another preset interface) of the client of the target instant messaging platform. The input method client may call the preset interface (or another preset interface) once every other preset time period, so as to send an inquiry request to the client of the target instant messaging platform, where the inquiry request is used to inquire whether the second user replies the second communication information, and after receiving the inquiry request, the client of the target instant messaging platform sends the second communication information to the input method client of the first user through the preset interface (or another preset interface) if the second user replies the second communication information. Or when the client of the target instant messaging platform receives the second information replied by the second user, the client of the target instant messaging platform can also actively send the second communication information to the input method client of the first user, and the input method client of the first user is not required to send a query request.
The method eight: and the input method client receives second communication information sent by the cloud server.
In a specific implementation process, when the scheme in the sixth mode is adopted to send the first communication information, the input method client receives second communication information replied by the second user from the cloud server. Specifically, the input method client may send, to the cloud server, an inquiry request for inquiring whether the second user replies the second communication information every other predetermined time period (for example, every other 20 milliseconds, or every other 30 milliseconds, or every other 50 milliseconds, or the like), the cloud server may obtain the second communication information from the server of the target instant communication platform after receiving the inquiry request, and if the second user replies the second communication information, the server of the target instant communication platform sends the second communication information to the cloud server, and the cloud server sends the second communication information to the input method client of the first user. Or the cloud server can actively acquire the second communication information from the server of the target instant messaging platform and send the second communication information to the input method client of the first user, and the input method client of the first user is not required to send a query request.
As an optional embodiment, the presenting, by the input method client, the second communication information includes: and the input method client displays the second communication information in the popup window.
In a specific implementation process, the input method client may pop up a popup window, where the popup window may be a popup window when the first communication information was just sent, and the popup window shows the first communication information just sent and the second communication information replied by the second user.
In summary, in the invention, when the first user writes a paper in a word document and wants to consult a guide of the first user when a problem occurs, the first user can communicate with the guide through the input method client currently used without switching to an instant messaging software interface, so that the operation is simplified and the fatigue of the first user is reduced.
The technical scheme in the embodiment of the invention at least has the following technical effects or advantages:
in an embodiment of the present invention, an information processing method is disclosed, including: the input method client selects a target instant messaging platform; the input method client determines a second user; the input method client acquires first communication information input by a first user; and the input method client sends the first communication information to the second user through the target instant communication platform. The invention solves the technical problem that in the prior art, when a user edits a document, if the user needs to communicate with other users, the document and the instant messaging software need to be frequently switched, so that the operation is complex. The method and the system realize that the user can communicate with other users only through the input method client without switching to the instant messaging software, and simplify the technical effect of operation.
Example two
Based on the same inventive concept, an embodiment of the present invention provides an information processing apparatus, as shown in fig. 2, including:
a selecting unit 201, configured to select a target instant messaging platform by an input method client;
a determining unit 202, configured to determine, by the input method client, a second user;
an obtaining unit 203, configured to obtain, by an input method client, first communication information input by a first user;
and the sending unit 204 is used for sending the first communication information to the second user by the input method client through the target instant messaging platform.
As an optional embodiment, the selecting unit 201 is specifically configured to:
and the input method client determines the target instant messaging platform from a plurality of instant messaging platforms based on the first selection operation of the first user.
As an alternative embodiment, the determining unit 202 is specifically configured to:
the input method client determines the second user from a friend list of the first user on the target instant messaging platform based on the second selection operation of the first user; or
The input method client determines the second user from a friend list of the first user on the target instant messaging platform based on the user identification information of the second user input by the first user; or
The input method client selects a plurality of users matched with the partial user identification information from a friend list of the first user on the target instant messaging platform based on the partial user identification information of the second user input by the first user, and determines the second user from the plurality of users based on a third selection operation of the first user; or
The input method client determines a user to be selected based on the user identification information of the second user input by the first user, acquires a friend list of the first user on the target instant messaging platform, detects whether the friend list contains the user to be selected, determines that the user to be selected is the second user if the friend list contains the user to be selected, and outputs prompt information if the friend list does not contain the user to be selected.
As an optional embodiment, the obtaining unit 203 is specifically configured to:
and the input method client outputs an input box and receives the first communication information input by the first user in the input box.
As an alternative embodiment, the sending unit 204 is specifically configured to:
the input method client calls a preset interface of an instant messaging client corresponding to the target instant messaging platform, and sends the user identification of the second user and the first communication information to the instant messaging client based on the preset interface, so that the instant messaging client determines the second user based on the user identification of the second user and sends the first communication information to the second user; or
And the input method client sends the user identification of the second user, the first communication information and the platform identification of the target instant communication platform to a cloud server, so that the cloud server determines the target instant communication platform based on the platform identification and sends the first communication information to the second user through the target instant communication platform.
As an alternative embodiment, the sending unit 204 is specifically configured to:
when the preset time is reached, the input method client sends the user identification of the second user, the first communication information and the platform identification of the instant communication platform to the cloud server; or
The input method client side immediately sends the user identification of the second user, the first communication information and the platform identification of the instant communication platform to the cloud server; or
When the input method client needs to send a cloud request, the input method client sends the user identifier of the second user, the first communication information and the platform identifier of the instant communication platform to the cloud server together with the cloud request.
As an optional embodiment, the information processing apparatus further includes:
the receiving unit is used for receiving second communication information replied by the second user and sent by the cloud server through the target instant communication platform after the input method client sends the first communication information to the second user through the target instant communication platform;
and the output unit is used for displaying the second communication information by the input method client.
Since the information processing apparatus described in this embodiment is an apparatus used for implementing the method for processing information in the embodiment of the present invention, a person skilled in the art can understand the specific implementation manner of the information processing apparatus in this embodiment and various modifications thereof based on the method for processing information described in the embodiment of the present invention, and therefore, how to implement the method in the embodiment of the present invention by the information processing apparatus is not described in detail herein. The device used by those skilled in the art to implement the method for processing information in the embodiments of the present invention is within the scope of the present invention.
The technical scheme in the embodiment of the invention at least has the following technical effects or advantages:
in an embodiment of the present invention, an information processing apparatus is disclosed, including: the selection unit is used for selecting a target instant messaging platform by the input method client; the determining unit is used for determining a second user by the input method client; the acquisition unit is used for acquiring first communication information input by a first user by the input method client; and the sending unit is used for sending the first communication information to the second user by the input method client through the target instant messaging platform. The invention solves the technical problem that in the prior art, when a user edits a document, if the user needs to communicate with other users, the document and the instant messaging software need to be frequently switched, so that the operation is complex. The method and the system realize that the user can communicate with other users only through the input method client without switching to the instant messaging software, and simplify the technical effect of operation.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
Fig. 3 is a block diagram illustrating an information processing apparatus 800 according to an example embodiment. For example, the apparatus 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, an exercise device, a personal digital assistant, and the like.
Referring to fig. 3, the apparatus 800 may include one or more of the following components: processing component 802, memory 804, power component 806, multimedia component 808, audio component 810, input/output (I/O) interface 812, sensor component 814, and communication component 816.
The processing component 802 generally controls overall operation of the device 800, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing elements 802 may include one or more processors 820 to execute instructions to perform all or a portion of the steps of the methods described above. Further, the processing component 802 can include one or more modules that facilitate interaction between the processing component 802 and other components. For example, the processing component 802 can include a multimedia module to facilitate interaction between the multimedia component 808 and the processing component 802.
The memory 804 is configured to store various types of data to support operation at the device 800. Examples of such data include instructions for any application or method operating on device 800, contact data, phonebook data, messages, pictures, videos, and so forth. The memory 804 may be implemented by any type or combination of volatile or non-volatile memory devices such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
Power component 806 provides power to the various components of device 800. The power components 806 may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power for the device 800.
The multimedia component 808 includes a screen that provides an output interface between the device 800 and a user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front facing camera and/or a rear facing camera. The front-facing camera and/or the rear-facing camera may receive external multimedia data when the device 800 is in an operating mode, such as a shooting mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 810 is configured to output and/or input audio signals. For example, the audio component 810 includes a Microphone (MIC) configured to receive external audio signals when the apparatus 800 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals may further be stored in the memory 804 or transmitted via the communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
The I/O interface 812 provides an interface between the processing component 802 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
The sensor assembly 814 includes one or more sensors for providing various aspects of state assessment for the device 800. For example, the sensor assembly 814 may detect the open/closed state of the device 800, the relative positioning of the components, such as a display and keypad of the apparatus 800, the sensor assembly 814 may also detect a change in position of the apparatus 800 or a component of the apparatus 800, the presence or absence of user contact with the apparatus 800, orientation or acceleration/deceleration of the apparatus 800, and a change in temperature of the apparatus 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 816 is configured to facilitate communications between the apparatus 800 and other devices in a wired or wireless manner. The device 800 may access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast associated information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communications component 816 further includes a Near Field Communication (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
In an exemplary embodiment, the apparatus 800 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the above-described methods.
In an exemplary embodiment, a non-transitory computer-readable storage medium comprising instructions, such as the memory 804 comprising instructions, executable by the processor 820 of the device 800 to perform the above-described method is also provided. For example, the non-transitory computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
A non-transitory computer-readable storage medium in which instructions, when executed by a processor of a mobile terminal, enable the mobile terminal to perform an information processing method, the method comprising: the input method client selects a target instant messaging platform; the input method client determines a second user; the input method client acquires first communication information input by a first user; and the input method client sends the first communication information to the second user through the target instant messaging platform.
Fig. 4 is a schematic structural diagram of a cloud server in an embodiment of the present invention. The cloud server 1900 may vary significantly due to configuration or performance, and may include one or more Central Processing Units (CPUs) 1922 (e.g., one or more processors) and memory 1932, one or more storage media 1930 (e.g., one or more mass storage devices) storing applications 1942 or data 1944. Memory 1932 and storage medium 1930 can be, among other things, transient or persistent storage. The program stored in the storage medium 1930 may include one or more modules (not shown), each of which may include a series of instructions operating on a cloud server. Further, central processor 1922 may be configured to communicate with storage medium 1930 to execute a series of instruction operations in storage medium 1930 on cloud server 1900.
The cloud server 1900 may also include one or more power supplies 1926, one or more wired or wireless network interfaces 1950, one or more input/output interfaces 1958, one or more keyboards 1956, and/or one or more operating systems 1941, such as Windows Server, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, etc.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
It will be understood that the invention is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present invention is defined only by the appended claims, which are not intended to limit the present invention, and any modifications, equivalents, improvements, etc. made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (8)

1. An information processing method characterized by comprising:
when the input method client detects that a first user inputs a preset character string, a second user is determined based on the preset character string; the preset character string comprises preset characters and a user identifier of the second user, and the preset character string is used for indicating that the first user needs to communicate with the second user;
the input method client side obtains a friend list of the first user on each instant messaging platform in a plurality of instant messaging platforms, obtains M friend lists in total, wherein M is a positive integer, searches the second user from the M friend lists based on the user identification of the second user, and determines the instant messaging platform corresponding to the friend list of the second user searched in the M friend lists as a target instant messaging platform; if the second user is found in the plurality of friend lists at the same time, the input method client determines any one of the instant messaging platforms corresponding to the plurality of friend lists as a target instant messaging platform, or determines a specific one of the instant messaging platforms corresponding to the plurality of friend lists as the target instant messaging platform by default;
the input method client outputs a popup window, and the popup window comprises an input frame to acquire first communication information input by the first user;
the input method client sends the first communication information to the second user through the target instant messaging platform;
the input method client receives second communication information replied by the second user through the target instant communication platform; the popup window output by the input method client side further comprises a display frame used for displaying the second communication information.
2. The information processing method of claim 1, wherein the input method client sends the first communication information to the second user through the target instant messaging platform, comprising:
the input method client calls a preset interface of an instant messaging client corresponding to the target instant messaging platform, and sends the user identification of the second user and the first communication information to the instant messaging client based on the preset interface, so that the instant messaging client determines the second user based on the user identification of the second user and sends the first communication information to the second user; or
And the input method client sends the user identification of the second user, the first communication information and the platform identification of the target instant communication platform to a cloud server, so that the cloud server determines the target instant communication platform based on the platform identification and sends the first communication information to the second user through the target instant communication platform.
3. The information processing method of claim 2, wherein the input method client sends the user identifier of the second user, the first communication information, and the platform identifier of the instant communication platform to a cloud server, and comprises:
when the preset time is reached, the input method client sends the user identification of the second user, the first communication information and the platform identification of the instant communication platform to the cloud server; or
The input method client side immediately sends the user identification of the second user, the first communication information and the platform identification of the instant communication platform to the cloud server; or
When the input method client needs to send a cloud request, the input method client sends the user identifier of the second user, the first communication information and the platform identifier of the instant communication platform to the cloud server together with the cloud request.
4. An information processing apparatus characterized by comprising:
the determining unit is used for determining a second user based on a preset character string when the input method client detects that the first user inputs the preset character string; the preset character string comprises preset characters and a user identifier of the second user, and the preset character string is used for indicating that the first user needs to communicate with the second user;
the selection unit is used for the input method client to acquire a friend list of a first user on each instant messaging platform in a plurality of instant messaging platforms, to acquire M friend lists, wherein M is a positive integer, to search a second user from the M friend lists based on a user identifier of the second user, and to determine an instant messaging platform corresponding to the friend list of the second user searched in the M friend lists as a target instant messaging platform; if the second user is found in the plurality of friend lists at the same time, the input method client determines any one of the instant messaging platforms corresponding to the plurality of friend lists as a target instant messaging platform, or determines a specific one of the instant messaging platforms corresponding to the plurality of friend lists as the target instant messaging platform by default;
the acquisition unit is used for outputting a popup by the input method client, wherein the popup comprises an input frame so as to acquire first communication information input by the first user;
the sending unit is used for sending the first communication information to the second user by the input method client through the target instant messaging platform;
the receiving unit is used for receiving second communication information replied by the second user and sent by the cloud server through the target instant communication platform after the input method client sends the first communication information to the second user through the target instant communication platform;
and the output unit is used for outputting the popup window output by the input method client and also comprises a display frame used for displaying the second communication information.
5. The information processing apparatus according to claim 4, wherein the transmission unit is specifically configured to:
the input method client calls a preset interface of an instant messaging client corresponding to the target instant messaging platform, and sends the user identification of the second user and the first communication information to the instant messaging client based on the preset interface, so that the instant messaging client determines the second user based on the user identification of the second user and sends the first communication information to the second user; or
And the input method client sends the user identification of the second user, the first communication information and the platform identification of the target instant communication platform to a cloud server, so that the cloud server determines the target instant communication platform based on the platform identification and sends the first communication information to the second user through the target instant communication platform.
6. The information processing apparatus according to claim 5, wherein the transmission unit is specifically configured to:
when the preset time is reached, the input method client sends the user identification of the second user, the first communication information and the platform identification of the instant communication platform to the cloud server; or
The input method client side immediately sends the user identification of the second user, the first communication information and the platform identification of the instant communication platform to the cloud server; or
When the input method client needs to send a cloud request, the input method client sends the user identifier of the second user, the first communication information and the platform identifier of the instant communication platform to the cloud server together with the cloud request.
7. An information processing apparatus comprising a memory, and one or more programs, wherein the one or more programs are stored in the memory, and wherein execution of the one or more programs by one or more processors comprises instructions for:
when the input method client detects that a first user inputs a preset character string, a second user is determined based on the preset character string; the preset character string comprises preset characters and a user identifier of the second user, and the preset character string is used for indicating that the first user needs to communicate with the second user; the input method client side obtains a friend list of the first user on each instant messaging platform in a plurality of instant messaging platforms, obtains M friend lists in total, wherein M is a positive integer, searches the second user from the M friend lists based on the user identification of the second user, and determines the instant messaging platform corresponding to the friend list of the second user searched in the M friend lists as a target instant messaging platform; if the second user is found in the plurality of friend lists at the same time, the input method client determines any one of the instant messaging platforms corresponding to the plurality of friend lists as a target instant messaging platform, or determines a specific one of the instant messaging platforms corresponding to the plurality of friend lists as the target instant messaging platform by default; the input method client outputs a popup window, and the popup window comprises an input frame to acquire first communication information input by the first user; the input method client sends the first communication information to a second user through the target instant messaging platform; the input method client receives second communication information replied by the second user through the target instant communication platform; the popup window output by the input method client side further comprises a display frame used for displaying the second communication information.
8. A computer-readable storage medium, on which a computer program is stored, which program, when executed by a processor, carries out the steps of:
when the input method client detects that a first user inputs a preset character string, a second user is determined based on the preset character string; the preset character string comprises preset characters and a user identifier of the second user, and the preset character string is used for indicating that the first user needs to communicate with the second user; the input method client side obtains a friend list of the first user on each instant messaging platform in a plurality of instant messaging platforms, obtains M friend lists in total, wherein M is a positive integer, searches the second user from the M friend lists based on the user identification of the second user, and determines the instant messaging platform corresponding to the friend list of the second user searched in the M friend lists as a target instant messaging platform; if the second user is found in the plurality of friend lists at the same time, the input method client determines any one of the instant messaging platforms corresponding to the plurality of friend lists as a target instant messaging platform, or determines a specific one of the instant messaging platforms corresponding to the plurality of friend lists as the target instant messaging platform by default; the input method client outputs a popup window, and the popup window comprises an input frame to acquire first communication information input by the first user; the input method client sends the first communication information to the second user through the target instant messaging platform; the input method client receives second communication information replied by the second user through the target instant communication platform; the popup window output by the input method client side further comprises a display frame used for displaying the second communication information.
CN201710487336.9A 2017-06-23 2017-06-23 Information processing method and device Active CN109120499B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710487336.9A CN109120499B (en) 2017-06-23 2017-06-23 Information processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710487336.9A CN109120499B (en) 2017-06-23 2017-06-23 Information processing method and device

Publications (2)

Publication Number Publication Date
CN109120499A CN109120499A (en) 2019-01-01
CN109120499B true CN109120499B (en) 2022-04-05

Family

ID=64733235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710487336.9A Active CN109120499B (en) 2017-06-23 2017-06-23 Information processing method and device

Country Status (1)

Country Link
CN (1) CN109120499B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710458B (en) * 2022-03-21 2023-05-26 北京明略昭辉科技有限公司 Object matching system, method, device, equipment and computer readable medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101291302A (en) * 2008-05-27 2008-10-22 北京搜狗科技发展有限公司 Method for instant communication by input method, input method system therefor
CN102299870A (en) * 2011-09-04 2011-12-28 上海量明科技发展有限公司 Method, terminal and system for transmitting instant messaging data
CN102413066A (en) * 2011-08-26 2012-04-11 上海量明科技发展有限公司 Input method toolbar having an instant messaging function, a realization method and a system
CN102664822A (en) * 2012-04-16 2012-09-12 上海量明科技发展有限公司 Instant communication message sending method and client side based on input method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945350B (en) * 2010-09-06 2014-11-26 深圳市同洲电子股份有限公司 Timing communication method and device for mobile terminal and mobile terminal
CN106685634A (en) * 2015-11-06 2017-05-17 北京奇虎科技有限公司 Confidential information transmitting method and device for public platform client
CN106873854B (en) * 2017-01-20 2019-12-13 北京安云世纪科技有限公司 Terminal and interface interaction control method, and contact object creation method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101291302A (en) * 2008-05-27 2008-10-22 北京搜狗科技发展有限公司 Method for instant communication by input method, input method system therefor
CN102413066A (en) * 2011-08-26 2012-04-11 上海量明科技发展有限公司 Input method toolbar having an instant messaging function, a realization method and a system
CN102299870A (en) * 2011-09-04 2011-12-28 上海量明科技发展有限公司 Method, terminal and system for transmitting instant messaging data
CN102664822A (en) * 2012-04-16 2012-09-12 上海量明科技发展有限公司 Instant communication message sending method and client side based on input method

Also Published As

Publication number Publication date
CN109120499A (en) 2019-01-01

Similar Documents

Publication Publication Date Title
US10728196B2 (en) Method and storage medium for voice communication
CN107908351B (en) Application interface display method and device and storage medium
CN109521918B (en) Information sharing method and device, electronic equipment and storage medium
CN109600303B (en) Content sharing method and device and storage medium
CN106775202B (en) Information transmission method and device
CN109951379B (en) Message processing method and device
CN108495168B (en) Bullet screen information display method and device
CN107423386B (en) Method and device for generating electronic card
CN106354504B (en) Message display method and device
US11836342B2 (en) Method for acquiring historical information, storage medium, and system
US20220391446A1 (en) Method and device for data sharing
CN112416219B (en) Target object processing method, device and system, electronic equipment and storage medium
CN107729098B (en) User interface display method and device
CN108011990B (en) Contact management method and device
CN108270661B (en) Information reply method, device and equipment
CN112463418A (en) Cross-device information sharing method, device, medium and electronic device
CN112051949A (en) Content sharing method and device and electronic equipment
CN109842543B (en) Instant messaging method and device and instant messaging message storage method and device
CN106878654B (en) Video communication method and device
CN106447747B (en) Image processing method and device
CN110213062B (en) Method and device for processing message
CN105656639B (en) Group message display method and device
CN109120499B (en) Information processing method and device
CN109245992B (en) Request processing method and device, electronic equipment and storage medium
CN112769677B (en) Data synchronization method, apparatus, electronic device, storage medium, and program product

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