SOA service arbitration method and device, electronic equipment and storage medium

By obtaining and analyzing the priority and coexistence of applications in the automotive industry, determining the SOA service arbitration type and conducting arbitration, service conflicts are resolved, calling efficiency and user experience are improved, and system stability and resource utilization efficiency are enhanced.

CN120711077APending Publication Date: 2025-09-26GUANGZHOU AUTOMOBILE GROUP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510856218.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-24
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

In the automotive industry, when multiple scenarios or applications call the same SOA service interface at the same time, it may cause service conflicts, affecting the use of vehicle functions and user experience.

Method used

By obtaining the priorities of currently running applications and arbitration-applying applications, coexistence arbitration results, and jointly called services, the SOA service arbitration type is determined. Based on this type, arbitration considerations are selected for arbitration to ensure that applications execute corresponding actions according to the arbitration results, including application service arbitration, composite service arbitration, and atomic service arbitration.

Benefits of technology

It effectively avoids service conflicts, improves service call efficiency, improves user experience, and enhances the adaptability and flexibility of the system, ensuring the continuity of critical tasks and efficient use of resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120711077A_ABST
    Figure CN120711077A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an SOA service arbitration method and device, electronic equipment and a storage medium, and the method comprises the steps: determining a current SOA service arbitration type according to a coexistence arbitration result of a current operation application and an arbitration application, and carrying out the arbitration of the current SOA service based on the current SOA service arbitration type, determining arbitration consideration factors from the priority of the current running application, the priority of the arbitration application and the common calling service; and based on the current SOA service arbitration type, arbitrating the current running application and the arbitration application according to the arbitration consideration factors to obtain an SOA service arbitration result, so that the current running application and the arbitration application execute corresponding actions according to the SOA service arbitration result. Therefore, the problem that the service conflict in the background technology affects the use effect of the vehicle and the user experience is solved, the conflict between the services is effectively avoided, the service calling efficiency is improved, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of in-vehicle service technology, and in particular to a SOA (Service Oriented Architecture) service arbitration method, device, electronic device, and storage medium. Background Art

[0002] In the current automotive industry, SOA-based service calls are increasing, especially when implementing multi-scenario functions.

[0003] However, when multiple scenarios or applications try to call the same SOA service interface at the same time, service conflicts may occur, causing the function executed first to be interrupted or overwritten by the function executed later, resulting in logical conflicts in the scenario function executed first, thereby affecting the use of vehicle functions and user experience, which urgently needs to be resolved. Summary of the Invention

[0004] The embodiments of the present application provide a SOA service arbitration method, device, electronic device and storage medium, which aim to improve the problem of service conflicts existing in the background technology that affect the use effect and user experience of the vehicle, effectively avoid conflicts between services, improve service call efficiency and improve user experience.

[0005] The first embodiment of the present application provides a SOA service arbitration method, comprising the following steps:

[0006] Obtaining the priority of the currently running application, the priority of the arbitration application, the coexistence arbitration result of the currently running application and the arbitration application, and the jointly invoked service;

[0007] Determining a current SOA service arbitration type according to the coexistence arbitration result, and determining arbitration considerations based on the current SOA service arbitration type from the priority of the currently running application, the priority of the arbitration application, and the commonly called service;

[0008] Based on the current SOA service arbitration type, the currently running application and the arbitration application are arbitrated according to the arbitration considerations to obtain an SOA service arbitration result, so that the currently running application and the arbitration application perform corresponding actions according to the SOA service arbitration result.

[0009] Through the above technical solution, the problem of service conflicts existing in the background technology affecting the use effect and user experience of the vehicle is solved, conflicts between services are effectively avoided, the service call efficiency is improved and the user experience is improved.

[0010] According to one embodiment of the present application, determining arbitration considerations based on the current SOA service arbitration type from the priority of the currently running application, the priority of the arbitration application, and the commonly called service includes:

[0011] If the current SOA service arbitration type is application service arbitration, the priority of the currently running application and the priority of the arbitration application are used as arbitration considerations;

[0012] If the current SOA service arbitration type is composite service arbitration, the priority of the currently running application, the priority of the arbitration application, and the jointly called service are used as arbitration consideration factors.

[0013] Through the above technical solution, it is possible to determine considerations based on different types of arbitration scenarios, further improving the rationality and accuracy of arbitration decisions, better meeting the application coordination needs in different situations, and enhancing the adaptability and flexibility of the system.

[0014] According to one embodiment of the present application, the current SOA service arbitration type is the application service arbitration. Based on the current SOA service arbitration type, the currently running application and the arbitration application application are arbitrated according to the arbitration considerations to obtain the SOA service arbitration result, including:

[0015] Determining whether the priority of the currently running application is higher than the priority of the application applying for arbitration;

[0016] If the priority of the currently running application is higher than the priority of the arbitration application, the SOA service arbitration result is that the arbitration application stops executing the corresponding action; otherwise, the SOA service arbitration result is to exit the currently running application, and after the currently running application exits, the arbitration application executes the corresponding action through the common call service.

[0017] Through the above technical solution, the execution order and actions of the application can be quickly determined, which enhances the response speed and resource utilization efficiency of the system, making the system more efficient and reliable when processing application service arbitration.

[0018] According to one embodiment of the present application, the current SOA service arbitration type is the composite service arbitration. Based on the current SOA service arbitration type, the currently running application and the arbitration application are arbitrated according to the arbitration considerations to obtain the SOA service arbitration result, including:

[0019] Determining whether the priority of the currently running application is higher than the priority of the application applying for arbitration;

[0020] If the priority of the currently running application is higher than the priority of the arbitration application, the SOA service arbitration result is that the arbitration application skips executing the action corresponding to the common call service; otherwise, it is determined whether the corresponding node of the common call service is a key node of the currently running application;

[0021] If the corresponding node of the common call service is a key node of the currently running application, the SOA service arbitration result is that the arbitration application executes the corresponding action through the common call service and exits the currently running application; otherwise, the SOA service arbitration result is that the arbitration application executes the corresponding action through the common call service and the currently running application executes the execution nodes corresponding to the remaining services of the currently running application.

[0022] Through the above technical solution, the arbitration results can be flexibly determined according to different situations, which not only ensures the priority operation of high-priority applications, but also takes into account the impact of common call services on applications, avoids application failures or resource waste caused by conflicts in key nodes, and improves the flexibility and adaptability of the system in handling combined service arbitration.

[0023] According to one embodiment of the present application, obtaining the coexistence arbitration result between the currently running application and the arbitration-applying application includes:

[0024] Obtaining a first scenario of the currently running application and a second scenario of the arbitration application;

[0025] Based on the first scenario and the second scenario, determining whether the currently running application and the arbitration application meet a preset coexistence condition;

[0026] If the currently running application and the arbitration application satisfy the preset coexistence condition, the coexistence arbitration result is determined to be a coexisting application; otherwise, the coexistence arbitration result is determined to be a non-coexisting application.

[0027] Through the above technical solution, the coexistence relationship between applications can be accurately judged according to the actual application scenarios and preset conditions, thereby providing more accurate basic information for SOA service arbitration and helping to improve the accuracy and rationality of arbitration decisions.

[0028] According to one embodiment of the present application, the SOA service arbitration method further includes:

[0029] Determine whether atomic service arbitration exists;

[0030] In the case where the atomic service arbitration exists, determining whether the atomic service currently requested to be called is allowed to be executed according to a preset atomic service arbitration relationship table;

[0031] If the atomic service currently requested to be called is allowed to be executed, the atomic service is called; otherwise, the atomic service is refused to be called.

[0032] Through the above technical solution, by judging and processing atomic service arbitration, the calling authority of atomic services can be effectively controlled, the reasonable use of atomic services can be ensured, the security and stability of the system can be enhanced, and the SOA service arbitration method can be made more comprehensive and practical.

[0033] According to the SOA service arbitration method of the embodiment of the present application, the current SOA service arbitration type is determined based on the coexistence arbitration results of the currently running application and the application requesting arbitration, and arbitration considerations are determined based on the priority of the currently running application, the priority of the application requesting arbitration, and the jointly called service. Based on the current SOA service arbitration type, the currently running application and the application requesting arbitration are arbitrated according to the arbitration considerations to obtain a SOA service arbitration result, so that the currently running application and the application requesting arbitration perform corresponding actions based on the SOA service arbitration result. This solves the problem of service conflicts existing in the background art that affect the vehicle's usability and user experience, effectively avoids conflicts between services, improves service call efficiency, and enhances the user experience.

[0034] A second embodiment of the present application provides a SOA service arbitration device, including:

[0035] An acquisition module, configured to acquire the priority of a currently running application, the priority of an application applying for arbitration, a coexistence arbitration result between the currently running application and the application applying for arbitration, and a jointly invoked service;

[0036] a determination module, configured to determine a current SOA service arbitration type according to the coexistence arbitration result, and based on the current SOA service arbitration type, determine arbitration considerations from the priority of the currently running application, the priority of the arbitration application, and the commonly called service;

[0037] An arbitration module is configured to arbitrate the currently running application and the arbitration application based on the current SOA service arbitration type and the arbitration considerations, obtain an SOA service arbitration result, and enable the currently running application and the arbitration application to perform corresponding actions according to the SOA service arbitration result.

[0038] According to one embodiment of the present application, the determining module is configured to:

[0039] If the current SOA service arbitration type is application service arbitration, the priority of the currently running application and the priority of the arbitration application are used as arbitration considerations;

[0040] If the current SOA service arbitration type is composite service arbitration, the priority of the currently running application, the priority of the arbitration application, and the jointly called service are used as arbitration consideration factors.

[0041] According to one embodiment of the present application, the arbitration module is configured to:

[0042] Determining whether the priority of the currently running application is higher than the priority of the application applying for arbitration;

[0043] If the priority of the currently running application is higher than the priority of the arbitration application, the SOA service arbitration result is that the arbitration application stops executing the corresponding action; otherwise, the SOA service arbitration result is to exit the currently running application, and after the currently running application exits, the arbitration application executes the corresponding action through the common call service.

[0044] According to one embodiment of the present application, the arbitration module is configured to:

[0045] Determining whether the priority of the currently running application is higher than the priority of the application applying for arbitration;

[0046] If the priority of the currently running application is higher than the priority of the arbitration application, the SOA service arbitration result is that the arbitration application skips executing the action corresponding to the common call service; otherwise, it is determined whether the corresponding node of the common call service is a key node of the currently running application;

[0047] If the corresponding node of the common call service is a key node of the currently running application, the SOA service arbitration result is that the arbitration application executes the corresponding action through the common call service and exits the currently running application; otherwise, the SOA service arbitration result is that the arbitration application executes the corresponding action through the common call service and the currently running application executes the execution nodes corresponding to the remaining services of the currently running application.

[0048] According to one embodiment of the present application, the acquisition module is configured to:

[0049] Obtaining a first scenario of the currently running application and a second scenario of the arbitration application;

[0050] Based on the first scenario and the second scenario, determining whether the currently running application and the arbitration application meet a preset coexistence condition;

[0051] If the currently running application and the arbitration application satisfy the preset coexistence condition, the coexistence arbitration result is determined to be a coexisting application; otherwise, the coexistence arbitration result is determined to be a non-coexisting application.

[0052] According to one embodiment of the present application, the SOA service arbitration device is further configured to:

[0053] Determine whether atomic service arbitration exists;

[0054] In the case where the atomic service arbitration exists, determining whether the atomic service currently requested to be called is allowed to be executed according to a preset atomic service arbitration relationship table;

[0055] If the atomic service currently requested to be called is allowed to be executed, the atomic service is called; otherwise, the atomic service is refused to be called.

[0056] According to the SOA service arbitration device of the embodiment of the present application, the current SOA service arbitration type is determined based on the coexistence arbitration results of the currently running application and the application requesting arbitration, and arbitration considerations are determined based on the priority of the currently running application, the priority of the application requesting arbitration, and the jointly called service. Based on the current SOA service arbitration type, the currently running application and the application requesting arbitration are arbitrated according to the arbitration considerations to obtain a SOA service arbitration result, so that the currently running application and the application requesting arbitration perform corresponding actions based on the SOA service arbitration result. This solves the problem of service conflicts in the background art that affect vehicle usage and user experience, effectively avoids conflicts between services, improves service call efficiency, and enhances user experience.

[0057] The third aspect of the present application provides an electronic device, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the SOA service arbitration method as described in the above embodiment.

[0058] A fourth aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, which is executed by a processor to implement the SOA service arbitration method as described in the above embodiment. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:

[0060] Figure 1 This is an architectural diagram of SOA service arbitration provided by an embodiment of the present application;

[0061] Figure 2 This is a flowchart of a SOA service arbitration method provided by an embodiment of the present application;

[0062] Figure 3This is a flowchart of application service arbitration provided by an embodiment of the present application;

[0063] Figure 4 This is a flowchart of combined service arbitration provided by an embodiment of the present application;

[0064] Figure 5 This is a schematic diagram of application service arbitration and combined service arbitration coverage scenarios provided by an embodiment of the present application;

[0065] Figure 6 This is a flowchart of atomic service arbitration provided by an embodiment of the present application;

[0066] Figure 7 This is a block diagram of an SOA service arbitration device provided in an embodiment of the present application;

[0067] Figure 8 This is a structural diagram of an electronic device provided in an embodiment of the present application.

[0068] Figure numerals: 101 - application scenario (service consumer), 102 - service arbitration module, 103 - service provider; 70 - SOA service arbitration device, 100 - acquisition module, 200 - determination module, 300 - arbitration module; 80 - electronic device, 801 - memory, 802 - processor, 803 - communication interface. DETAILED DESCRIPTION

[0069] The following describes in detail embodiments of the present application, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.

[0070] Those skilled in the art will understand that with the widespread adoption of SOA services in the automotive industry, more and more functional scenarios are being developed based on them. When two or more scenarios are triggered simultaneously in a vehicle, service interfaces are inevitably called simultaneously. Without an arbitration strategy, relying solely on a simple "first-come, first-served" approach can negatively impact overall functionality and user experience.

[0071] In related technologies, such as patent CN116668545A "Service Priority Arbitration Method Based on SOA Architecture", it is proposed to design an occupancy status acquisition module to record the occupancy status of the service, synchronize the information to the arbitration processor for judgment, and execute the corresponding service according to the priority result. However, when a service call request with a higher priority arrives, the low-priority service call will be terminated. In some scenarios, the termination of the service call will affect the overall effect of the function, and thus affect the user experience. In addition, the solution lacks an overall strategy to determine and execute the rollback mechanism of the service.

[0072] Based on this, an embodiment of the present application proposes a SOA service arbitration method, including: obtaining the priority of the currently running application, the priority of the application applying for arbitration, the coexistence arbitration result of the currently running application and the application applying for arbitration, and the jointly called service; determining the current SOA service arbitration type according to the coexistence arbitration result, and based on the current SOA service arbitration type, determining the arbitration consideration factor from the priority of the currently running application, the priority of the application applying for arbitration, and the jointly called service; based on the current SOA service arbitration type, arbitrating the currently running application and the application applying for arbitration according to the arbitration consideration factor to obtain the SOA service arbitration result, so that the currently running application and the application applying for arbitration perform corresponding actions according to the SOA service arbitration result.

[0073] Compared to related technologies, the SOA service arbitration method proposed in this application can better adapt to complex application scenarios by determining the arbitration type based on the coexistence arbitration results and selecting different considerations based on different types. Through a comprehensive arbitration strategy, this application reduces interruptions and delays caused by service call conflicts, ensures the continuity and stability of the application, and thus significantly improves the user experience. Through a reasonable arbitration mechanism, this application can effectively coordinate resource usage between multiple applications, avoid resource competition and conflicts, and enhance the overall stability and reliability of the system.

[0074] Before introducing the SOA service arbitration method according to the embodiment of the present application, the framework and three-level arbitration architecture of the SOA service arbitration method according to the present application are first introduced.

[0075] Specifically, the framework of the SOA service arbitration in the embodiment of the present application is as follows: Figure 1 As shown, node 101 is a scenario application (service consumer). Based on the scenario definition, the scenario application can request the arbitration module for the application service arbitration result, wait for the arbitration module to feedback the arbitration result, and then execute subsequent logic. It can also directly call the composite service. All composite service calls must be made through the service arbitration executor and cannot be made directly to the service provider. The scenario application must also execute logic based on the received composite service arbitration result.

[0076] Node 102 is a centralized service arbitration module that arbitrates all service calls. This module arbitrates application services, composite services, and atomic services according to rules and provides feedback to service consumers. The arbitration module executes actions based on the rules set by the service caller and the arbitration rules of each service layer.

[0077] Node 103 is a service provider that provides basic capabilities to service consumers and provides external service interfaces for service consumers to call.

[0078] The following details the three-tiered arbitration architecture proposed in this application. The entire arbitration logic is divided into three layers: application service arbitration, composite service arbitration, and atomic service arbitration. These three layers of arbitration correspond to different use cases. These three layers combine to form a complete arbitration rule set that covers all design scenarios.

[0079] Specifically, the SOA service arbitration in the embodiment of the present application sets a three-tier service arbitration mechanism to plan for all scenarios. Each arbitration path corresponds to a different applicable scenario, and the combination of the three-tier arbitration can cover all scenarios.

[0080] Application service arbitration involves requesting arbitration from the arbitration module upon startup. The arbitration module then returns the arbitration result based on the rules. Application service arbitration targets applications, which are distinguished by their ClientIDs. The purpose of application service arbitration is to define whether different scenarios can coexist.

[0081] Composite service arbitration involves applications calling various composite service nodes based on their own logic. The arbitration module then provides feedback based on the rules to the currently executing application and the application requesting the service. Composite service arbitration targets the composite service API. When different service consumers (identified by their ClientIDs) call the API, the arbitration module arbitrates these calls.

[0082] Atomic service arbitration involves executing the rules for atomic service calls when an atomic service is invoked. The target of atomic service arbitration is the atomic service API (Application Programming Interface), which is client-ID-agnostic. Within a group of atomic services, only one service API can be called at a time.

[0083] The following describes a SOA service arbitration method provided by an embodiment of the present application. Please refer to Figure 2 , including the following steps:

[0084] S201 , obtaining the priority of the currently running application, the priority of the arbitration application, the coexistence arbitration result of the currently running application and the arbitration application, and the jointly called service.

[0085] S202 , determining the current SOA service arbitration type according to the coexistence arbitration result, and determining arbitration considerations based on the current SOA service arbitration type from the priority of the currently running application, the priority of the arbitration application, and the commonly called service.

[0086] S203: Based on the current SOA service arbitration type, the currently running application and the arbitration application are arbitrated according to arbitration considerations to obtain a SOA service arbitration result, so that the currently running application and the arbitration application execute corresponding actions according to the SOA service arbitration result.

[0087] According to the above technical solution, by determining the current SOA service arbitration type according to the coexistence arbitration result, and determining the arbitration considerations based on the current SOA service arbitration type, dynamic adjustment and refined management of the arbitration strategy are achieved, and the arbitration method can be flexibly selected according to different scenarios, thereby improving the accuracy and adaptability of arbitration; by arbitrating the currently running application and the arbitration application application according to the arbitration considerations based on the current SOA service arbitration type, the SOA service arbitration result is obtained, so that the currently running application and the arbitration application application perform corresponding actions according to the SOA service arbitration result, thereby achieving orderly allocation of service calls and effective resolution of conflicts, ensuring efficient utilization of system resources and coexistence between applications, thereby avoiding experience problems when services are called in conflicting scenarios, and improving user experience and system stability.

[0088] Specifically, in the embodiment of the present application, priority rules may be defined in a configuration file in advance, and the priority of the currently running application and the priority of the application applying for arbitration may be read from the configuration file, which is not specifically limited here.

[0089] Furthermore, in some embodiments, obtaining the coexistence arbitration result of the currently running application and the application applying for arbitration includes: obtaining a first scenario of the currently running application and a second scenario of the application applying for arbitration; based on the first scenario and the second scenario, determining whether the currently running application and the application applying for arbitration meet a preset coexistence condition; if the currently running application and the application applying for arbitration meet the preset coexistence condition, determining the coexistence arbitration result as a coexisting application; otherwise, determining the coexistence arbitration result as a non-coexisting application.

[0090] Among them, in the SOA environment, the scenario of an application refers to the state of the application in a specific function or task. For example, the scenario of a navigation application can be "navigating" or "waiting for the user to enter a destination." The preset coexistence condition can be a rule pre-defined by those skilled in the art based on the business logic and user experience requirements of the application, which is used to determine whether two applications can run at the same time. For example, a preset coexistence condition of an embodiment of the present application can be "navigation applications and entertainment applications can run at the same time, but the navigation application has a higher priority."

[0091] Specifically, the embodiment of the present application can use the arbitration module to obtain the first scenario of the currently running application and the second scenario of the arbitration application, and determine whether the currently running application and the arbitration application can coexist according to the preset coexistence condition rules.

[0092] For example, if the preset condition is that "navigation applications and entertainment applications can run at the same time", and the currently running application is a navigation application (the first scenario is "navigating"), and the application applying for arbitration is an entertainment application (the second scenario is "playing music"), the arbitration module will determine that the two applications can coexist.

[0093] If the preset coexistence condition is "navigation application and recording application cannot run at the same time", and the currently running application is the navigation application (the first scenario is "navigating"), and the arbitration application is the recording application (the second scenario is "recording"), then it is determined that the two applications cannot coexist, that is, the coexistence arbitration result is non-coexistence application.

[0094] If the preset coexistence condition is "navigation applications and entertainment applications can run at the same time", and the currently running application is a navigation application (the first scenario is "navigating"), and the arbitration application is an entertainment application (the second scenario is "playing music"), then it is determined that the two applications can coexist, that is, the coexistence arbitration result is coexisting applications.

[0095] Therefore, by obtaining the first scenario of the currently running application and the second scenario of the arbitration-requesting application, detailed contextual information can be provided, making arbitration decisions more accurate and reasonable. Determining coexistence conditions based on the first and second scenario information enables flexible resource allocation and improves resource utilization. Ultimately, determining the coexistence arbitration outcome can optimize the user experience and reduce service interruptions.

[0096] Furthermore, in some embodiments, based on the current SOA service arbitration type, arbitration considerations are determined from the priority of the currently running application, the priority of the application applying for arbitration, and the jointly called service, including: if the current SOA service arbitration type is application service arbitration, the priority of the currently running application and the priority of the application applying for arbitration are used as arbitration considerations; if the current SOA service arbitration type is composite service arbitration, the priority of the currently running application, the priority of the application applying for arbitration, and the jointly called service are used as arbitration considerations.

[0097] The priority of the currently running application measures its importance and urgency, while the priority of the arbitration-applying application determines the urgency of that application's service request. A jointly invoked service refers to a service that is already invoked by the currently running application and requested by the arbitration-applying application.

[0098] Specifically, if the current SOA service arbitration type is application service arbitration, the priority of the currently running application and the priority of the application requesting arbitration are used as arbitration factors to determine whether to allow the application requesting arbitration to obtain services. For example, if the priority of the application requesting arbitration is higher than that of the currently running application, the application requesting arbitration is allowed to obtain services. If the priority of the currently running application is higher than that of the application requesting arbitration, the application requesting arbitration is rejected to ensure the continuity of the currently running application.

[0099] Optionally, all participating applications and their arbitration relationships can be defined in a configuration file. This configuration file describes the arbitration relationships between applications and the arbitration results to be returned. This configuration file serves as the foundation for application arbitration. The service arbitration module makes decisions based on the arbitration policy defined in the application service arbitration configuration file and returns the arbitration results to the service caller.

[0100] Furthermore, if the current SOA service arbitration type is composite service arbitration, the priority of the currently running application, the priority of the application applying for arbitration, and the jointly called service will be used as arbitration considerations. Assuming that the currently running application is a navigation application (priority 3), and the application applying for arbitration is an entertainment application (priority 4), the priority of the navigation application is higher than the priority of the entertainment application, and both applications request to call the same service interface (for example, GPS service), then the priority of the navigation application, the priority of the entertainment application, and the jointly called GPS service will be used as arbitration considerations, and subsequent arbitration steps will be performed. Each application participating in the arbitration can define the application's arbitration requirements for the service in the configuration file it provides. The configuration file is the basis for subsequent service arbitration. The service arbitration module makes arbitration decisions based on the rules and outputs the arbitration results to each application or execution service.

[0101] Therefore, when the current SOA service arbitration type is application service arbitration, the priority of the currently running application and the priority of the application requesting arbitration are taken into account in arbitration, ensuring the stable operation of high-priority applications and avoiding the interruption of critical tasks. When the current SOA service arbitration type is composite service arbitration, the priority of the currently running application, the priority of the application requesting arbitration, and the commonly called services are also taken into account in arbitration, optimizing resource allocation and improving system resource utilization.

[0102] Furthermore, in some embodiments, the current SOA service arbitration type is application service arbitration. Based on the current SOA service arbitration type, the currently running application and the arbitration application application are arbitrated according to arbitration considerations to obtain a SOA service arbitration result, including: determining whether the priority of the currently running application is higher than the priority of the arbitration application application; if the priority of the currently running application is higher than the priority of the arbitration application application, the SOA service arbitration result is that the arbitration application application stops executing the corresponding action; otherwise, the SOA service arbitration result is to exit the currently running application, and after the currently running application exits, the arbitration application application executes the corresponding action by jointly calling the service.

[0103] Specifically, in order to facilitate those skilled in the art to intuitively understand the arbitration process of the embodiment of the present application when the current SOA service arbitration type is application service arbitration, the following is combined with Figure 3 Provide detailed explanation.

[0104] like Figure 3 As shown, the application service arbitration process includes the following steps:

[0105] S301: Inputting application service arbitration rules. Set arbitration relationships between applications based on business requirements.

[0106] S302, Application Service Arbitration Application: Before running, the application can apply to the arbitration module for application service arbitration.

[0107] S303, Application Service Arbitration. Upon receiving an arbitration request from an application, the service arbitration module will provide feedback to the application requesting arbitration regarding whether it is running, based on the status of the running application, and will also provide feedback on the arbitration results to each application. If all arbitration results are "allowed to run," the final arbitration result will be "allowed to run." If any arbitration result is "rejected to run," the final arbitration result will be "rejected to run." For all other results, if the current application exits and the arbitration module responds with "exit arbitration request," the arbitration module will first respond to the currently running module with a "request to exit arbitration" message. After the current application exits, the arbitration module will then respond with an execution instruction to the application requesting arbitration.

[0108] S304, arbitration result execution: Each application executes according to the arbitration result of the service arbitration module.

[0109] Furthermore, when the arbitration result received by the application is "allowed to run", the application applying for arbitration should directly execute the subsequent logic. Figure 5 In scenario 2, the currently running application is application A (calling services 1 and 2 and in the process of calling services), and the application applying for arbitration is application B (calling services 1 and 3 and requesting entry), and application A and application B do not meet the preset coexistence conditions, and further determine whether the priority of application A is greater than the priority of application B. If the priority of application A is less than the priority of application B, application A immediately exits the mode. After application A exits the mode, application B enters the mode normally and calls services 1 and 3.

[0110] Furthermore, when the arbitration result received by the application is "rejected to run", the application applying for arbitration should stop the subsequent execution logic. Figure 5 In scenario 1, the currently running application is application A (calling services 1 and 2 and in the process of calling services), and the application applying for arbitration is application B (calling services 1 and 3 and requesting entry), and application A and application B do not meet the preset coexistence conditions. It is further determined whether the priority of application A is greater than the priority of application B. If the priority of application A is greater than the priority of application B, the service call request of application B is rejected and application B does not enter the mode.

[0111] Furthermore, when the arbitration result received by the application is "run after exiting the current application", the application applying for arbitration needs to wait until the existing application exits before executing subsequent logic. Figure 5 Scenario 2 has been described in detail above, and to avoid redundancy, it will not be repeated here.

[0112] In step S301, the arbitration requirements for the application service are input to the service arbitration module in the form of a configuration file. The configuration file for application service arbitration can be referenced as shown in Table 1. The application service arbitration relationship table defines the relationship between the application requesting arbitration and the running application. The selectable return results include at least "allow to run" (the requested application can be run directly), "reject to run" (the requested application cannot be run), and "run after exiting the current application" (the currently running application must be exited before the newly requested application is executed).

[0113] Table 1

[0114]

[0115] Therefore, when the current SOA service arbitration type is application service arbitration, through priority judgment and corresponding service arbitration decisions, it can quickly respond to the needs of high-priority applications, ensure the continuity and timeliness of key tasks, thereby optimizing resource allocation and improving system efficiency.

[0116] Further, in some embodiments, the current SOA service arbitration type is a combined service arbitration. Based on the current SOA service arbitration type, the currently running application and the arbitration application application are arbitrated according to arbitration considerations to obtain a SOA service arbitration result, including: determining whether the priority of the currently running application is higher than the priority of the arbitration application application; if the priority of the currently running application is higher than the priority of the arbitration application application, the SOA service arbitration result is that the arbitration application application skips executing the action corresponding to the common call service; otherwise, determining whether the corresponding node of the common call service is a key node of the currently running application; if the corresponding node of the common call service is a key node of the currently running application, the SOA service arbitration result is that the arbitration application application executes the corresponding action through the common call service and exits the currently running application; otherwise, the SOA service arbitration result is that the arbitration application application executes the corresponding action through the common call service and the currently running application executes the execution nodes corresponding to the remaining services of the currently running application.

[0117] Specifically, in order to facilitate those skilled in the art to intuitively understand the arbitration process of the embodiment of the present application when the current SOA service arbitration type is combined service arbitration, the following is a combined service arbitration process. Figure 4 Provide detailed explanation.

[0118] like Figure 4 As shown in the figure, the process of arbitration of the combined service is as follows:

[0119] S401: Input of combined service arbitration rules: Each application decides whether to submit an arbitration request for a service based on the importance of each service to it, and inputs the request into the arbitration module in the form of a configuration file.

[0120] S402, service call request: When an application app calls a composite service, arbitration is performed in the service arbitration module.

[0121] S403, service arbitration decision: Arbitration is performed based on the priority of the application's request for the service and the current service call status. The service arbitration module needs to feedback different results to the application.

[0122] For example, the following is combined Figure 5 The current service is being used by application A, and a new application B requests the service. The judgment result is as follows:

[0123] When the common invocation service is not invoked, the common invocation service can be invoked by a new application (application B). The service arbitration module should forward the invocation request of the new application (application B) to the service provider.

[0124] When the jointly called service is occupied and the priority of the application occupying the service is greater than or equal to that of the new application (ie, application A ≥ application B), the service arbitration module shall feedback a rejection message "the service API arbitration failed" to the new application (application B).

[0125] When a jointly called service is occupied and the priority of the application occupying the service is lower than that of the new application (application A < application B), the service arbitration module should feedback to the currently occupied service (application A) that "this service node has a higher priority application request"; the service arbitration module also needs to feedback to the new application (application B) that "arbitration passed".

[0126] S404, arbitration results execution. Each application is executed according to the judgment result of the service arbitration module. The execution results are as follows:

[0127] refer to Figure 5 In scenario 3, when the new application (application B) is rejected, application B should skip the service node according to its own execution logic. If the decision is made, end the current application or skip the current service node and continue to execute subsequent service nodes.

[0128] refer to Figure 5 In scenario 4, when the new application (Application B) is allowed to execute, Application B continues to execute the corresponding service call according to its own logic. Furthermore, Application A and Application B can coexist, so the currently occupied service (Application A) must maintain execution on other nodes.

[0129] refer to Figure 5 In scenario 5, when the new application (Application B) is allowed to execute, Application B continues to execute the corresponding service call according to its own logic. Furthermore, Application A and Application B cannot coexist. When the current application (Application A) occupying the service is notified to terminate, it should exit according to its own logic, and then decide whether to roll back other execution nodes of the application.

[0130] S405, arbitration ends. When all arbitration applications have completed their decisions, the service arbitration module needs to execute subsequent queue applications in order.

[0131] It should be noted that the arbitration requirements of the application for the service in step S401 can be input into the service arbitration module in the form of a configuration file. The application service configuration file can be referenced as follows:

[0132]

[0133] Different applications or application services require their own configuration files. These configuration files must include the application name (name), client ID (client), and the service interfaces that the application / application service targets. The service interface description in the configuration file must include the ServiceID, MethodID, and Priority. Priority is defined based on specific business needs. For example, priority levels range from 0 to 10, with 10 being the highest.

[0134] If different applications are configured with the same service API, they all request arbitration for that service API. For example, in the service configuration file above, both App A and App B request arbitration for the service API (ServiceID = 0x1055, MethodID = 0x9001). When the service API is called, arbitration is performed based on the priority defined by App A and App B for that node.

[0135] In S403 , the priorities of the applications need to be compared, and the reference input for the comparison is the configuration file defined in step S401 .

[0136] Therefore, by judging the priority of the currently running application and the application applying for arbitration, the protection and optimization of critical tasks are achieved, ensuring that high-priority applications can obtain priority in resource competition, thereby improving the execution efficiency of critical tasks and the response speed of the system; by further analyzing whether the corresponding nodes of the common call services are the key nodes of the currently running applications, the service arbitration strategy can be flexibly adjusted according to the importance of the service and the priority of the application, thereby improving resource utilization and the overall performance of the system, and further enhancing the user experience.

[0137] Furthermore, in some embodiments, the SOA service arbitration method also includes: determining whether there is atomic service arbitration; if there is atomic service arbitration, determining whether the atomic service currently requested to be called is allowed to be executed based on a preset atomic service arbitration relationship table; if the atomic service currently requested to be called is allowed to be executed, then executing the call to the atomic service, otherwise, refusing to call the atomic service.

[0138] Specifically, embodiments of the present application can define the relationships between atomic services in a configuration file, which defines a set of service interface APIs and their priority definitions. The service arbitration module arbitrates atomic services based on the definitions of the atomic service arbitration configuration file, that is, executes related actions based on the service caller and the rules of service arbitration at each layer.

[0139] The arbitration requirements of the atomic service of the embodiment of the present application need to be input into the service arbitration module in the form of a configuration file. The configuration file of the atomic service arbitration can be referred to as shown in Table 2, that is, the preset atomic service arbitration relationship table. Ctrl1, Ctrl2, and Ctrl3 in Table 2 are three different service interface APIs, which are three different new service interface APIs abstracted from the same control node. Among them, the arbitration relationship of these three new service interface APIs is Ctrl1 service API>Ctrl2 service API>Ctrl3 service API.

[0140] Table 2

[0141]

[0142] Specifically, in order to facilitate those skilled in the art to intuitively understand the arbitration process of the embodiment of the present application when the current SOA service arbitration type is atomic service arbitration, the following is combined with Figure 6 Provide detailed explanation.

[0143] like Figure 6 As shown in the figure, the process of atomic service arbitration is as follows:

[0144] S601: Input of atomic service arbitration rules: Group services and define the relationships between them.

[0145] S602, service call request: Atomic service arbitration does not need to distinguish the source of the caller, but only distinguishes whether the service is called.

[0146] S603, service arbitration decision. Arbitrate the service call according to the atomic service arbitration matrix. If the table query result is "allowed to run", the arbitration result returns "allowed to run"; if the table query result is "denied to run", the arbitration result returns "denied to run".

[0147] S604, service result execution: If the arbitration result is that the service is allowed to run, the service arbitration module should call the corresponding atomic service according to the input parameters of the service caller.

[0148] Therefore, when multiple applications request the same atomic service, the arbitration module determines whether the application can access the service based on the preset atomic service arbitration relationship table. Atomic service arbitration ensures that only one application can access a specific atomic service at a time, thus avoiding data inconsistencies or service conflicts caused by concurrent access.

[0149] According to the SOA service arbitration method of the embodiment of the present application, the current SOA service arbitration type is determined based on the coexistence arbitration results of the currently running application and the application requesting arbitration, and arbitration considerations are determined based on the priority of the currently running application, the priority of the application requesting arbitration, and the jointly called service. Based on the current SOA service arbitration type, the currently running application and the application requesting arbitration are arbitrated according to the arbitration considerations to obtain a SOA service arbitration result, so that the currently running application and the application requesting arbitration perform corresponding actions based on the SOA service arbitration result. This solves the problem of service conflicts existing in the background technology that affect the vehicle's use effect and user experience, effectively avoids the experience problems of optimizing scenario calls, improves service call efficiency, and enhances user experience.

[0150] This embodiment of the application also provides a SOA service arbitration device 70, please refer to Figure 7 , including: an acquisition module 100, used to obtain the priority of the currently running application, the priority of the arbitration application, the coexistence arbitration result of the currently running application and the arbitration application, and the jointly called service; a determination module 200, used to determine the current SOA service arbitration type according to the coexistence arbitration result, and based on the current SOA service arbitration type, determine the arbitration consideration factor from the priority of the currently running application, the priority of the arbitration application, and the jointly called service; an arbitration module 300, used to arbitrate the currently running application and the arbitration application according to the arbitration consideration factor based on the current SOA service arbitration type, obtain the SOA service arbitration result, and enable the currently running application and the arbitration application to perform corresponding actions according to the SOA service arbitration result.

[0151] Furthermore, in some embodiments, the determination module 200 is used to: if the current SOA service arbitration type is application service arbitration, then the priority of the currently running application and the priority of the application applying for arbitration are used as arbitration considerations; if the current SOA service arbitration type is composite service arbitration, then the priority of the currently running application, the priority of the application applying for arbitration and the jointly called service are used as arbitration considerations.

[0152] Furthermore, in some embodiments, the arbitration module 300 is used to: determine whether the priority of the currently running application is higher than the priority of the application applying for arbitration; if the priority of the currently running application is higher than the priority of the application applying for arbitration, the SOA service arbitration result is that the application applying for arbitration stops executing the corresponding action; otherwise, the SOA service arbitration result is to exit the currently running application, and after the currently running application exits, the application applying for arbitration executes the corresponding action by jointly calling the service.

[0153] Further, in some embodiments, the arbitration module 300 is used to: determine whether the priority of the currently running application is higher than the priority of the application applying for arbitration; if the priority of the currently running application is higher than the priority of the application applying for arbitration, the SOA service arbitration result is that the application applying for arbitration skips executing the action corresponding to the common call service; otherwise, determine whether the corresponding node of the common call service is a key node of the currently running application; if the corresponding node of the common call service is a key node of the currently running application, the SOA service arbitration result is that the application applying for arbitration executes the corresponding action through the common call service and exits the currently running application; otherwise, the SOA service arbitration result is that the application applying for arbitration executes the corresponding action through the common call service and the currently running application executes the execution nodes corresponding to the remaining services of the currently running application.

[0154] Furthermore, in some embodiments, the acquisition module 100 is used to: obtain a first scenario of the currently running application and a second scenario of the application applying for arbitration; based on the first scenario and the second scenario, determine whether the currently running application and the application applying for arbitration meet a preset coexistence condition; if the currently running application and the application applying for arbitration meet the preset coexistence condition, determine that the coexistence arbitration result is a coexisting application; otherwise, determine that the coexistence arbitration result is a non-coexisting application.

[0155] Furthermore, in some embodiments, the SOA service arbitration device 70 is also used to: determine whether there is atomic service arbitration; if there is atomic service arbitration, determine whether the atomic service currently requested to be called is allowed to be executed based on a preset atomic service arbitration relationship table; if the atomic service currently requested to be called is allowed to be executed, then execute the call to the atomic service, otherwise, refuse to call the atomic service.

[0156] According to the SOA service arbitration device of the embodiment of the present application, the current SOA service arbitration type is determined based on the coexistence arbitration results of the currently running application and the application requesting arbitration, and arbitration considerations are determined based on the priority of the currently running application, the priority of the application requesting arbitration, and the jointly called service. Based on the current SOA service arbitration type, the currently running application and the application requesting arbitration are arbitrated according to the arbitration considerations to obtain a SOA service arbitration result, so that the currently running application and the application requesting arbitration perform corresponding actions based on the SOA service arbitration result. This solves the problem of service conflicts in the background art that affect vehicle usage and user experience, effectively avoids conflicts between services, improves service call efficiency, and enhances user experience.

[0157] The present application also provides an electronic device 80, please refer to Figure 8 , including a memory 801, a processor 802, and a computer program stored in the memory 801 and executable on the processor 802.

[0158] When the processor 802 executes the program, the SOA service arbitration method provided in the above embodiment is implemented.

[0159] Furthermore, the electronic device further includes:

[0160] The communication interface 803 is used for communication between the memory 801 and the processor 802 .

[0161] The memory 801 is used to store computer programs that can be run on the processor 802.

[0162] The memory 801 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0163] If the memory 801, the processor 802, and the communication interface 803 are implemented independently, the communication interface 803, the memory 801, and the processor 802 can be connected to each other via a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 8 Only one thick line is used in the diagram, but this does not mean that there is only one bus or one type of bus.

[0164] Optionally, in a specific implementation, if the memory 801, the processor 802 and the communication interface 803 are integrated on a chip, the memory 801, the processor 802 and the communication interface 803 can communicate with each other through an internal interface.

[0165] The processor 802 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.

[0166] An embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the SOA service arbitration method introduced in any embodiment of the present application is implemented.

[0167] In this application, a plurality refers to two or more.

[0168] In this application, unless otherwise expressly defined, the terms "mounted," "connected," and "connected" should be interpreted broadly. For example, they can refer to fixed, detachable, or integral connections; mechanical or electrical connections; direct or indirect connections through an intermediary; and internal communication between two components. A person of ordinary skill in the art will understand the specific meanings of these terms in this application.

[0169] The terms "first," "second," "third," "fourth," etc. (if any) in this application are used to distinguish similar objects and are not necessarily used to describe a particular sequential order.

[0170] The term "and / or" in this application simply describes an association between related objects, indicating that three possible relationships exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this application generally indicates that the related objects are in an "or" relationship.

[0171] Unless otherwise specified, all steps of the present application may be performed sequentially or randomly. For example, a statement that the method includes steps A and B indicates that the method may include steps A and B performed sequentially, or steps B and A performed sequentially. For example, a statement that the method may also include step C indicates that step C may be added to the method in any order, for example, the method may include steps A, B, and C, or steps A, C, and B, or steps C, A, and B, etc.

[0172] The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present application should be included in the scope of protection of the present application.

Claims

1. A SOA service arbitration method, characterized in that: The following steps are involved: Obtaining the priority of the currently running application, the priority of the arbitration application, the coexistence arbitration result of the currently running application and the arbitration application, and the jointly invoked service; Determining a current SOA service arbitration type according to the coexistence arbitration result, and determining arbitration considerations based on the current SOA service arbitration type from the priority of the currently running application, the priority of the arbitration application, and the commonly called service; Based on the current SOA service arbitration type, the currently running application and the arbitration application are arbitrated according to the arbitration considerations to obtain an SOA service arbitration result, so that the currently running application and the arbitration application perform corresponding actions according to the SOA service arbitration result.

2. The method according to claim 1, characterized in that The determining of arbitration considerations based on the current SOA service arbitration type from the priority of the currently running application, the priority of the arbitration application, and the commonly called service includes: If the current SOA service arbitration type is application service arbitration, the priority of the currently running application and the priority of the arbitration application are used as arbitration considerations; If the current SOA service arbitration type is composite service arbitration, the priority of the currently running application, the priority of the arbitration application, and the jointly called service are used as arbitration consideration factors.

3. The method according to claim 2, characterized in that The current SOA service arbitration type is the application service arbitration. Based on the current SOA service arbitration type, the currently running application and the arbitration application are arbitrated according to the arbitration considerations to obtain an SOA service arbitration result, including: Determining whether the priority of the currently running application is higher than the priority of the application applying for arbitration; If the priority of the currently running application is higher than the priority of the arbitration application, the SOA service arbitration result is that the arbitration application stops executing the corresponding action; otherwise, the SOA service arbitration result is to exit the currently running application, and after the currently running application exits, the arbitration application executes the corresponding action through the common call service.

4. The method according to claim 2, characterized in that The current SOA service arbitration type is the composite service arbitration. The arbitration is performed on the currently running application and the arbitration application based on the current SOA service arbitration type and according to the arbitration considerations to obtain an SOA service arbitration result, including: Determining whether the priority of the currently running application is higher than the priority of the application applying for arbitration; If the priority of the currently running application is higher than the priority of the arbitration application, the SOA service arbitration result is that the arbitration application skips executing the action corresponding to the common call service; otherwise, it is determined whether the corresponding node of the common call service is a key node of the currently running application; If the corresponding node of the common call service is a key node of the currently running application, the SOA service arbitration result is that the arbitration application executes the corresponding action through the common call service and exits the currently running application; otherwise, the SOA service arbitration result is that the arbitration application executes the corresponding action through the common call service and the currently running application executes the execution nodes corresponding to the remaining services of the currently running application.

5. The method according to claim 1, wherein The obtaining of the coexistence arbitration result of the currently running application and the arbitration-applying application includes: Obtaining a first scenario of the currently running application and a second scenario of the arbitration application; Based on the first scenario and the second scenario, determining whether the currently running application and the arbitration application meet a preset coexistence condition; If the currently running application and the arbitration application satisfy the preset coexistence condition, the coexistence arbitration result is determined to be a coexisting application; otherwise, the coexistence arbitration result is determined to be a non-coexisting application.

6. The method according to claim 1, wherein Also includes: Determine whether atomic service arbitration exists; In the case where the atomic service arbitration exists, determining whether the atomic service currently requested to be called is allowed to be executed according to a preset atomic service arbitration relationship table; If the atomic service currently requested to be called is allowed to be executed, the atomic service is called; otherwise, the atomic service is refused to be called.

7. A SOA service arbitration device, characterized in that: include: An acquisition module, configured to acquire the priority of a currently running application, the priority of an application applying for arbitration, a coexistence arbitration result between the currently running application and the application applying for arbitration, and a jointly invoked service; a determination module, configured to determine a current SOA service arbitration type according to the coexistence arbitration result, and based on the current SOA service arbitration type, determine arbitration considerations from the priority of the currently running application, the priority of the arbitration application, and the commonly called service; An arbitration module is configured to arbitrate the currently running application and the arbitration application based on the current SOA service arbitration type and the arbitration considerations, obtain an SOA service arbitration result, and enable the currently running application and the arbitration application to perform corresponding actions according to the SOA service arbitration result.

8. The device according to claim 7, characterized in that The determining module is configured to: If the current SOA service arbitration type is application service arbitration, the priority of the currently running application and the priority of the arbitration application are used as arbitration considerations; If the current SOA service arbitration type is composite service arbitration, the priority of the currently running application, the priority of the arbitration application, and the jointly called service are used as arbitration consideration factors.

9. An electronic device, characterized in that: include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the SOA service arbitration method according to any one of claims 1 to 6.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: The computer program is executed by a processor to implement the SOA service arbitration method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Arbitration method and arbitration device for vehicle-mounted audio focus and electronic equipment

    CN114995779A

  • Service priority arbitration method based on SOA architecture

    CN116668545A