CN112256453A - Communication method between arbitrary software processes - Google Patents

Communication method between arbitrary software processes Download PDF

Info

Publication number
CN112256453A
CN112256453A CN202011170462.XA CN202011170462A CN112256453A CN 112256453 A CN112256453 A CN 112256453A CN 202011170462 A CN202011170462 A CN 202011170462A CN 112256453 A CN112256453 A CN 112256453A
Authority
CN
China
Prior art keywords
software
communication
software process
function
receiver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011170462.XA
Other languages
Chinese (zh)
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 Foundation Software Technology Co ltd
Original Assignee
Beijing Foundation Software Technology 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 Foundation Software Technology Co ltd filed Critical Beijing Foundation Software Technology Co ltd
Priority to CN202011170462.XA priority Critical patent/CN112256453A/en
Publication of CN112256453A publication Critical patent/CN112256453A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Abstract

The invention discloses a communication method between any software processes, which comprises the steps that a communication initiator software process determines the attribute which the software process at the other end should have; determining an address of a communication receiver software process; installing a network daemon process for communication and query among software processes on a computer where the software processes of a communication receiver are located; inquiring the communication information of the communication receiver software process from the communication information waiting process of the computer where the communication receiver software process address is located; determining whether the searched software is running, and if the searched software is not running, whether the software can be remotely started or not; if the remote start is available, the software process of the communication receiver is started remotely when the starting condition is met; inquiring the software process information of the communication receiver after starting; and establishing communication network connection according to the inquired communication information and the communication receiver software process. The invention can realize communication among strange software; communication can be realized by strange software in the network, namely the strange software can work cooperatively.

Description

Communication method between arbitrary software processes
Technical Field
The invention relates to the technical field of communication, in particular to a communication method between any software processes.
Background
The existing methods for communication between computer software processes are various: shared memory, networks, signals, message queues, pipes, etc. These methods of communication between software processes all have their own drawbacks. The memory sharing can be realized only on the same computer; signals can only be communicated on the same computer, and the communication data volume is very small; in the existing network communication, both software can be realized only through special customized programming; message queues and pipes also have their own disadvantages. In addition, the communication methods have a common defect that communication between two communication parties can be realized only through special programming, and communication between strange software processes cannot be realized.
Disclosure of Invention
In order to solve the technical problem, the invention aims to provide a communication method between arbitrary software processes.
The purpose of the invention is realized by the following technical scheme:
a method of communication between arbitrary software processes, comprising
A, determining the attribute which the software process at the other end should have through the communication initiator software process;
b, determining the address of the software process of the communication receiver;
c, a network daemon process for communication and query among software processes is installed in advance on a computer where the software processes of a communication receiver are located;
d, inquiring the communication information of the communication receiver software process from the communication information waiting process of the computer where the communication receiver software process address is located;
e, determining whether the searched software is running, and if the searched software is not running, whether the software can be remotely started or not; if the remote start is available, the software process of the communication receiver is started remotely when the starting condition is met; then inquiring the software process information of the started communication receiver;
and F, establishing communication network connection according to the inquired communication information and the communication receiver software process.
One or more embodiments of the present invention may have the following advantages over the prior art:
communication between strange software can be realized; communication can be realized by strange software in the network, which means that the strange software can work cooperatively; if a large amount of software which can be remotely used exists in the network, the function of purchasing the software according to the requirement can be realized; the cooperative work among the network software is realized, and the problem of low efficiency caused by the fact that various software fight respectively and data cannot be shared in the past can be solved.
Drawings
FIG. 1 is a flow chart of a method of communication between arbitrary software processes.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in further detail with reference to the following embodiments and accompanying drawings.
As shown in fig. 1, a flow of a communication method between arbitrary software processes includes:
step 10, determining the attribute which the software process at the other end should have through the communication initiator software process;
the attributes comprise a function list, a remote function use method, a software type, a software name and a version number. At least one of a kind of software, or a name of the software, or a function of the software is determined. The determination method has various methods and is realized by a software developer according to the actual situation. Such as set in a configuration file, programmatically determined, present in a database, determined in a command line, entered in a GUI interface.
The communication initiator software process is hereinafter referred to as: a source software process;
the communication receiver software process is hereinafter referred to as: a destination software process;
the communication initiator software is hereinafter referred to as: source software;
the communication receiver software is hereinafter referred to as: and (4) destination software.
Step 20, determining the address of the software process of the communication receiver;
the destination software process address is a domain name, host name, or IP address. The method of determination is various. Such as obtained from a service in the network (internet or local area network), set in a configuration file, determined with a code, present in a database, given in a command line, given in a GUI interface.
Step 30, a network daemon process for communication and query among software processes is installed in advance on a computer where a communication receiver software process is located;
the network daemon process for software process communication and query is hereinafter referred to as: a communication information waiting process; the port number of a local network used for waiting all communication information waiting processes is specifically specified in the communication protocol between software processes.
The communication information waiting process is used for inquiring a list of communication information of the local software process. The inquired information at least comprises the following information: the machine can realize a software list of communication among any software processes, a function list of each software, a method for using each function from a far end, a condition required by using each function from the far end, a right required by using each function from the far end, a method for authenticating identities of both sides, data required in the using process of each function, output data in the using process of each function, a software type, a software name, a software version number, a version number of a software inter-process communication protocol followed by the software, whether the software is currently operated, a network waiting port number of the currently operated process of the software, whether the software can be started according to a far end requirement through communication information waiting processes and software processes, and a method for starting the software from the far end.
Step 40, inquiring the communication information of the communication receiver software process from the communication information waiting process of the computer where the communication receiver software process address is positioned;
firstly, a network connection is initiated to a computer where a destination software process address is located (the port number is specified in the software interprocess communication protocol), and then the software process communication information is inquired by using the software type, the software name, the function and the like determined in the step (I).
Step 50, determining whether the searched software is running, and if the searched software is not running, whether the software can be remotely started or not; if the remote start is available, the software process of the communication receiver is started remotely when the starting condition is met; then inquiring the software process information of the started communication receiver;
step 60 establishes a communication network connection based on the queried communication and the communication recipient software process.
The first established communication network connection is referred to below as: a primary communication network connection;
the primary communication network connection is where the destination software process receives requests from the source software process as a server side. Whenever a source software process sends a request to a destination software process, the main communication network connection is gone. The destination software process will constantly focus on requests sent from the main communication network connection and perform corresponding actions.
The communication method further includes: determining whether the identities of the source software process and the destination software process need to be verified and a method for verifying the identities according to the inquired communication information of the communication receiver software process; the version number of a software interprocess communication protocol followed by the communication initiator software process and the communication receiver software process; negotiating communication encryption items in the main communication network connection; if encryption is required, the data transmitted in the communication network connection is encrypted according to the negotiation result; the source software process establishes another network connection (or a communication information waiting process) according to the inquired communication information and the target software process; the network connection established this time is referred to hereinafter as: a secondary communication network connection. The secondary communication network connection is where the source software process receives a request from the destination software process at the server side and performs a corresponding action. The peer-to-peer communication mechanism is established between two software processes through the primary communication network connection and the secondary communication network connection, and has the advantages that: the strange software can also realize the random data transmission.
And negotiating the communication fields of both the source software process and the destination software process, such as the field of negotiating both the text editing software and the website browser software, wherein one party is text editing and the other party is webpage display. This step begins by determining whether the destination software process is the destination software that the source software process is seeking. The expression of a domain may be a complex, for example WPS may display its own domain as follows: and editing words | wps | word | office software | office words, negotiating communication field vocabularies of both a source software process and a destination software process, wherein the vocabulary of the field to be communicated is a vocabulary which can be used when the other party requests data in two directions next. The vocabularies calibrate target data to be processed more accurately and completely in software. Just as the components in HTML can be scaled with js (javascript). Each part or most parts of the target data to be processed can be referred by the vocabularies; and inquiring each other about the function list of the other party, wherein each piece of software has a function list which is an action that the remote software can make the software. The software is different and the function of each software is also different. Such as browser software, may open a URL; data can be searched in a URL webpage; the remote end may retrieve data from the browser software for a portion of the URL page. If the source software process has obtained sufficient information to perform a function in step 40, this step may also be omitted, and the two parties are directly executed to determine the function to be performed, and after the source software process obtains the function list of the destination software process, it may determine which function the destination software process performs; the conditions required by the functions to be performed are negotiated and if the conditions required to perform a function are met, the destination software process will give the source software process data describing these conditions. The source software process analyzes the data of each condition to obtain a method meeting the conditions; the conditions of the function to be executed are met, if the conditions which need to be met exist, the source software process analyzes and processes the data of each condition, and then prepares data according to the project required in the data, fills in the data to the URL specified in the specified data, and even pays. After the work is finished, signature results of a URL background digital signature are obtained, and the source software process submits the signature results to the target software process. Executing the function after the target software process successfully checks the signature; determining the data format of the communication between the two parties, if the destination software process needs the source software process to provide data or the destination software process executes function feedback to the source software process result data, the two parties need to determine the format of the data, and the data format can be a known standard, such as: data formats of WIPE, Jason, XML, HTML, Word, WPS, MP3, MP4, or other common software; or the software format defined by the target software; and inquiring the target object or the target range of the other party, wherein the target object to be processed by the target software process can be in the computer of the target software process, the computer of the source software process and the network. If the target object is in the network, the position of the target object of the target software process can be directly informed; if the target software process is processed by all targets of the target software process, the target software process can be directly informed; if it is a target in the processing section of the target software object, a list of target software process targets is requested and a target range is determined. Negotiating the encoding mode of the data to be transmitted, such as UTF-16, UTF8, etc.; both sides can request and send the target object data to be processed to the other side, if the target range determined by the source software process is owned by the source software process, the data are transmitted to the target software process; and the communication receiver software process executes the function determined by the source software process and sends the result of executing the function to the communication initiator software process until the two parties negotiate to execute and finish communication.
Although the embodiments of the present invention have been described above, the above descriptions are only for the convenience of understanding the present invention, and are not intended to limit the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (7)

1. A method of communication between arbitrary software processes, the method comprising:
a, determining the attribute which the software process at the other end should have through the communication initiator software process;
b, determining the address of the software process of the communication receiver;
c, a network daemon process for communication and query among software processes is installed in advance on a computer where the software processes of a communication receiver are located;
d, inquiring the communication information of the communication receiver software process from the communication information waiting process of the computer where the communication receiver software process address is located;
e, determining whether the searched software is running, and if the searched software is not running, whether the software can be remotely started or not; if the remote start is available, the software process of the communication receiver is started remotely when the starting condition is met; then inquiring the software process information of the started communication receiver;
and F, establishing communication network connection according to the inquired communication information and the communication receiver software process.
2. A method of communication between arbitrary software processes as recited in claim 1, wherein said in-a attributes include function list, function remote-use method, software category, software name and version number.
3. The method according to claim 1, wherein the address of the software process of the communication receiving party in the B is a host name, a domain name or an IP address, and the determining of the address comprises: from a certain service in the network, set in a configuration file, determined with code, present in a database, given in a command line, and given in a GUI interface.
4. The communication method between any software processes as claimed in claim 1, wherein the network daemon process for communication and query between software and software processes in C is called communication information daemon process; the communication information waiting process is used for inquiring a list of communication information of the software process which can be realized by the native machine, and the inquired information at least comprises the following information:
the machine can realize a software list of communication among any software processes, a function list of each software, a method for using each function from a far end, a condition required by using each function from the far end, a right required by using each function from the far end, a method for authenticating identities of two parties, data required in the using process of each function, output data in the using process of each function, a software type, a software name, a software version number, whether the software is currently running or not, a network waiting port number of the currently running process of the software, whether the communication between the software process and the communication information waiting process can be realized or not, and a method for starting the software and starting the software from the far end according to the far end requirement or not.
5. The method according to claim 1, wherein D specifically comprises initiating a network connection to the computer where the address of the software process of the communication receiver is located, and querying the communication information of the software process through the software type, the software name, and the function.
6. A method of communication between arbitrary software processes as claimed in claim 1, wherein the establishing of the communication network connection in E is a primary communication network connection in which the communication receiver software process receives the request from the communication initiator software process as a server side.
7. The method of communication between any software processes of claim 1, further comprising: determining whether the identities of the communication initiator software process and the communication receiver software process need to be verified and verifying the identities according to the inquired communication information of the communication receiver software process; the version number of a software interprocess communication protocol followed by the communication initiator software process and the communication receiver software process; negotiating communication encryption items in the main communication network connection; if encryption is required, the data transmitted in the communication network connection is encrypted according to the negotiation result; the communication initiator software process establishes secondary communication network connection with the communication receiver software according to the inquired communication information; negotiating communication fields and communication field vocabularies of both a communication initiator software process and a communication receiver software process, mutually inquiring a function list of the other party, determining a function to be executed, negotiating conditions required by the function to be executed and meeting the conditions of the function to be executed, determining a data format of communication between the two parties, inquiring a target object or a target range of the other party, negotiating a data coding mode to be transmitted, and requesting and sending target object data to be processed to the other party by both the two parties; and the communication receiver software process executes the function determined by the source software process and sends the result of executing the function to the communication initiator software process until the two parties negotiate to execute and finish communication.
CN202011170462.XA 2020-10-28 2020-10-28 Communication method between arbitrary software processes Pending CN112256453A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011170462.XA CN112256453A (en) 2020-10-28 2020-10-28 Communication method between arbitrary software processes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011170462.XA CN112256453A (en) 2020-10-28 2020-10-28 Communication method between arbitrary software processes

Publications (1)

Publication Number Publication Date
CN112256453A true CN112256453A (en) 2021-01-22

Family

ID=74262634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011170462.XA Pending CN112256453A (en) 2020-10-28 2020-10-28 Communication method between arbitrary software processes

Country Status (1)

Country Link
CN (1) CN112256453A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86107699A (en) * 1985-11-12 1987-07-15 美国电话电报公司 In computer network, carry out a kind of method of distributed treatment
CN102255928A (en) * 2010-05-17 2011-11-23 卢涵 Wireless mobile communication terminal with hybrid location function
CN107133109A (en) * 2017-04-24 2017-09-05 京信通信系统(广州)有限公司 A kind of method of intermodule communication, device and computing device
US20170255775A1 (en) * 2016-03-02 2017-09-07 Apple Inc Software verification systems with multiple verification paths
CN110188028A (en) * 2018-09-03 2019-08-30 西安奥卡云数据科技有限公司 A kind of test method of computer system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86107699A (en) * 1985-11-12 1987-07-15 美国电话电报公司 In computer network, carry out a kind of method of distributed treatment
CN102255928A (en) * 2010-05-17 2011-11-23 卢涵 Wireless mobile communication terminal with hybrid location function
US20170255775A1 (en) * 2016-03-02 2017-09-07 Apple Inc Software verification systems with multiple verification paths
CN107133109A (en) * 2017-04-24 2017-09-05 京信通信系统(广州)有限公司 A kind of method of intermodule communication, device and computing device
CN110188028A (en) * 2018-09-03 2019-08-30 西安奥卡云数据科技有限公司 A kind of test method of computer system

Similar Documents

Publication Publication Date Title
CN1830192B (en) Method and system for asynchronously processing requests
CN107360261B (en) HTTP request processing method and device and electronic equipment
CN113364853B (en) Business service system, business request method and gateway equipment
WO2006056534A1 (en) A method for ensuring the quality of a service in a distributed computing environment
EA007778B1 (en) Application generator
EP3614643B1 (en) Oauth2 saml token service
US9742835B2 (en) System and method for backend control of frontend user interfaces
US7606873B2 (en) Initiating distribution of server based content via web-enabled device
AU2017237089B2 (en) Technologies for auto discover and connect to a rest interface
CN111045833A (en) Interface calling method and device
WO2019019393A1 (en) Business interface calling method, business interface calling device, user terminal and readable storage medium
CN108153803A (en) A kind of data capture method, device and electronic equipment
CN109471713B (en) Method and device for inquiring information
CN112988311A (en) On-line experimental method based on WEB server
CN112256453A (en) Communication method between arbitrary software processes
WO2018081963A1 (en) Method and device for dns resolution and network system
CN109005250B (en) Method and device for accessing server
KR102023999B1 (en) Method and apparatus for generating web pages
US20200184014A1 (en) Internet of everything
CN102780680A (en) Method and system for backcasting data of SNS (Social Network Site) platform
CN109600452B (en) Server cluster, message pushing method and related server
CN107332891B (en) HTTP request processing method, server and client
US20160036766A1 (en) Method and system for synchronizing program masks
WO2017173967A1 (en) Redirection method, service provider, unstructured supplementary service data center, and system
CN112650601B (en) Method, apparatus, device, storage medium, and program for opening applet across hosts

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