Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Fig. 1 is a flowchart of a method for determining a distribution order in an embodiment of the present application. In this embodiment of the method, the method for determining the distribution sequence includes the following steps:
s110: the issuing management server sends the issuing ID to an issuing sequence analysis platform;
the application item to be released in the embodiment of the method comprises at least two systems. And a certain incidence relation exists among the systems. Since such an association relationship has an influence on the final distribution order determined when the system distributes, the final distribution order needs to be determined based on the association relationship.
The publication management server may include a subsystem that facilitates the publication process. The release management server may be configured to advance a release order analysis, obtain a release order analysis result, and execute release according to the release order analysis result.
The release ID in the embodiment of the method can be used for identifying the application item to be released. For example, an upgrade release for a payment system, if the payment system is to be upgraded 10/1/2015, the payment system to be upgraded may be identified as "20151001," indicating an upgrade release for the payment system performed on the day 10/1/2015. I.e., "20151001" may be used as the ID issued for this payment system upgrade.
S120: the issuing sequence analysis platform sends a request for acquiring the SVN address of the issuing ID corresponding to the service call dependency and the code change to a process control platform;
the version control System (SVN) of open source code may be used for code modification. The system may involve changes to the code (i.e., modifications to the code) when adjusting or upgrading functionality. There may be multiple different SVNs in the system for storing files containing code changes. In particular, different SVNs may store different files containing code changes. Therefore, to obtain the corresponding code change file, the address of the SVN storing the corresponding code change file is first obtained.
The process management and control platform can store the address of the SVN. Specifically, the process management and control platform may store a correspondence between the address of the SVN and the issue ID.
The service call dependency can generally find a service issued by another application server in a manner of an IP + port, and the service is generally fixed and maintainable.
The service invocation dependency in the embodiment of the present invention may include an invocation relationship between systems in the application project to be issued, and may generally record the invocation relationship between the systems. This service invocation dependency has an impact on the final system release order.
The service invocation dependency may be generally stored in a process management and control platform, and may be stored in a form of a correspondence table with the issued ID.
For example, a user of a payroll transfers money using the payroll. And entering a transfer page after the user clicks the transfer tag. The essence is that the Payment treasure page system in the background server calls the transfer system through the IP + port, so as to complete the payment. And the Payment treasure page system in the background server calls a transfer system, namely a service calling dependency.
And the issuing sequence analysis platform receives the issuing ID submitted by the issuing management server. And the issuing sequence analysis platform can send the received issuing ID to the process management and control platform.
The issuing sequence analysis platform may send an application to the process management and control platform, where the sent application may query addresses of SVNs of corresponding code changes of each system in the application to be issued stored in the process management and control platform, and service call dependency relationships between the systems.
The issue ID may be included in an application sent by the issue order analysis platform.
S130: the flow management and control platform finds the SVN address corresponding to the service calling dependency and the code change according to the issuing ID and returns the SVN address to the issuing sequence analysis platform;
the process management and control platform may store an SVN address including a change of each system code in an application project to be issued, for example, in a form of a correspondence table between the SVN address and an issue ID; the flow management and control platform may further include a service invocation dependency of each system, for example, stored in a form of a correspondence table between the service invocation dependency and the issue ID.
And the flow management and control platform inquires the corresponding relation table of the SVN address and the issue ID and the corresponding relation table of the service calling dependency and the issue ID according to the received issue ID, so that the service calling dependency between the systems and the SVN address with the changed code can be obtained.
Furthermore, the process management and control platform may return the address of the obtained code-changed SVN and the inter-system service call dependency to the release order analysis platform.
S140: the issuing sequence analysis platform requests a corresponding SVN platform to acquire a POM file corresponding to the issuing ID according to the SVN address;
the method includes the steps of obtaining a Project Object Model (Project Object Model, generally used for defining some configuration information of JAVA engineering, wherein a POM file may include a file storing the configuration information of the JAVA engineering, such as a JAR packet, wherein the JAR packet includes a packet for providing services for other systems by a system in which the POM file is located.
The issuing sequence analysis platform receives the SVN address and the inter-system service call dependency returned in step S130. And the issuing sequence analysis platform can send a request for acquiring the POM files corresponding to the systems to the SVN platform according to the received SVN address.
In the embodiment of the method, the SVN platform comprises different SVNs corresponding to different SVN addresses. Different SVNs may be used to store different POM files.
S150: the SVN platform finds the corresponding POM file according to the POM file acquisition request and returns the corresponding POM file to the issuing sequence analysis platform;
the SVN platform receives the request of step S140. And the SVN platform searches the POM files corresponding to the systems according to the received request for obtaining the POM files. And the SVN platform returns the acquired POM file to the issuing sequence analysis platform.
S160: the release sequence analysis platform analyzes the POM dependence according to the acquired POM file;
the POM dependency comprises the correlation relationship between the POM files of the system. I.e., information that includes a JAR package that one POM file needs to be serviced using another POM file.
And the issuing sequence analysis platform receives the POM file. The POM files comprise POM files of various systems to be issued. And the issuing sequence analysis platform analyzes the POM dependence among the systems according to the POM files of the systems.
S170: the publishing sequence analysis platform sends a request for acquiring the message subscription relationship dependence corresponding to the publishing ID to a message subscription platform;
in the field of data communication technology, objects often interact and communicate with each other using messages. When a general application item is published, the publication of some messages in the application item is involved. Publication of the message involves subscription of the message. Subscription and publication of messages typically involves linking through message middleware.
Message-Oriented Middleware (MOM), also known as Message-Oriented Middleware, includes Message passing between store and forward based applications. Message middleware technology provides a middleware mechanism for message delivery in a loosely coupled flexible manner. Message middleware enables communication between different platforms, and is often used to mask features between various platforms and protocols to enable collaboration between applications. The Message middleware products currently in the mainstream include MQSeries of International Business Machines Corporation (IBM), MessageQ of eastern asian Bank (Bank of East asian, BEA), and Java Message Service (JMS) of Sun Corporation (Sun), etc.
Generally, in the process of subscribing and publishing a message, message middleware utilizes content called a topic (topic) to complete sending and receiving the message. The system that publishes the message within the application project is the publisher of the message and the system that wishes to receive the message is the subscriber of the message. Specifically, the publisher of the message publishes its own message indicating that the message describes information about a certain topic. The subscriber of the message subscribes to this topic. A subscriber to the topic may receive a message about the topic. The message middleware routes the published message of a topic to the subscriber of the topic so as to complete the subscription and publication of the message. Subscribers to a general message should publish before the publishers of the message, and after the subscribers publish, the subscribers can receive messages published by the publishers. This relationship between the subscribers and publishers of the message is a subscription relationship dependency of the message.
The subscription relationship dependency comprises the subscription relationship dependency of each system on the message, and is generally stored in a message subscription platform.
S180: the message subscription platform analyzes the subscription relationship dependence of the message according to the received message subscription relationship dependence request and returns the subscription relationship dependence to the publishing sequence analysis platform;
the message subscription platform receives the request for obtaining the subscription relationship dependency in step S170, and analyzes the publisher and the subscriber of the message related to the application item according to the subscription relationship dependency of the request and the stored message, and obtains the message subscription relationship dependency related to the application item. And the message subscription platform returns the subscription relation dependency to the publishing sequence analysis platform.
S190: and the publishing sequence analysis platform analyzes the acquired service call dependency, POM dependency and message subscription relationship dependency of the system to obtain a publishing sequence.
And the publishing sequence analysis platform receives the message subscription relationship dependencies of the systems of the application items to be published returned in the step S180. And then, the publishing sequence analysis platform obtains the publishing sequence of each system in the application project according to the service call dependency, the POM dependency and the message subscription relationship dependency of the obtained system. And the issuing sequence analysis platform returns the analyzed issuing sequence results of the systems in the application project to the issuing management server.
For example, the service invocation dependency, POM dependency, and message subscription relationship dependency of systems a and B are respectively:
POM dependence: a depends on B
Service invocation dependencies: a depends on B
The message subscription relationship depends on: a depends on B
The issuing order of each system in the application project is obtained according to the service invocation dependency, the POM dependency and the subscription relationship dependency of the obtained system, and specifically, the issuing order can be realized as follows:
according to the priority order of the service call dependency, the POM dependency and the subscription relationship dependency, the depended system in the dependency relationship with high priority is set to be a later publishing order; accordingly, the dependent systems in the dependency relationship with high priority are set to an earlier issue order.
Specifically, in a general application, the priority order of the service invocation dependency, the POM dependency, and the subscription relationship dependency may be as follows:
depend on
|
Priority order
|
Dependency relationships
|
Dependence on POM
|
Height of
|
System A depends on System B
|
Service invocation dependencies
|
In
|
System A calls system B
|
Subscription relationship dependencies
|
Is low in
|
System a subscribes to system B messages |
According to the table, the dependent system B in the POM dependency relationship with high priority can be set to a later issuing order; accordingly, the dependent system a in the POM dependency relationship with the high priority is set to the earlier issue order.
With reference to the above flow of the method for determining the distribution sequence in an embodiment of the present application, the following description is provided with reference to a specific application scenario. Such as the upgrade release service of the charging system and the billing system of the aforementioned payment system. If only two systems, namely the charging system A and the charging system B, need to be upgraded in the upgrade release, the release service ID is C. The service invocation dependencies of A and B are: a can call the interface of B and can call the message W of B; the POM dependency and the message subscription relationship dependency of A and B are as follows: a relies on JAR in B's POM, and B may issue a message W. Specifically, after the release management server submits C to the release order analysis platform, the release order analysis platform receives C. And then the issuing sequence analysis platform sends a request for acquiring the SVN addresses of the service call dependencies and code changes of the systems related to the upgrading and issuing services of the payment system to a process management and control platform, wherein the request comprises C. And then the flow management and control platform can analyze that the release relates to two systems A and B, and the service calling dependence of A and B is: a calls an interface of B, and simultaneously, SVN addresses of code changes of A and B can be analyzed; and the flow management and control platform returns the analysis result to the issuing sequence analysis platform. And the issuing sequence analysis platform receives the SVN addresses of the A and B service call dependencies and the code changes thereof, and further sends a request for acquiring the POM files of the A and B to the SVN platform according to the SVN addresses. And the SVN platform acquires the POM files of A and B according to the request and returns the POM files to the release sequence analysis platform. The issuing sequence analysis platform receives and acquires the POM files of A and B, and analyzes the POM dependence of A and B according to the POM files as follows: a depends on the JAR of B. And the publishing sequence analysis platform sends a request for acquiring the message subscription relationship dependence to the message subscription platform. The message subscription platform acquires the message subscription relationship dependencies of the A and the B according to the request as follows: b is a publisher of the message W, A is a subscriber of the message W, and the message subscription relationship is returned to be dependent on the publishing sequence analysis platform. The publishing sequence analysis platform can automatically analyze that the A is published before the B, namely the billing system is published before the charging system is published according to the service calling dependence, the POM dependence and the message subscription relationship dependence of the A and the B. And then the publishing sequence analysis platform returns the result published before B by A to the publishing management server.
Fig. 2 is a flowchart of a method for determining a distribution order in an embodiment of the present application. In this embodiment of the method, the method for determining the distribution sequence includes the following steps:
s210: the issuing sequence analysis platform receives the issuing ID;
s220: the issuing sequence analysis platform sends a request for acquiring the SVN address of the issuing ID corresponding to the service call dependency and the code change to a process control platform;
the release ID in the embodiment of the method can be used for identifying the application item to be released.
For specific technical details of steps S210 and S220 in this embodiment, reference may be made to step S120 in the first embodiment, which is not described herein again.
S230: the issuing sequence analysis platform receives the SVN addresses of the service call dependency and the code change returned by the process management and control platform;
s240: the issuing sequence analysis platform requests a corresponding SVN platform to acquire a POM file corresponding to the issuing ID according to the SVN address;
for specific technical details of steps S230 and S240 in this embodiment, reference may be made to step S140 in the first embodiment, which is not described herein again.
S250: the sequential analysis platform receives a POM file returned by the SVN platform;
s260: the release sequence analysis platform analyzes the POM dependence according to the acquired POM file;
for specific technical details of steps S250 and S260 in this embodiment, reference may be made to step S160 in the first embodiment, which is not described herein again.
S270: the publishing sequence analysis platform sends a request for acquiring message subscription relationship dependence to the message subscription platform;
for details of the step S270 in the embodiment of the present application, reference may be made to the step S170 in the first embodiment, which is not described herein again.
S280: the publishing sequence analysis platform receives the message subscription relationship dependence returned by the message subscription platform;
s290: and the issuing sequence analysis platform analyzes the acquired service call dependency, POM dependency and message subscription relationship dependency of the system to obtain an issuing sequence.
For specific technical details of steps S280 and S290 in this embodiment, reference may be made to steps S180 and S190 in the first embodiment, which are not repeated herein.
Fig. 3 is a flowchart of a method for determining a distribution order in an embodiment of the present application. In this embodiment of the method, the method for determining the distribution sequence includes the following steps:
s310: the issuing sequence analysis platform receives the issuing ID;
s320: the issuing sequence analysis platform sends a request for acquiring the SVN address of the code change to a process control platform, wherein the request comprises the issuing ID;
s330: the issuing sequence analysis platform receives the SVN address of the code change returned by the process management and control platform;
s340: the issuing sequence analysis platform requests a corresponding SVN platform to acquire a POM file corresponding to the issuing ID according to the SVN address;
s350: the sequential analysis platform receives a POM file returned by the SVN platform;
s360: and the release sequence analysis platform analyzes the POM dependence according to the acquired POM file, and further acquires a release sequence according to the POM dependence.
For the technical details in the embodiment of the present application, reference may be made to steps S210 to S260 and S290 in the second embodiment, and the difference between the embodiment and the steps S210 to S260 and S290 in the second embodiment is as follows: the embodiment of the application does not relate to the related content of the service call dependency and the message subscription relationship dependency. Step S360 may analyze the issue sequence of each system in the application to be issued according to the POM dependency, and return the issue sequence result to the issue management server.
For example, POM dependencies for systems a and B are:
POM dependence: a depends on B
The issuing order of each system in the application project is obtained according to the POM dependency of the obtained system, and specifically, the issuing order may be implemented as follows:
according to the POM dependency, setting a depended system in the POM dependency relationship into a later issuing order; accordingly, the dependency systems in the POM dependency are set to an earlier issue order.
Specifically, the dependent system B in the POM dependency relationship may be set to a later issue order; accordingly, the dependency system a in the POM dependency relationship is set to the earlier issue order.
Fig. 4 is a flowchart of a method for determining a distribution order in an embodiment of the present application. In this embodiment of the method, the method for determining the distribution sequence includes the following steps:
s410: the issuing sequence analysis platform receives the issuing ID;
s420: the issuing sequence analysis platform sends a request for acquiring SVN addresses of service call dependency and code change to a process control platform, wherein the request comprises the issuing ID;
s430: the issuing sequence analysis platform receives the SVN addresses of the service call dependency and the code change returned by the process management and control platform;
s440: the issuing sequence analysis platform requests a corresponding SVN platform to acquire a POM file corresponding to the issuing ID according to the SVN address;
s450: the sequential analysis platform receives a POM file returned by the SVN platform;
s460: the release sequence analysis platform analyzes the POM dependence according to the acquired POM file;
s470: and the issuing sequence analysis platform analyzes the acquired service call dependence and POM dependence of the system to obtain an issuing sequence.
For the technical details in the embodiment of the present application, reference may be made to steps S210 to S260, S290 and S300 in the second embodiment, and the difference between the embodiment and the steps S210 to S260 and S290 in the first embodiment is as follows: no message subscription relationship dependencies are involved in S470. In S470, the issuing sequence of each system in the application project to be issued may be analyzed according to the POM dependency and the service invocation dependency, and the result of the issuing sequence is returned to the issuing management server.
For example, the service invocation dependency and the POM dependency of the systems a and B are respectively:
POM dependence: a depends on B
Service invocation dependencies: a depends on B
The issuing sequence of each system in the application project is obtained according to the service invocation dependency and the POM dependency of the obtained system, and specifically, the issuing sequence can be realized as follows:
according to the priority order of the service call dependency and the POM dependency, a depended system in the dependency relationship with high priority is set to be a later issuing order; accordingly, the dependent systems in the dependency relationship with high priority are set to an earlier issue order.
Specifically, in a general application, the priority order of the service invocation dependency and the POM dependency may be as follows:
depend on
|
Priority order
|
Dependency relationships
|
Dependence on POM
|
Height of
|
System A depends on System B
|
Service invocation dependencies
|
Is low in
|
System A calls system B |
According to the table, the dependent system B in the POM dependency relationship with high priority can be set to a later issuing order; accordingly, the dependent system a in the POM dependency relationship with the high priority is set to the earlier issue order.
Fig. 5 is a flowchart of a method for determining a distribution order in an embodiment of the present application. In this embodiment of the method, the method for determining the distribution sequence includes the following steps:
s510: the issuing sequence analysis platform receives the issuing ID;
the technical details in step S510 in the embodiment of the present application may refer to step S210 in the second embodiment, which is not repeated herein.
S520: the issuing sequence analysis platform sends a request for acquiring information of a system related to issuing to a process management and control platform, wherein the request comprises the issuing ID;
the information of the system involved in the publication may include an identification of the system involved in the publication.
The process management and control platform may store the identifier of each system to which the application project to be published relates. Different identities correspond to different systems. Specifically, the process management and control platform may store a correspondence between the identifier of the system and the issue ID.
S530: the release sequence analysis platform receives the information of the system related to the release, which is returned by the process management and control platform;
and the process management and control platform searches the system information corresponding to the release ID according to the request for acquiring the system information, which is sent by the release sequence analysis platform, and returns the system information to the release sequence analysis platform.
S540: the publishing sequence analysis platform sends a request for acquiring the dependence of the message subscription relationship to the message subscription platform according to the received information of the system related to the publishing;
the technical details of step S540 of this embodiment may refer to step S270 of the second embodiment, which is not repeated herein.
S550: and the publishing sequence analysis platform receives the message subscription relationship dependence returned by the message subscription platform and acquires a publishing sequence according to the message subscription relationship dependence.
The technical details of step S550 in this embodiment may refer to steps S280 and S290 in the second embodiment, and the difference between step S550 and steps S280 and S290 in the second embodiment is: the service invocation dependency and the POM dependency are not involved in step S550. The publishing sequence analysis platform can analyze the publishing sequence of each system in the application project to be published according to the message subscription relationship dependence, and return the publishing sequence result to the publishing management server.
For example, the message subscription relationship dependencies of systems a and B are:
the message subscription relationship depends on: a depends on B
The issuing order of each system in the application project is obtained according to the message subscription relationship dependency of the obtained system, and specifically, the issuing order may be implemented as follows:
setting a later publication sequence according to the dependency relationship of the message subscription by a dependency system; accordingly, the dependency systems in the message dependencies are set to an earlier publication order.
Specifically, the dependent system B in the message subscription dependency relationship may be set to a later publication order; accordingly, the dependency system a in the message subscription dependency is set to an earlier publication order.
Fig. 6 is a block diagram illustrating an apparatus for determining a distribution sequence according to an embodiment of the present application. In this embodiment, the apparatus includes: a receiving unit 601, a first acquiring unit 602, a second acquiring unit 603, a third acquiring unit 604, and an issuing order determining unit 605.
A receiving unit 601 configured to receive the issue ID;
a first obtaining unit 602, configured to obtain, from a process management and control platform, an SVN address of a service call dependency and a code change corresponding to the issue ID;
a second obtaining unit 603, configured to obtain, to the SVN platform corresponding to the SVN address, the POM file corresponding to the issue ID;
a third obtaining unit 604, configured to obtain, from the message subscription platform, a message subscription relationship dependency corresponding to the publish ID;
a publishing sequence determining unit 605, configured to parse the POM dependency according to the obtained POM file, and obtain a publishing sequence according to the obtained service invocation dependency, POM dependency, and message subscription relationship dependency.
Fig. 7 is a block diagram illustrating an apparatus for determining a distribution sequence according to an embodiment of the present application. In this embodiment, the apparatus includes: a receiving unit 701, a first acquiring unit 702, a second acquiring unit 703, and an issuing order determining unit 704.
A receiving unit 701 configured to receive the issue ID;
a first obtaining unit 702, configured to obtain, to a process management and control platform, an SVN address of the code change corresponding to the issue ID;
a second obtaining unit 703, configured to obtain, to the SVN platform corresponding to the SVN address, the POM file corresponding to the issue ID;
and the issuing sequence determining unit 704 is configured to parse the POM dependency according to the acquired POM file, and obtain an issuing sequence according to the POM dependency.
Fig. 8 is a block diagram illustrating an apparatus for determining a distribution sequence according to an embodiment of the present application. In this embodiment, the apparatus includes: a receiving unit 801, a first acquiring unit 802, a second acquiring unit 803, and a distribution order determining unit 804.
A receiving unit 801 for receiving the issue ID;
a first obtaining unit 802, configured to obtain, from the process management and control platform, an SVN address of a service invocation dependency and a code change corresponding to the issue ID;
a second obtaining unit 803, configured to obtain, to the SVN platform corresponding to the SVN address, the POM file corresponding to the issue ID;
and the issuing sequence determining unit 804 is configured to parse the POM dependency according to the acquired POM file, and derive an issuing sequence according to the acquired service invocation dependency and POM dependency.
Fig. 9 is a block diagram illustrating an apparatus for determining a distribution sequence according to an embodiment of the present application. In this embodiment, the apparatus includes: a receiving unit 901, a first acquiring unit 902, a second acquiring unit 903, and a distribution order determining unit 904.
A receiving unit 901 configured to receive the issue ID;
a first obtaining unit 902, configured to obtain, from the process management and control platform, a system related to the issue of the issue ID;
a second obtaining unit 903, configured to obtain, from a message subscription platform, a message subscription relationship dependency of the system corresponding to the publish ID;
a publish order determining unit 904, configured to derive a publish order according to the obtained dependency of the interest subscription relationship.
According to the technical scheme provided by the embodiment of the application, the application project issuing sequence application is sent to the issuing sequence analysis platform through the issuing management server in a one-key mode. The method comprises the steps that a release sequence analysis platform obtains a code change system related to a project to be released and service call dependencies among the systems through a call flow management and control platform; the issuing sequence analysis platform further calls the SVN platform to obtain the POM file of the corresponding system, and POM dependence is analyzed according to the POM file; the publishing sequence analysis platform acquires corresponding message subscription relationship dependence by calling the message subscription platform; and finally, the publishing sequence analysis platform analyzes the required publishing sequence according to the acquired service call dependency, the POM dependency and the message subscription relationship dependency among the systems, and returns the publishing sequence to the publishing management server. The publishing management server can obtain and output the publishing sequence of the application items to be published. Therefore, the automatic output of the issuing sequence of each system in the issuing application project is realized, the problem that errors are easy to occur when the issuing sequence of each system in the issuing application project is manually analyzed and output is solved, and meanwhile, the waste of human resources is reduced.
In the 90 th generation of 20 th century, it is obvious that improvements in Hardware (for example, improvements in Circuit structures such as diodes, transistors and switches) or software (for improvement in method flow) can be distinguished for a technical improvement, however, as technology develops, many of the improvements in method flow today can be regarded as direct improvements in Hardware Circuit structures, designers almost all obtain corresponding Hardware Circuit structures by Programming the improved method flow into Hardware circuits, and therefore, it cannot be said that an improvement in method flow cannot be realized by Hardware entity modules, for example, Programmable logic devices (Programmable logic devices L organic devices, P L D) (for example, Field Programmable Gate Arrays (FPGAs) are integrated circuits whose logic functions are determined by user Programming of devices), and a digital system is "integrated" on a P L D "by self Programming of designers without requiring many kinds of integrated circuits manufactured and manufactured by special chip manufacturers to design and manufacture, and only a Hardware software is written in Hardware programs such as Hardware programs, software programs, such as Hardware programs, software, Hardware programs, software programs, Hardware programs, software, Hardware programs, software, Hardware programs, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software, Hardware, software.
A controller may be implemented in any suitable manner, e.g., in the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, Application Specific Integrated Circuits (ASICs), programmable logic controllers (PLC's) and embedded microcontrollers, examples of which include, but are not limited to, microcontrollers 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone L abs C8051F320, which may also be implemented as part of the control logic of a memory.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.