CN115150507A - Service scheduling method and system, electronic device and computer readable storage medium - Google Patents

Service scheduling method and system, electronic device and computer readable storage medium Download PDF

Info

Publication number
CN115150507A
CN115150507A CN202210495294.4A CN202210495294A CN115150507A CN 115150507 A CN115150507 A CN 115150507A CN 202210495294 A CN202210495294 A CN 202210495294A CN 115150507 A CN115150507 A CN 115150507A
Authority
CN
China
Prior art keywords
service
target
information
application
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210495294.4A
Other languages
Chinese (zh)
Inventor
王剑锋
李轩恺
郑爱华
董伟鑫
罗升阳
张晓帆
杨俊拯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202210495294.4A priority Critical patent/CN115150507A/en
Publication of CN115150507A publication Critical patent/CN115150507A/en
Priority to PCT/CN2022/141030 priority patent/WO2023216604A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72484User interfaces specially adapted for cordless or mobile telephones wherein functions are triggered by incoming communication events

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Environmental & Geological Engineering (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

The application discloses a service scheduling method, which comprises the following steps: determining a current application scene, and determining a service set corresponding to the application scene; determining a target service in the service set corresponding to a trigger event in the case that the trigger event is detected in the application scenario; determining initial calling information of the target service, and determining target calling information according to the initial calling information, wherein the target calling information is matched with electronic equipment running the target service; and running the target service according to the target calling information. The service scheduling method, the service scheduling system, the electronic device and the nonvolatile computer readable storage medium can rapidly determine the corresponding target service by determining the application scene and detecting the trigger event, so that the user experience can be improved, the target service can run in a cross-platform mode, and the use scene of the electronic device is expanded.

Description

Service scheduling method and system, electronic device and computer readable storage medium
Technical Field
The present application relates to the field of application technologies, and in particular, to a service scheduling method, a service scheduling system, an electronic device, and a non-volatile computer-readable storage medium.
Background
At present, when an electronic device runs an application or a service, the application needs to meet system requirements of the electronic device, but the calling modes or upper-layer abstraction modes of processes of different systems or platforms are generally different, and even the processes of the same system or platform have different calling modes or upper-layer abstraction modes. If the android system needs to run android applications or services, and the windows system needs to run windows applications or services, the electronic device is difficult to use the applications or services of different platforms at the same time, and the use scene of the electronic device is limited.
Disclosure of Invention
The embodiment of the application provides a service scheduling method, a service scheduling system, electronic equipment and a non-volatile computer readable storage medium.
The service scheduling method comprises the steps of determining a current application scene, and determining a service set corresponding to the application scene; determining a target service in the service set corresponding to a trigger event in the case that the trigger event is detected in the application scenario; determining initial calling information of the target service, and determining target calling information according to the initial calling information, wherein the target calling information is matched with electronic equipment running the target service; and running the target service according to the target calling information.
The service scheduling system of the embodiment of the application comprises a scene perception module, a service administration module and a service operation module. The scene sensing module is used for determining the current application scene and determining a service set corresponding to the application scene; the service administration module is used for determining a target service corresponding to a trigger event in the service set under the condition that the trigger event is detected in the application scene; determining initial calling information of the target service, and determining target calling information according to the initial calling information, wherein the target calling information is matched with electronic equipment running the target service; and the service operation module is used for operating the target service according to the target calling information.
The electronic device of the embodiment of the application comprises a processor. The processor is used for determining the current application scene and determining a service set corresponding to the application scene; under the condition that a trigger event is detected in the application scene, determining a target service corresponding to the trigger event in the service set; determining initial calling information of the target service, and determining target calling information according to the initial calling information, wherein the target calling information is matched with electronic equipment running the target service; and running the target service according to the target calling information.
The non-transitory computer-readable storage medium of embodiments of the present application contains a computer program that, when executed by one or more processors, causes the processors to perform a service scheduling method of: determining a current application scene, and determining a service set corresponding to the application scene; determining a target service in the service set corresponding to a trigger event in the case that the trigger event is detected in the application scenario; determining initial calling information of the target service, and determining target calling information according to the initial calling information, wherein the target calling information is matched with electronic equipment running the target service; and running the target service according to the target calling information.
In the service scheduling method, the service scheduling system, the electronic device and the non-volatile computer-readable storage medium according to the embodiments of the present application, the service set corresponding to the application scenario is determined by determining the current application scenario, and the target service responding to the trigger event is determined in the service set when the trigger event is detected in the application scenario, so that the corresponding target service is quickly determined by determining the application scenario and detecting the trigger event, thereby improving user experience. Moreover, it can be understood that the types of services of different platforms (such as an android platform, a server platform, and the like) are different, and if the service of the android platform cannot normally run on the server platform, the target service can stably run on the electronic device after the initial calling information of the target service is converted into the target calling information matched with the electronic device running the target service. Therefore, the target service can run in a cross-platform mode, and the use scene of the electronic equipment is expanded.
Additional aspects and advantages of embodiments of the present application will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of embodiments of the present application.
Drawings
The above and/or additional aspects and advantages of the present application will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
FIG. 1 is a schematic flow chart diagram of a service scheduling method in accordance with certain embodiments of the present application;
FIG. 2 is a schematic illustration of a service dispatch system of certain embodiments of the present application;
FIG. 3 is a schematic diagram of a connection between an electronic device and a server according to some embodiments of the present application;
FIG. 4 is a schematic illustration of the relationship of applications and services of certain embodiments of the present application;
FIG. 5 is a schematic flow chart diagram of a service scheduling method according to some embodiments of the present application;
FIGS. 6, 7 and 8 are schematic diagrams of scenarios of service scheduling methods according to some embodiments of the present application;
FIG. 9 is a schematic flow chart diagram of a service scheduling method according to some embodiments of the present application;
FIGS. 10 and 11 are schematic diagrams of a scenario of a service scheduling method according to some embodiments of the present application;
FIG. 12 is a schematic flow chart diagram of a service scheduling method according to some embodiments of the present application;
FIG. 13 is a schematic diagram of the structure of an application script in accordance with certain embodiments of the present application;
FIG. 14 is a schematic illustration of a service scheduling method in accordance with certain embodiments of the present application;
FIG. 15 is a schematic diagram of a scenario of a service scheduling method according to some embodiments of the present application;
FIG. 16 is a schematic flow chart diagram of a service scheduling method according to some embodiments of the present application;
FIGS. 17 and 18 are schematic illustrations of a service scheduling method according to some embodiments of the present application;
fig. 19-22 are flow diagrams illustrating a service scheduling method according to some embodiments of the present application;
FIG. 23 is a schematic diagram of a scenario of a service scheduling method according to some embodiments of the present application;
FIG. 24 is a schematic flow chart diagram of a service scheduling method in accordance with certain embodiments of the present application;
FIG. 25 is a schematic illustration of a service scheduling method in accordance with certain embodiments of the present application;
FIG. 26 is a schematic flow chart diagram of a service scheduling method according to some embodiments of the present application;
FIG. 27 is a schematic flow chart diagram of a service scheduling method in accordance with certain embodiments of the present application;
FIG. 28 is a schematic illustration of a scenario of a service scheduling method according to some embodiments of the present application;
FIG. 29 is a schematic diagram of a service scheduling method according to some embodiments of the present application;
FIG. 30 is a schematic block diagram of a service dispatch system in accordance with certain embodiments of the present application;
FIG. 31 is a schematic illustration of a service scheduling method in accordance with certain embodiments of the present application;
FIG. 32 is a schematic diagram of a connection state of a non-volatile computer readable storage medium and a processor of some embodiments of the present application.
Detailed Description
Reference will now be made in detail to embodiments of the present application, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below by referring to the drawings are exemplary only for the purpose of explaining the embodiments of the present application, and are not to be construed as limiting the embodiments of the present application.
With the popularization of mobile terminals, more and more applications are applied to the mobile terminals to meet the use requirements of people in daily life. For example, a map application implements navigation, a music application implements walkman, and the like. Under different application scenes, a user actively installs and runs corresponding applications according to actual requirements, and with the increase of the number of the installed applications, the user often needs to spend a lot of time to find the applications which can meet the current application scenes, so that the time cost of the user is increased, and the user experience is poor.
Referring to fig. 1, an embodiment of the present application provides a service scheduling method. The service scheduling method comprises the following steps:
011: determining a current application scene, and determining a service set corresponding to the application scene;
012: under the condition that a trigger event is detected in an application scene, determining a target service corresponding to the trigger event in a service set;
013: determining initial calling information of the target service, and determining target calling information according to the initial calling information, wherein the target calling information is matched with the electronic equipment 100 running the target service;
014: and running the target service according to the target calling information.
Referring to fig. 2, a service scheduling system 10 is provided in the present embodiment. The service scheduling system 10 includes a scene awareness module 11, a service administration module 12, and a service operation module 13. The service scheduling method according to the embodiment of the present application is applicable to the service scheduling system 10. Wherein, the scene sensing module 11 is configured to execute step 011; the service administration module 12 is configured to perform step 012 and step 013; the service execution module 13 is configured to execute step 014.
Referring to fig. 3, an electronic device 100 is further provided in the present embodiment. The electronic device 100 comprises a processor 20. The service scheduling method according to the embodiment of the present application may be applied to the electronic device 100. Processor 20 is configured to perform step 011, step 012, step 013, and step 014.
The electronic device 100 includes a housing 30. The electronic device 100 may be a cell phone, a tablet computer, a television, a display device, a notebook computer, a teller machine, a gate, a smart watch, a head-up display device, a game console, or a new device supporting VR and AR, etc. As shown in fig. 3, in the embodiment of the present application, the electronic device 100 is a mobile phone as an example, and it is understood that the specific form of the electronic device 100 is not limited to the mobile phone. The housing 30 may also be used to mount functional modules of the electronic device 100, such as a display device, an imaging device, a power supply device, and a communication device, so that the housing 30 provides protection for the functional modules, such as dust prevention, drop prevention, and water prevention.
Specifically, the service scheduling system 10 may be provided in the electronic device 100, or the service scheduling system 10 may be provided in the server 200 in the cloud, or the service scheduling system 10 may be provided in both the electronic device 100 and the server 200.
For example, the processor 20 includes a first processor 21 in the electronic device 100 and a second processor 22 in the server 200. The first processor 21 or the second processor 21 may perform steps 011 through 014; alternatively, the first processor 21 is configured to perform step 011, the second processor 22 is configured to perform step 012 and step 013, and the first processor 21 is configured to perform step 014 and the like.
The scene awareness module 11 may determine the application scene currently being located.
The application scenario may be a usage scenario in which the electronic device 100 is currently located, and the interaction information may be acquired and then the usage scenario may be determined according to the interaction information. For example, the usage scene may be determined according to the interaction information of the electronic device 100, and if the usage scene is a market, determined according to an image (or location information detected by a Global Positioning System (GPS)) identified by a camera of the current electronic device 100 or another electronic device 100 in communication connection with the current electronic device 100 (e.g., a mobile phone is the current electronic device 100, and a vehicle is the other electronic device 100), the application scene is determined to be a market scene; and if the determined use scene is the subway, determining that the application scene is the subway scene. Or, if the user input is received according to the electronic device 100 to determine the usage scenario, for example, when the gesture input, the touch input, the voice input, and the like of the user satisfy the preset condition, the corresponding usage scenario is determined, for example, the gesture is a two-finger tapping gesture, and the usage scenario is determined to be a cross-end screenshot scenario.
For example, the scene awareness module 11 may determine the current application scene according to the location information of the electronic device 100 (e.g., GPS information of a mobile phone or GPS information of a vehicle), and determine that the application scene is a garage when the location information indicates that the electronic device 100 is located in an underground garage. It can be understood that different application scenarios correspond to different service sets, for example, a garage scenario generally includes services such as "parking space navigation" and "vehicle management", and a subway scenario generally includes services such as "riding code" and "arrival prompt", so that the service set is determined according to the application scenario.
Service, is a technical concept. When a certain functional entity provides an interface which can be called externally, the parameters are transmitted, the function is executed and the result is returned. This interface, which can be called, is a service.
The entity providing the interface is referred to as a service provider. One service provider may expose a plurality of services to the outside. The entity type of the service provider is not limited.
The Service may be an android UI Service, a sensing Service, a cloud Service (e.g., a cloud Software as a Service (SaaS)), a voice Service, a systematization Service (e.g., an android application), a third-party Service (e.g., a *** browser plug-in), and the like.
For example, a plug-in the WPS OFFICE is exposed to the electronic apparatus 100 through the service gateway, and the electronic apparatus 100 calls the plug-in the WPS through the service gateway of the WPS, thereby implementing a corresponding service, such as a picture insertion service, a text insertion service, and the like.
The service is used as the minimum unit in the running process of the application and is used for realizing a specific task. For example, the parking space navigation service implements a navigation function, the vehicle management service implements vehicle locking/unlocking, the riding code service implements a function of popping up riding codes, the arrival prompt service implements a function of prompting a user to arrive at a station, the screen capture service implements a screen capture function of the device, and the screen projection service implements screen projection of display pictures among devices. For example, the map application includes a navigation service, an arrival reminding service, and the like.
The service invoked during the application running process may be a service on the current electronic device 100, or may be a service on another device. For example, in the running process of the application, the device screenshots of other devices can be obtained by calling the screenshot service on other devices, and the device screenshots of other devices can be displayed by calling the picture display service.
Referring to fig. 4, applications can be regarded as a set of services (e.g., application 1 to application 3 in fig. 4) for implementing specific business logic through calls between services. Unlike the conventional application which can only run on a specific operating system, the service of the application (such as application 3 in fig. 4) of the present application may be a service on a different operating system, that is, the application supports heterogeneous operating systems, and cross-platform running may be implemented.
Unlike the conventional application installation process, all services used in the operation process need to be installed locally in advance, the services in the application of the present application support dynamic deployment, that is, services corresponding to business logic are dynamically deployed to the current electronic device 100 based on the business logic executed by the current electronic device 100 in the operation process. Accordingly, when the functions of the same application are implemented by a plurality of devices, since business logic of different devices may be different, services deployed by different devices may also differ, that is, the services in the application have a characteristic of differential deployment.
It can be understood that the service set corresponding to the application scenario may be preset, may be determined based on the number of times and duration of use of the service used by the user in different application scenarios daily, and may be dynamically adjusted in any manner. For example, when the user uses the car code service every time the user enters or exits a subway scene, the car code service can be used as one of the service sets corresponding to the subway scene.
After determining the application scenario in which the electronic device 100 is located, a trigger event may be detected in the current application scenario, so as to determine a target service in the service set, which corresponds to the trigger event.
The triggering event and the service in the service set have an incidence relation, and the target service corresponding to the triggering event can be quickly determined according to the triggering event.
The trigger event may be an event generated by user interaction, such as a user clicking a display screen, a user inputting voice or a key, data collected by a sensor meeting a preset condition, and the like. The data acquired by the sensor meeting the preset condition may be that the ambient light brightness acquired by the ambient light sensor reaches a preset brightness, or that the current position is detected by the GPS to be located at a preset position, or the like.
For example, after determining that the user has entered a subway scene according to the position information detected by the GPS, it may be determined that the user wants to sit on the subway, thereby determining that a trigger event of the "riding code" service is detected, and at this time, determining the "riding code" service as the target service from the service set of the subway scene. When it is determined that the user has entered the subway according to the position information of the electronic device 100, the voice information of the microphone, and the like, it may be determined that the user may need to be reminded of arriving at the station, and therefore it may be determined that a trigger event of the "prompt to arrive" service is detected, and at this time, it is determined that the "prompt to arrive" service is a target service from a service set of a subway scene.
After determining the target service, if the target service is already installed in the electronic device 100, the target service may be directly run. When the target service is not installed, or in order to save the memory of the electronic device 100, the service may be stored in the cloud server 200, and when the electronic device 100 needs the service, the target service is acquired from the cloud server 200.
The services of different systems or platforms have different process upper layer abstract modes and different calling modes among processes, each service needs to preset initial calling information during registration, and the initial calling information can be information written during service registration. When the system or platform on which the target service operates is different from the current electronic device 100, the electronic device 100 cannot directly operate the target service according to the initial calling information, but needs to convert the initial calling information of the target service into target calling information matched with the target service, so that the target service can stably operate under the current electronic device 100.
In an example, the current electronic device 100 is an android system, the target service is a windows service, and the current electronic device 100 cannot directly use the windows service. After determining the initial calling information of the target service, the initial calling information needs to be converted. If the initial calling information can comprise an android parameter A, an android parameter B and an android parameter C, the target service cannot directly process the android parameter A, the android parameter B and the android parameter C.
Therefore, the current electronic device 100 (or the server 200) may convert the initial call information into the target call information, for example, convert the android parameter a, the android parameter B, and the android parameter C into the windows parameter a, the windows parameter B, and the windows parameter C, respectively, and then input the windows parameter a, the windows parameter B, and the windows parameter C into the target service, so as to implement the call of the target service.
It can be understood that the android parameter and the windows parameter may only be in different formats and actually contain the same content, and if the target service is a navigation service, when a destination is input for navigation, both the android parameter and the windows parameter include an actual "destination", so that it is ensured that the server 200 can correctly call the target service after converting the initial call information into the target call information, and a situation that the target service may obtain an incorrect call result when running the target service after conversion is avoided.
According to the service scheduling method, the service scheduling system 10 and the electronic device 100 in the embodiment of the application, the service set corresponding to the application scenario is determined by determining the current application scenario, and the target service responding to the trigger event is determined in the service set when the trigger event is detected in the application scenario, so that the corresponding target service is quickly determined and operated by determining the application scenario and detecting the trigger event, the time cost for a user to search for the target service is reduced, and the user experience is improved. Moreover, it can be understood that the types of services of different platforms (such as an android platform, a server 200 platform, and the like) are different, and for example, the service on the android platform cannot normally run on the server 200 platform, so that the target service can stably run on the electronic device 100 after the initial calling information of the target service is converted into the target calling information matched with the target service in the embodiment of the present application. In this way, the target service can run across platforms, and the use scene of the electronic device 100 is expanded.
Referring to fig. 2, 3 and 5, in some embodiments, step 011 includes:
0111: and acquiring the interactive information, and determining the current application scene according to the interactive information.
In some embodiments, the context awareness module 11 is further configured to perform step 0111.
In certain embodiments, processor 20 is configured to perform step 0111.
Specifically, the interaction information is used to indicate information generated by any interaction process of the electronic device 100, and may be information that can be acquired by the electronic device 100, for example, the interaction information includes at least one of input information, sensor information, status information, location information, and running information of an application of the electronic device 100.
Wherein, the input information may include: voice interaction information, text interaction information, touch interaction information, and the like, which are not limited herein. The sensor information may be an image captured by the camera 40 of the electronic device 100, or attitude information captured by an attitude sensor, or ambient light brightness information captured by an ambient light sensor, sound information captured by a microphone, or the like. The state information may be the current state of the electronic device 100, such as when the electronic device 100 is communicating with other devices, the time of the electronic device 100, the amount of power, etc. The location information indicates the location of the electronic device 100, such as a home, a company, a mall, or a specific location in a room. The running information of the application includes whether the current application completes a task (for example, whether the task of the navigation application is completed or not), whether the shopping application is completed or not by the current shopping cart, and the like.
In this embodiment, the application scenes may include a basic application scene and a high-level application scene, the basic application scene, such as environment, time, activity, traffic, location, nearby devices, etc., may be sensed through the interaction information of the electronic device 100, and the high-level application scene may be determined according to the basic application scene, for example, a high-level application scene order may be obtained through basic application scene time/location inference; shopping in the advanced application scene is obtained through basic application scene activity inference; obtaining a high-level application scene on duty through inference of a basic application scene vehicle; the method comprises the steps of obtaining high-level application scene tourist attractions through basic application scene position reasoning; and deducing and obtaining high-level application scene screen projection and the like through equipment near the basic application scene, which is not limited herein.
In some embodiments, the application scenario is determined by at least one of location awareness, vehicle awareness, activity state awareness, device posture awareness, nearby device awareness, environmental state awareness, and time awareness, which are not limited herein.
As an implementable way, the application scenario is determined according to the perceived location of the electronic device 100. The location awareness may locate the location of the electronic device 100 through a Global Positioning System (GPS) technology, may locate the location of the electronic device 100 through a beidou positioning system technology, and the like, and is not limited herein. For example, when the position information shows that the current station is at a subway station, determining that the application scene is a subway scene; and when the position information shows that the current position is in the garage, determining that the application scene is a garage scene.
As an implementable way, the application scenario is determined according to the perceived type of vehicle. The vehicle sensing can calculate the change speed of the electronic device 100 in the horizontal direction and the vertical direction through an acceleration sensor of the electronic device 100, determine whether the electronic device 100 is in a driving state by combining the technologies of machine learning and the like, and distinguish the types of vehicles, such as cars, buses, trains, airplanes and the like, by voice recognition when the electronic device 100 is determined to be in the driving state, wherein the environmental noises corresponding to different vehicles are different.
As an implementable way, the application scenario is determined from the perceived activity state. The activity state sensing may calculate the change speed of the electronic device 100 in the horizontal direction and the vertical direction through an acceleration sensor of the electronic device 100, and determine whether a user corresponding to the electronic device 100 is in a stationary state, a walking state, a running state, and the like by combining techniques such as machine learning, which is not limited herein. For example, while the user is in a stationary state, the application scene may be determined to be a sleep scene; when the user is in a running state, it may be determined that the application scene is a running scene.
As an implementable approach, the application scenario is determined from the perceived device state. The device state awareness may obtain the state of the electronic device 100 via the operating system of the electronic device 100. For example, whether the electronic device 100 is connected to an audio playing device, whether a wireless module of the electronic device 100 is connected, whether a screen of the electronic device 100 is lit, and the like are not limited herein. For example, when an audio playback device is connected to the electronic device 100, it is determined that the application scene is an audio playback scene.
As an implementable way, the application scenario is determined according to the perceived pose of the device. The device attitude sensing may be performed by using sensors such as an acceleration sensor, a gyroscope, and a magnetometer of the electronic device 100, and by combining technologies such as machine learning, to evaluate whether the electronic device 100 is right side up or down, and whether the electronic device is placed on a desktop or a pocket, a backpack, and the like, which is not limited herein. For example, when the electronic device 100 is facing down, the application scene is determined to be a mute scene.
As an implementable approach, the application scenario is determined from the perceived nearby devices. The nearby device senses that the nearby device can be identified through a broadcast, such as bluetooth, wiFi, etc., sent by the nearby device. The nearby device may include, for example, a smart phone, a smart television, a smart watch, a smart headset, a smart car, and the like, which is not limited herein. For example, when the nearby device is a smart television, the application scene is determined to be a screen projection scene.
As an implementable way, the application scenario is determined according to the perceived environmental state. The environmental status sensing may identify the current environmental status of the electronic device 100 through a barometer, a thermometer, an ambient light sensor of the electronic device 100. For example, when the environmental state is night, it is determined that the application scene is a night scene shooting scene.
As an implementable way, the application scenario is determined according to the perceived time. Time awareness can determine whether to be a weekday or a weekend, whether to be morning, afternoon, night, or night, etc., by acquiring the current system time of the electronic device 100, calculating information on the date, week, etc. And determining whether the holiday is a festival or a holiday or not according to the country or the region. For example, when the time is a working day and is a working time, the application scene is determined to be a working scene.
As a practical manner, when the interaction information is acquired, in addition to the position information, the orientation information and the movement information may also be acquired to further improve the accuracy of determining the application scene of the electronic device 100.
Specifically, referring to fig. 6, when it is determined that the current electronic device 100 is within the preset position range according to the position information, the target position corresponding to the preset position range may be obtained.
The position is divided into an absolute position and a relative position. The absolute position of an entity is relative to some fixed point in space. The relative position of one entity is relative to another entity and there is no need for a fixed point in space. The current electronic device 100 may first determine one or more preset location ranges F in the map, for example, a range in which the target entity a is located in the map of the current city (for example, a circular range with a preset radius centered on the target entity a (for example, 10 meters, 20 meters, 50 meters, and the like)), a location range in which a subway station is located, a location range in which a shopping mall is located, a location range in which a parking lot is located, and the like may be used as the preset location range F.
When it is determined that the position L1 corresponding to the position information is located within a certain preset position range F, a target position L2 corresponding to the preset position range F may be obtained, for example, the position L1 is located within the preset position range F of the subway station a, and the target position L2 corresponding to the preset position range F of the subway station a is an absolute position (such as longitude and latitude of the subway station a) of the subway station a, for example, the target position L2 is longitude and latitude of a predetermined position (such as a subway entrance) of the subway station a.
Then, when it is determined that the current electronic device 100 moves toward the target position L2 according to the orientation information and the movement information, it is determined that the current electronic device 100 is currently located in the application scene corresponding to the target position L2.
Towards a direction that describes the front of an entity. Thus, the entity is required to have a "face", e.g., the face of the user is on the face. Similar to location, the orientation of entities is divided into absolute and relative. The absolute orientation may be described by pitch, yaw and roll angles, while the relative orientation may be described using a quantitative description such as "the device is located directly in front of the user".
According to the connecting line and the orientation information of the position L1 and the target position L2 corresponding to the position information, whether the user faces the target position L2 can be accurately judged, if the connecting line L3 is judged to be located in the angle range D corresponding to the orientation information, whether the user faces the target position is determined, if the front of the user is 0 degree of yaw angle, the angle range D corresponding to the orientation information is from-30 degrees of yaw angle to 30 degrees of yaw angle, and if the connecting line L3 is located in the angle range D, the user can be determined to face the target position.
And under the condition that the user faces the target position, judging whether the user moves to the target position L2 according to the movement information, if so, determining the absolute position of the current electronic equipment 100 according to the position information, and determining the relative distance between the current electronic equipment 100 and the target position according to the absolute position of the current electronic equipment 100 and the absolute position of the target position.
The movement information may be change information of a relative distance between the current electronic device 100 and the target location, and in case that the user moves to the target location, the relative distance between the current electronic device 100 and the target location exhibits a tendency to decrease as time elapses, and it may be understood that the decrease as time elapses may be: as time passes the user approaches towards the target location; the following steps are also possible: as the road meanders, the user moves away from the target location and finally approaches the target location over time.
Under the condition that the user is determined to move towards the target position L2 and move towards the target position L2, it can be determined that the current electronic device 100 moves towards the target position L2, so as to determine an application scene corresponding to the current electronic device 100 at the target position L2, where the application scene is a subway scene if the target position L2 is a subway entrance of a subway station, and the application scene is a shopping mall scene if the target position L2 is an entrance of a shopping mall.
In one embodiment, when the current electronic device 100 detects a preset operation instruction, acquiring interaction information through the electronic device 100 (such as the current electronic device or other electronic devices 100 communicatively connected to the current electronic device 100), and determining an initial application scenario where the current electronic device 100 is currently located according to the interaction information; outputting prompt information according to the initial application scene, and acquiring input information input according to the prompt information; and determining the current application scene of the electronic equipment according to the input information.
Specifically, the preset operation may be a "shake-shake" operation, which may obtain a variation of the acceleration of the current electronic apparatus 100, and determine that the preset operation instruction is detected when the variation of the acceleration is greater than the preset variation.
When the current electronic device 100 detects the preset operation instruction, the current electronic device 100 collects the interaction information, and determines the initial application scenario where the current electronic device 100 is located according to the interaction information, so that power consumption of the current electronic device 100 can be saved. The method for determining the initial application scenario is similar to the method for determining the application scenario according to the position information, the orientation information, and the movement information in the previous embodiment, and is not described herein again.
Referring to fig. 7, at this time, the initial application scenario determined by the current electronic device 100 may not be accurate, and therefore, the current electronic device 100 may output a prompt message on the display screen, for example, the prompt message may include a name of the initial application scenario and a determination button, and after seeing the prompt message, the user may click the corresponding determination button, so as to input the input information according to the prompt message, and thus determine the final application scenario according to the input information. If the prompt information is 'whether the application scene is a subway scene', the confirmation button comprises 'yes' and 'no', if the user clicks 'yes', the input information is that the application scene is the subway scene, and if the user clicks 'no', the input information is that the application scene is not the subway scene.
Referring to fig. 8, further, the prompt message may further include an input box K, and after the user clicks "no", the user may input the name of the application scene according to the application scene where the user is actually located, so that the application scene is accurately determined according to the input message when the application scene is determined to have a deviation.
Referring to fig. 2, 3 and 9, in some embodiments, step 011 further includes:
0112: determining an application script corresponding to an application scene, wherein the application script comprises at least one service identifier;
0113: and taking a set formed by services corresponding to all the service identifications in the application script as a service set.
In some embodiments, the scene awareness module 11 is further configured to perform step 0112 and step 0113.
In certain embodiments, processor 20 is configured to perform steps 0112 and 0113.
Specifically, the application script may include at least one service identifier, and each service in the application script may be found in the application market of the server 200 through the service identifier, and each service identifier may have a corresponding service; the application script may further include control logic for controlling between services in the service set corresponding to the application scenario, for example, a general service logic is described in a script language. The script language can be xml or javascript. The calling and management relations among the services are realized through the application script, and the application script describes a section of general business logic.
When determining the application script corresponding to the application scenario, a service list corresponding to the application scenario may be determined first, where the service list includes at least one service identifier corresponding to the service, and the application script corresponding to the application scenario may be generated according to the at least one service identifier included in the service list.
When the application script is generated according to the service list, firstly, an initial application script corresponding to the application scene is generated according to the service identifier in the service list, and then, the initial application script can be adjusted according to the editing data of the initial application script and/or the user portrait data of the current user, so that the edited application script is obtained, and the edited application script is the application script corresponding to the application scene.
The current editing data can be determined according to input information of a user, interaction information collected in an application scene, historical editing data of the application script by the user and the like.
That is, as the user continuously uses the electronic device, the edit data and the user portrait data of the user are continuously updated, and the service set corresponding to each application scene is also continuously updated, so that personalized service sets are determined for different users of the same application scene, and user experience is improved.
In one embodiment, the edit data may also be determined based on a user's subscription to the service.
The subscription initiator device may obtain a service list of all services by accessing the application store server, and then receive a subscription operation for the services in the service list, and generating an application script corresponding to the application according to the service identifier corresponding to the service subscribed by the user. It is to be understood that one service may be used alone as one application in the application store, and that a plurality of services subscribed to by the user can also be used as one application in the application store.
Illustratively, as shown in fig. 10, a user may access an application store, and search all services corresponding to a specific application scenario (e.g., scenario a) in an application store interface 71 through a search box 72 to form a service list, wherein each service corresponds to a subscription button 73. After the service receives the click operation of the user on the subscription button 73, the subscription button 73 is changed into a unsubscribe button 74, which indicates that the service is subscribed, and the subscription of the corresponding application can be cancelled by clicking the unsubscribe button 74. And generating an application script corresponding to the application scene according to the service identification corresponding to the subscribed one or more services.
Referring to fig. 11, when the device detects that the application subscription of the user changes, the application script of the application newly subscribed by the user is downloaded to the device from the application store.
For example, after detecting that the application subscriptions of the device a and the device B are changed, the cloud (e.g., the server 200) sends the service identifiers of the applications newly subscribed to by the device a and the device B to the device a and the device B through a change notification, and then the device a and the device B download corresponding application scripts from an application store according to the corresponding service identifiers, so as to complete application deployment.
After the application script is determined, a set formed by services corresponding to at least one service identifier included in the application script can be used as a service set. For example, a plurality of service identifiers corresponding to the control logic of the trigger may be regarded as one service set, or a plurality of service identifiers corresponding to the control logic of all triggers in the application script may be regarded as one service set.
Referring to fig. 2, 3 and 12, in some embodiments, step 012 includes:
0121: under the condition that a trigger event is detected in an application scene, triggering a target trigger corresponding to the trigger event in an application script;
0122: and calling a corresponding target control logic in the application script through the target trigger, and determining a target service corresponding to the trigger event in the service set according to the target control logic.
In certain embodiments, service administration module 12 is configured to perform steps 0121 and 0122.
In certain embodiments, processor 20 is configured to perform steps 0121 and 0122.
Specifically, referring to fig. 13, the application script may be composed of a plurality of triggers (e.g., trigger a, trigger B, trigger C, and trigger D in fig. 13), and each trigger is composed of a plurality of services controlled by a trigger event, control logic, and control logic. The service in the application script is not the service itself, but the service identifier of the service (e.g., service 1, service 2, and service 3 in fig. 13).
The trigger event includes an event generated by interaction (such as arrival at a specific location, time, user interaction input, etc.), and the control logic is a business logic corresponding to the trigger, and is generally formed by combining a plurality of services according to a specified logic. When a certain trigger event occurs, a specific trigger is triggered, so that a corresponding control logic is executed, and a corresponding service is called according to the control logic.
Referring to fig. 14, there is a correlation between the services of the multiple triggers in the application script, and they cooperate to complete a scene application. This scenario applies, and needs to respond to a plurality of different events (i.e. trigger events), each event corresponding to an action (such as the action in fig. 14). By creating different triggers and combining them together, a complete application is formed.
Such as a scene application that meets the user's needs of "music with him". The triggering event is that when the user is in the living room, the action is that sound is streamed to sound equipment in the living room for playing, when the user walks to the bedroom, the action is that sound is streamed to the sound equipment in the bedroom for playing, and when the user leaves the room, the action is that sound is streamed to a mobile phone and a Bluetooth headset for playing.
Under the application scene, under the condition that a trigger event is detected, a target trigger corresponding to the trigger event in an application script can be triggered; and calling the target control logic corresponding to the target trigger through the target trigger so as to determine the target service corresponding to the trigger event in the service set through the target control logic.
For example, after the trigger event shown in fig. 13 is triggered, a target trigger (i.e., trigger a) corresponding to the trigger event in the application script may be determined, and then a target control logic (i.e., control logic in fig. 13) corresponding to the trigger a is called through the trigger a, so that a target service (e.g., service 1, service 2, etc.) corresponding to the trigger event in the service set is determined through the target control logic.
It is understood that the number of the services controlled by the target control logic may be multiple, and the multiple services are executed according to the target control logic, for example, the multiple services controlled by the target control logic have a sequence, and may be executed sequentially in the sequence. Thus, the target service to be executed currently can be determined according to the target control logic.
Optionally, the trigger event may also be an event triggered by a user, such as a tapping event, a shaking event, and the like, or an event output after a service is called, such as an event returned after a service call corresponding to a previous trigger is completed, which is not limited in this embodiment.
The services in the application of the present application are connected in series by the control logic, and the device to which the services are deployed can be determined only when the application script is executed, so that the service set called by the control logic will be deployed at this time after the application script is downloaded by the current electronic device 100. After the application runs, different services can be deployed to the same device or differentially deployed to different devices according to the requirements of control service logic, different tasks are executed on different devices, and the deployment process is dynamic. If there is a device deployment service failure on multiple devices, the user will be prompted that the current service is unavailable.
For example, referring to fig. 15, for a cross-end screenshot application, the services invoked to implement the cross-end screenshot include a double-finger tap service, a picture display service, and a screenshot service. When a user account subscribes to a cross-terminal screen capture application, a mobile phone, a tablet, a vehicle machine and a television under the user account all download corresponding application scripts, and after the application scripts are downloaded, a double-finger tapping service is deployed in advance based on an initial trigger.
When a user double-finger taps a screen of the mobile phone, it is determined that a trigger event is a cross-end screenshot, and the mobile phone determines that an executed business logic is a screenshot service requesting to call other equipment (such as a tablet, a car machine, a television and the like) side based on a target trigger and a target control logic in an application script.
After receiving the request, other devices determine that the triggering event is 'screenshot', determine that the executed business logic is a screen-capturing service deployed based on a target trigger and a target control logic in the application script, run the screenshot service to capture the current interface, and send the screenshot to the mobile phone.
After receiving the screenshot, the mobile phone determines that the trigger event is a display image, determines that the executed business logic is a deployed picture display service based on a target trigger and a target control logic in the application script, and runs the picture display service to display the screenshot. Therefore, cross-end screen capture can be realized through dynamic deployment of the service.
Referring to fig. 2, 3 and 16, in some embodiments, step 013 includes:
0131: initiating a target calling request for a target service, wherein the target calling request comprises initial calling information of the target service;
0132: and calling the corresponding service proxy according to the initial calling information in the target calling request, and determining the target calling information corresponding to the initial calling information through the service proxy.
In certain embodiments, service remediation module 12 is also configured to perform steps 0131 and 0132.
In certain embodiments, processor 20 is configured to perform steps 0131 and 0132.
Specifically, referring to fig. 17, after the service is registered, the electronic device 100 may directly invoke the service; or after the registered service is served by the user to form an entire application, the application is called, for example, in the subscription manner shown in fig. 10, to generate one or more application scripts corresponding to different application scenarios. Then, the electronic device 100 quickly determines a target service according to the application scenario and the trigger event.
After determining the target service, the processor 20 may first initiate a target call request for the target service, where the target call request includes initial call information of the target service, and the initial call information may include basic attributes of the service, such as a service name, a service ID, a service description, and the like; the calling mode of the service, such as calling protocol type, some private parameters of the protocol, etc.; the parameters of the service define: such as an access list (e.g. parameter ID, parameter name, parameter type, etc.) of the service, an access list (e.g. parameter ID, parameter name, parameter type, etc.), a conversion rule between service type parameters (e.g. conversion script, description, service ID, etc.), etc.
In order to realize compatibility between services of the same type, conversion rules between parameters of a current service and standard parameters (i.e. conversion rules between service type parameters) are defined during service registration. For example, the navigation service includes a navigation service a and a navigation service B, the destination parameter in the navigation service a is "destination", the destination parameter in the navigation service B is "final location", and by establishing a conversion rule between the parameter of the navigation service a and the standard parameter, and between the parameter of the navigation service B and the service type parameter between the standard parameter, parameter compatibility between the services is realized, and the navigation service a and the navigation service B can be called through the standard parameter. If the standard parameter 'reach point' is used, the navigation service A and the navigation service B can be called for destination navigation.
For example, the parameters of the service are defined as follows:
parameter name Data type
Service name Character string
Service ID Character string
Service classification Shaping machine
Creation time Shaping machine
Service description Character string
List of entries Array of elements
Parameter ID Character string
Type of parameter Character string
Name of parameter Character string
List of participating Array of elements
Parameter ID Character string
Type of parameter Character string
Parameter name Character string
Input/output conversion list Array of elements
Description of the invention Character string
Conversion script Character string
Service ID Shaping machine
The initial calling information may be stored in the electronic device 100, or the initial calling information may be stored in the server 200, and the processor 20 may further receive the initial calling information corresponding to the target service transmitted by the server 200.
Then, the processor 20 calls a service agent corresponding to the initial calling information according to the initial calling information in the target calling request, so that the initial calling information is converted into the target calling information through the service agent.
It is to be appreciated that the service agent can be deployed locally, such as at the electronic device 100; alternatively, the service agent may be disposed in the server 200 in the cloud, the processor 20 sends the target call request to the server 200, and the server 200 calls the corresponding service agent according to the target call request to convert the initial call information into the target call information.
With continued reference to fig. 17, it may be understood that, in order to enable the application to support a heterogeneous operating system, so as to implement cross-platform operation, a target invocation request in a uniform format is required when performing service invocation, and the service gateway may convert the target invocation request in the same format into a real service invocation, that is, a service invocation conforming to the current platform service specification, through a service agent deployed locally (e.g., the electronic device 100) or the server 200.
After the service proxy conversion, the initial calling information can be directly converted into the target calling information for the current electronic device 100 to directly run the target service, so that the target service can meet the platform service specification of the current electronic device 100.
If the Messenger service, the deeplink service, etc. shown in fig. 17 are invoked, interface adaptation is performed according to the service agent of the service gateway, so that the target invocation request conforms to the real service invocation of the Messenger service, the deeplink service, etc., and the Messenger service, the deeplink service, etc. are invoked correctly.
In some embodiments, the initial invocation information includes a service type and registration invocation information; the service type may include android system service, windows system service, and the like, and the registration invocation information includes the above-mentioned basic attributes of the service, invocation manner of the service, and parameter definition of the service.
Based on the type of service required to provide the service, the electronic device 100 may be deployed with different service agents as needed, where the different service agents correspond to different programming development languages (such as java, js, php, C + +, and the like), or the different service agents correspond to different deployment modalities (such as applets, browser plug-ins, applications, and the like), or the different service agents correspond to different operating environments (such as virtual machines, browsers, operating systems, containers, and the like).
And because different operating systems have different upper-layer abstract modes of own processes and different calling modes among the processes, the same calling request is converted into different concrete real calls inside the service gateway. The conversion of each service type can be completed by a designated service agent, and the service agents can be increased or decreased according to the actual deployment condition, for example, a service gateway of windows only needs to deploy service agents related to windows, and a service gateway of Android only needs to deploy service agents related to Android.
Illustratively, as shown in fig. 18, the Service gateway may include at least one of an Android Service agent, a cloud restful agent, an Android dynamic Service agent, and a Web dynamic Service agent. For example, for the Android Service, the Android Service may convert the initial call information into the target call information, so as to adapt to the electronic device 100 of different systems or platforms. For another example, for the cloud restful service, the initial call information may be converted into the target call information by the cloud restful agent, so as to adapt to the electronic device 100 of different systems or platforms. Are not listed here.
In some embodiments, the service may be invoked through an interface exposed by the service.
For example, an interface exposed to the outside by the RestFul service of the cloud is defined as the following format:
Figure BDA0003632766120000101
an interface exposed to the outside by the Deeplink service of the android terminal is defined as the following format:
Figure BDA0003632766120000102
the type information represents the actual interface type of the service, and the attributes to be configured are different according to different types. Provider type information indicates which application can support this service, e.g. navigation class services may be provided by gold or hundredths. The link information refers to an address of the access cloud. The link standard information refers to a calling method of the link.
When the exposed interface of the target service is called, the service gateway selects a corresponding service proxy according to the service type (type information in the corresponding interface definition) in the initial calling information, and then the service proxy converts the registered calling information into the target calling information which is suitable for the interface type of the real service provider.
Therefore, the service provider does not need to make interface adaptation modification, and can quickly determine an accurate service agent only by indicating the information during registering the service, so as to realize the conversion from the registered calling information to the target calling information, and finally, the target service is operated according to the target calling information, such as calling the interface exposed by the target service and inputting the target calling information (such as input parameters) to the interface, and the target service outputs output parameters according to the input parameters, so as to realize the calling of the target service.
In this way, the target service can be normally operated by the electronic device 100 of any system or platform, and cross-platform operation of the target service is realized.
Referring to fig. 2, 3, and 19, in some embodiments, the validity verification includes the following:
015: carrying out validity verification on the target calling request through the target service gateway;
016: and under the condition that the target calling request is verified by the target service gateway, executing calling of a corresponding service proxy according to initial calling information in the target calling request, and determining target calling information corresponding to the initial calling information through the service proxy.
In some embodiments, service remediation module 12 is further configured to perform steps 015 and 016.
In certain embodiments, processor 20 is configured to perform steps 015 and 016.
Specifically, before the conversion from the initial calling information to the target calling information is performed, the target service gateway may perform validity verification on the target calling request, and continue to perform the conversion from the initial calling information to the target calling information through the service agent corresponding to the initial calling information when the validity verification passes. The validity verification may be to authenticate whether the user of the electronic device 100 is valid, and the electronic device 100 that passes the validity verification can access the service gateway.
The validity verification may also be performed:
and in the case that the target service gateway is the service gateway of the current electronic device 100, performing validity verification on the target call request through the target service gateway. For example, the service gateway of the electronic device 100 is the service gateway for invoking the target service.
In the case that the target service gateway is a service gateway of the external electronic device 100, the target invocation request is sent to the external electronic device 100, and a processing result returned by the external electronic device 100 is received, where the processing result is obtained by the external electronic device 100 responding to the target invocation request when the validity verification of the target invocation request by the target service gateway passes.
That is, the service invocation and the validity verification of the gateway are respectively performed at different service gateways, and under the condition that the service gateway of the external electronic device 100 performs validity verification, the target invocation request can be sent to the external electronic device 100, so that whether validity verification passes or not is determined according to the processing result, and when validity verification passes, the processing result is responded, so that subsequent conversion from the initial invocation information to the target invocation information is performed.
Referring to fig. 2, 3 and 20, in some embodiments, step 014 includes:
0141: under the condition that the target service is of the first service type, running the target service according to the target calling information;
0142: and under the condition that the target service is of the second service type, determining a host service corresponding to the target service, and under the condition that the host service is in a running state, running the target service according to the target calling information.
In certain embodiments, the service execution module 13 is further configured to perform steps 0141 and 0142.
In certain embodiments, processor 20 is configured to perform steps 0141 and 0142.
Specifically, the service includes different service types, for example, the service includes a first service type and a second service type, the first service type may be a dynamic service, and the second service type may be a static service.
The static service is a pre-installation service, the calling of which depends on the host application and needs to be installed, and the static service can be called only when the host service in the host application runs.
The dynamic service refers to a service supporting dynamic deployment, and can be dynamically deployed in the device in the application running process. The dynamic service is a service supporting dynamic deployment, the calling of the dynamic service does not depend on a pre-installed application, and the called dynamic service can be uniformly stored in the server 200 in the cloud. Under the condition that the target service is of the first service type, the target service can be directly obtained from the server 200 and dynamically deployed, so that the target service is directly operated according to the target calling information.
In one possible embodiment, the target service is a static service, i.e., a pre-installed service that defines the hosting application and the access path. The service management module 12 is configured to manage a static service provided by a host application in the local device, after obtaining the target call information, the service management module 12 queries a target service in the local device, then determines a host service corresponding to the target service, and before running the target service, needs to run the host service first, thereby ensuring that the target service can be run normally according to the target call information.
Optionally, if the target service is successfully started, the electronic device 100 may determine a target service agent corresponding to the target service according to initial calling information (a service type in the initial calling information) of the target service, perform parameter conversion through the target service agent, and obtain a target service code set corresponding to the target service, which is stored in the electronic device 100 currently, based on a host application and an access path (an interface exposed by the target service) corresponding to the target service, so as to call the target service by running the target service code set.
Optionally, if the target service fails to be started or the target service does not satisfy a pre-installation condition (for example, the target service is not available due to the host application not being installed, the host service not running, or the like), the electronic device 100 performs a failure prompt.
In one illustrative example, the calling process for a static service is shown in FIG. 21.
Step 1801, a target call request for the target service is initiated to the service gateway.
Step 1802, the service gateway verifies whether the request is legal; if the result is legal, the step 1803 is executed, and if the result is illegal, the step 1809 is executed.
Step 1803, detecting whether the hosting service is started; then the target service is started and step 1804 is performed; if not, the target service is prompted to fail to be started.
Step 1804, detecting whether there is a target service agent corresponding to the target service; if yes, go to step 1805; if not, go to step 1809.
Step 1805, convert the initial call information in the target call request to target call information through the target service agent.
Step 1806, the target service is called based on the converted target calling information to obtain the output parameters.
Step 1807, output parameter conversion is performed by the target service agent to generate a call result.
Step 1808, return the call result.
Step 1809, return call failed.
In another possible embodiment, the target service is a dynamic service, and the service administration module 12 obtains, from the server 200, a target service code set corresponding to the target service, which is sent by the server 200, and runs the target service code set according to the target invocation information, thereby implementing invocation of the target service.
Optionally, the electronic device 100 needs to determine a target service agent corresponding to the target service according to the initial invocation information of the target service, and perform parameter conversion through the target service agent, so as to output the converted target invocation information, so as to invoke the target service based on the target invocation information.
In one illustrative example, the invocation of the dynamic service is illustrated in FIG. 22.
Step 1901, a target invocation request is initiated to the service gateway.
Step 1902, the service gateway verifies whether the request is legal; if so, go to step 1903, and if not, go to step 1910.
Step 1903, detecting whether there is a target service agent corresponding to the target service; if so, go to step 1904; if not, go to step 1910.
Step 1904, convert the initial invocation information in the target invocation request into target invocation information through the target service broker.
Step 1905, detecting whether a target service is deployed; if so, go to step 1906; if not, go to step 1907.
Step 1906, the target service is called based on the converted target call information to obtain the output parameters.
Step 1907, download and deploy the target service from the application repository, and invoke the target service based on the converted target invocation information to obtain the output parameters.
Step 1908, perform output parameter transformation by the target service agent to generate a calling result.
Step 1909, return the call result.
Step 1910 returns a call failure.
For different service call types, there are differences in subsequent steps after the electronic device 100 completes the service call. In a possible implementation manner, in a case that the target service is a synchronous call service, the electronic device 100 obtains a call result of the target service, so as to call a next service based on the call result (until the call of all services under the trigger is completed); in the case that the target service is an asynchronous call service, the electronic device 100 acquires a service output event of the target service, thereby triggering a trigger in the target application script through the service output event.
The service return value may be data, a file, an instruction, and the like, for example, the return value of the screen capture service may be a captured picture; the trigger triggered by the service output event may be a trigger other than the target trigger, or may be the target trigger, which is not limited in this embodiment.
Referring to fig. 23 and 24, in some embodiments, the main flow of service operation is as follows:
at step 2101, a trigger event triggers a specific trigger in device A.
At step 2102, device A executes the control logic for the trigger.
In step 2103, device a executes the service logic according to the control logic, changes the state information and synchronizes. The state information on one or more devices is peer-to-peer, all state information required for application running can be maintained, and when the state information on one device changes, the state information of all devices is synchronized to the latest state through data synchronization.
In one example, as shown in fig. 25, when different devices in the same user account run the same application, device a deploys service 1 and service 2, device B deploys service 1 and service 3, and device C deploys service 4 and service 5. When the service 3 in the device B is called, the output event of the service 3 changes the state information, and the device B synchronizes the state information to the device a and the device C in a data synchronization manner, so that the device a and the device C update their own state information. When the service 5 in the device C is called, the output event of the service 5 changes the state information, and the device C synchronizes the state information to the device a and the device B in a data synchronization manner, so that the device a and the device B update their own state information.
Through the synchronization mechanism, each device under the user account is equivalent, and the operation of the application is not influenced by the disconnection of a single device. For example, when the screen image of the other device is captured and transmitted to the current electronic device 100 by double-finger tapping, the user taps any one device to complete the operation, and any device is disconnected without affecting the normal screen capture of the other device.
Step 2104, the service administration module calls the target service according to the control logic, and the target service can be called through the service gateway. For example, the service administration module calls service 2 of device C through the service gateway. The target service may be one or more, presented in a list. If the service list has only one service, the service is directly called, and if a plurality of services exist, the appropriate service is selected according to the strategy.
Two strategies are provided at present, wherein the strategy 1 is to pop up a service list to allow a user to select the service list; the policy 2 assists the user to automatically determine the target service according to data such as user information, device information, user behavior, service information, and the like, for example, the target service is determined according to historical usage information of the user when running the target service.
Step 2105, for synchronous invocation, the application runtime directly obtains the return value of the service, and uses this return value as an input parameter as an input value of the subsequent service, if there is a subsequent service logic, the process returns to step 1003, otherwise, the execution is ended.
Step 2106, for asynchronous invocation, after the invoked service completes the service, it sends a trigger event to device a, and device a responds to the trigger event and triggers a specific trigger, and returns to step 1001 again.
Referring to fig. 2, 3 and 26, in some embodiments, the initial invocation information includes registration invocation information and/or dynamic invocation information; step 013 comprises:
0133: acquiring registration calling information of a target service stored in the current electronic device 100, and/or acquiring dynamic calling information generated by other services; the registration calling information is used for representing attributes related to the target service, and the dynamic calling information is used for representing input variables required by running the target service;
0134: and determining target calling information according to the registration calling information and the dynamic calling information.
In certain embodiments, the service administration module 12 is also configured to perform steps 0133 and 0134.
In certain embodiments, processor 20 is configured to perform steps 0133 and 0134.
Specifically, the initial calling information includes registration calling information and/or dynamic calling information; the specific content of the registration call information is referred to the foregoing description, and is not described herein again. The dynamic call information includes input variables generated by other services or the electronic device 100, for example, the input variables of the target service are relevant parameters generated by other services in the target service set except the target service.
When the target service is operated according to the target calling information, the input variable is input into the target service, and the output variable can be obtained, so that the operation of the target service is realized.
The specific calling process may be: the exposed interfaces of the target service are: POST http:// xxx.x.x.x.x.8888/service/call, the interface needs to obtain the following information:
{ A: string,// type information
String,// call the apparatus of the service, if call the apparatus of the target service for the present electronic device 100, set up as "local" or set up as empty, if confirm call the target service for other apparatuses, need to point out other ID of apparatus, such as when the wrist-watch connected with mobile phone calls the target service, input the ID of the wrist-watch and can call the target service through the direct control wrist-watch of the mobile phone.
C [ ],// reference list for service invocation (i.e., input variable) }
It can be seen that when a target service is called through an interface, it is necessary to specify the service type, the device where the service is located (a certain device calling the target service may be specified or a certain device may be filtered out), and an entry list, where the entry list may include input variables.
The target service can output the output parameters according to the information, if the current electronic device 100 calls a cloud map service to perform navigation, the type information is cloud restful, the device calling the service is local, the input variable includes a destination address, and the target service outputs a navigation route and a surrounding map as the output parameters, so that navigation is realized.
In an example, for a subway scene, after a user boards a subway, it is determined that a target service is an arrival reminding service, when the user arrives at each station, arrival reminding is performed, that is, when the arrival reminding service is called, the arrival reminding service outputs station information according to position information (that is, as an input variable) input by the electronic device 100, and when the output station information is a destination station, a bus code service is called according to the destination station (that is, as an input variable), so as to output bus code information.
In another example, for a cross-terminal screenshot scene, if a trigger event of the cross-terminal screenshot is detected (for example, the current electronic device 100 receives a screenshot gesture), the screenshot gesture service is executed, and the screenshot gesture is used as an input variable to request to call a screenshot service of another electronic device 100 (for example, a device that logs in the same account as the current electronic device 100), and the screenshot service sends a screenshot to the current electronic device 100 after the screenshot is screenshot according to the screenshot gesture.
For ease of understanding, please refer to fig. 27, which illustrates the overall operation flow of the service scheduling method according to the present application.
As shown in steps S1 and S2, the service of the present application is developed by the service developer and uploaded to the server 200. The narrow meaning refers to that a developer develops according to a preset service framework; the service development method is broadly used for services developed by general service developers, namely the services which are not developed according to a preset service framework.
Step S3, the scene sensing module 11 senses an application scene.
In step S4, the electronic device 100 detects a trigger event according to the interaction information.
Step S5, after detecting the trigger event, the service administration module 12 may determine the trigger corresponding to the trigger event, so as to determine one or more target services corresponding to the control logic in the trigger.
Step S6, if the electronic device 100 does not have the target service locally, downloading the target service from the server 200 and deploying the target service to the electronic device 100.
And S7, if a plurality of target services exist, determining the target services according to user selection, or automatically assisting the user to automatically determine the target services according to data such as user information, equipment information, user behaviors, service information and the like.
Step S8, deploying the target service to the electronic device 100 and calling the target service, where the target service may be deployed in the current electronic device 100 or in other devices of different systems or platforms, so as to implement cross-platform operation.
Step S9, when the target service is called, the service administration module 12 may send a target call request to the service gateway.
Step S10, the service gateway determines a service proxy corresponding to the service type in the target call request, and the service proxy converts the registration call information into the target call information and sends the target call information to the service running module 13.
Step S11: the service execution module 13 executes the target service according to the target call information.
Referring to fig. 28 and fig. 29, in an example, the scene sensing module 11 of the electronic device 100 determines that the vehicle arrives at the position of the mall according to the position information, so as to determine that the application scene is a shopping scene, when the user arrives at the entrance of the parking lot, the service administration module 12 detects that the trigger event is "parking space navigation", the service administration module 12 determines a trigger corresponding to the "parking space navigation", and determines one or more target services (such as navigation services) corresponding to control logic in the trigger, and if the electronic device 100 does not deploy navigation services locally, the navigation services are downloaded from the server 200 and deployed.
After the navigation service deployment is completed, the service management module 12 calls the navigation service, the service management module 12 sends a target calling request to the service gateway, the service gateway determines that the service type in the target calling request corresponds to the service proxy, the service proxy converts the registration calling information into the target calling information and sends the target calling information to the service operation module 13, and the service operation module 13 operates the navigation service to guide the user to park in an empty parking space.
After the parking is completed, the service administration module 12 detects that the trigger event is "shopping" (for example, the location corresponding to the location information of the electronic device 100 is located at the door of the shopping mall), the service administration module 12 determines a trigger corresponding to "shopping", determines one or more target services (for example, shopping services) corresponding to the control logic in the trigger, and downloads and deploys the shopping services from the server 200 if the shopping services are not deployed locally by the electronic device 100.
Finally, the service administration module 12 invokes the shopping service, the service administration module 12 sends a target invocation request to the service gateway, the service gateway determines that the service type in the target invocation request corresponds to the service agent, the service agent converts the registration call information into target call information and transmits the target call information to the service execution module 13, and the service execution module 13 executes a shopping service to guide the user to shop.
When the shopping service operates, a shopping guide interface is displayed, the shopping guide interface displays the subareas of different commodities of the current market, after a user clicks any one of the subareas, the triggering event of 'navigation in the market' is determined to be detected, the shopping service can perform navigation in the market to navigate the user into the corresponding subarea, and if the user clicks a daily commodity area, the shopping service can automatically navigate the user into the daily commodity area.
After the user's goods-for-sale area arrives at the day, the shopping service will recommend hot-sell goods and display a goods recommendation page, such as hot-sell goods 1, goods 2 and goods 3 in fig. 29, and similarly, after the user clicks any one of the goods, it is determined that a trigger event of "navigation in the market" is detected, and the shopping service can also perform goods navigation and navigate the user to the position of the corresponding goods.
Then, after the user arrives at the position of the commodity, if the electronic device 100 (such as a watch, a mobile phone and the like) is close to the electronic tag of the commodity, it is determined that a trigger event of "adding a shopping cart" is detected, so that the commodity can be automatically added into the shopping cart, and after all required commodities are added into the shopping cart, if the position of the electronic device 100 is detected to be located in a preset checkout area of a shopping mall, it is determined that a trigger event of "payment" is detected, and at this time, the electronic device 100 automatically displays a payment code to perform payment.
After payment, the user can take all purchased goods by only walking to the designated receiving area without carrying the goods in a shopping mall. After the user arrives at the receiving area, the receiving code is displayed, as 05814 in fig. 29, and all purchased goods can be obtained by displaying the receiving code, wherein the receiving area may be a preset area of a shopping mall or the home of the user and the user is delivered to the home by staff in the shopping mall. Thus, a portable and concise shopping experience can be realized
In some embodiments, the present application provides a new development model, a hierarchical development model, by serving applications.
In particular, the system provides a generic mechanism that masks application-related complex details. Service developers need only provide single-function services that can be used by multiple applications. The service developer may be a general developer. The application developer focuses on the logic of the business, and the system provides a code/low-code development mode. The application developer can be a common developer or a common user, so that the development threshold is reduced, and the foundation of the developer is expanded.
The development of applications is divided into three roles, and for external developers, the development is mainly divided into service developers and application developers.
The service is used as a component element of the application, and the main flow is as follows:
1. and developing a service.
The application store of the application can theoretically access the services of any operating system and platform, so that developers can keep the original development mode, developers of different platforms, windows, android, cloud, etc., can use techniques familiar to them to develop related services.
2. The dynamic service is submitted to the server 200.
The system provides some dynamic service mechanisms, and if the developer develops the dynamic service provided by the system, the developer needs to package and submit the service to the server 200 after completing the development of the service.
3. The application store accesses the service.
The main sub-processes of service development are as follows:
1. the third-party service provider releases the service in the application store, and specifies related information such as the name of the service and the description of the service.
2. The third-party service calling mode comprises a calling path, input parameters, output parameters, conversion rules between the input parameters and the output parameters and the like.
3. The information installed by the third-party service is of two types, one type is a pre-installed service, for example, a service for playing a video is obtained along with the installation of the application of the Aiqiyi, and the information of the host application and the supported version need to be specified; one is a dynamic service, the code of which at server 200 can be dynamically deployed to a specific device, the type of which needs to be specified, and the address of the dynamic service at the application store.
4. After the service is submitted, the application store performs service audit, and if the service is passed, the service can be seen in the application development tool.
The development process of the application developer comprises the following steps:
application development tools with different levels of codes, low codes, no codes and the like are provided, so that professional developers and ordinary users can develop applications.
In some implementations, users can share applications.
The application runs based on the user, and a uniform framework is provided among different users by the system, so that sharing and sharing of the application among different users are supported. An application developer only needs to designate related sharing and sharing interaction (such as collision-collision, two-dimension codes, short messages, weChat and the like) when packaging the application, can realize sharing and sharing among different users without additional code development, and provides a set of mechanism to authorize and withdraw sharing and sharing, so that the safety of behaviors is ensured.
This mechanism will greatly enhance the experience of the application: if the shared clipboard is applied, the devices under the user name can share complex paste, if the devices touch the mobile phone of the friend, the content can be copied on the mobile phone of the friend, and the devices can be directly pasted on the mobile phone of the friend. The multi-camera application can select the cameras of all devices in your name when you take photos, and can select the cameras of the mobile phones of friends if the cameras collide with the mobile phones of the friends; for example, batch image processing application on the mobile phone doubles the processing speed when the mobile phone of a friend touches the mobile phone, and 3 times the processing speed when the mobile phone of the friend touches the computer.
Or, as a collaborative drawing board, multiple devices of a user can scrawl in a collaborative manner, can run on any device and system, and can be circulated in the devices of the user; graffiti can be done together if the user touches the mobile phone of another user, or sends a link to another user. For example, in a mode that a super game distributes audio, video and control capabilities of host equipment running the game to different target equipment, the sharing capability of one game process among a plurality of target equipment is realized; if the game is hit with the mobile phones of other users, the capabilities of pictures, sounds, controls and the like of the current game can be transferred to the mobile phones of other users.
Based on the above embodiments, the application of the present application has the following features:
1. compare and follow the equipment and walk in traditional application, the application of this application follows people and walks, and the user obtains the application that binds with self through subscription service, and the application only binds with the user, and does not bind with specific equipment.
2. The application of the application is naturally distributed, different services of the application can be deployed to the same device or differentially deployed to different devices, different tasks are executed on different devices, and multi-device operation can be supported.
3. The application supports heterogeneous operating systems, and the conversion from initial calling information to target calling information is realized through the service gateway, so that the service of the application (such as the application 3 in fig. 4) can be the service on different operating systems, and the application can run across multiple platforms.
4. The service in the application of the application can support dynamic deployment, namely, the service is downloaded from an application store when a user needs to use the service, so that the user use experience of point-to-point use is supported.
5. The application definition of the application is consistent on different devices, so that the consistency of the user experience is ensured; when the functions of the same application are realized by a plurality of devices, because the service logics of different devices may be different, the services deployed by different devices may also differ, and the service sets of the application are different on different devices and have the characteristics of differential deployment, so that the characteristics of different devices can be utilized.
6. The application is assembled by the services, the services can be used by a plurality of applications, the applications are formed by combining a plurality of services, the services have high reusability, and the development difficulty is reduced.
7. The visual development tool reduces the development threshold, enables common users to develop micro applications, particularly micro applications related to equipment characteristics, and improves the use experience of equipment.
8. The application provides an access entrance for a third-party application developer, and the third-party service can be conveniently accessed to the system on the premise of not modifying the original application only by specifying the name and the description of the service, the calling mode of the service and other information.
9. The user subscription system enables personalized equipment experience to be possible, and due to the fact that the application is bound with the user, after the same equipment is switched to different users, the application corresponding to the user is different, and the user can enable the same equipment to have different characteristics in different users by subscribing different applications.
10. The special sharing and sharing system, such as the application sharing clipboard, can enable micro applications to generate effects among different users, and increases interactive experience.
Referring to fig. 30, an architecture diagram of a service dispatch system 1000 provided by an exemplary embodiment of the present application is shown. The system includes at least one electronic device 100 and a server 200.
In one possible embodiment, the electronic device 100 is provided with a service administration module 12, and the service administration module 12 is used as a core for controlling the running of the application and includes a script management module 1211, an event bus module 1212, an application scheduling module 1213, a runtime module 1214 and a service scheduling module 1215.
The script management module 1211 is configured to manage application scripts of each application stored in the electronic device 100, and is responsible for parsing the application scripts to determine triggers in the application scripts and services under the triggers. Optionally, the script management module 1211 is further configured to download the corresponding application script when receiving a subscription operation on the application, and delete the application script corresponding to the application when receiving a subscription cancellation operation on the application.
The event bus module 1212 is configured to cooperate with the application scheduling module 1213 to implement application scheduling based on the trigger event.
In some embodiments, the event bus module 1212 is configured to hang a trigger corresponding to a plurality of applications, and since the same trigger event may trigger a plurality of subscribed applications, after receiving the trigger event, the event bus module 1212 delivers to the application scheduling module 1213 to determine an application that needs to be run from the plurality of applications. The application scheduling module 1213 may automatically determine the application based on the scheduling policy, or may manually select the application by the user.
The runtime module 1214 is used to execute control logic in the application script, such that service calls are made by the service scheduler module 1215 based on the control logic interacting with the service scheduler module 1215.
Besides the service administration module 12, the electronic device 100 is also provided with a data synchronization module 14 and a service gateway 15.
The data synchronization module 14 is configured to, when the state of the service administration module 12 is changed (for example, a state is changed due to an event generated by a service), perform state synchronization on other devices, and ensure consistency of state information of different devices.
The service gateway 15 is configured to make a service call based on the target call request of the service scheduling module 1215, and specifically includes a proxy management module 151 and a lifecycle management module 152. The agent management module 151 is provided with different service agents, and the service agents are configured to convert initial calling information of the target calling request in a uniform format to obtain target calling information that conforms to the electronic device 100.
Lifecycle management module 152 is used to manage the lifecycle of the services.
In the application running process, the electronic device 100 may perform service invocation through the service gateway 15 of itself, and may also perform service invocation through the service gateway 15 of another device or the server 200 (determined by the business logic of the application), that is, may implement cross-device service invocation.
For services with different deployments, as shown in fig. 31, the electronic device 100 is further provided with a static service module 16 and a dynamic service module 17. The static service module 16 is used for managing the pre-installed static services, and the dynamic service module 17 is used for managing the dynamically deployed dynamic services.
In some embodiments, the services contained in the dynamic services module 17 may correspond to different operating environments, different deployment modalities, or different programming development languages. Fig. 30 schematically illustrates an example in which the dynamic service module 17 includes an android dynamic service 1251, a Web dynamic service 1252, and a container dynamic service 1253, but the invention is not limited thereto.
The server 200 is a server, a service cluster formed by a plurality of servers, or a cloud computing center. The functions implemented by the servers in the server cluster are divided, as shown in fig. 30, the server cluster includes a user resource management server 212, an application store server 222, a service market server 223, and a cloud service library 224.
The user resource management server 212 is configured to manage a user account using an application, manage applications subscribed under different user accounts, manage invoked services, manage a binding relationship between a user account and a device, and perform security verification during an interaction process.
The application store server 222 is used to provide application subscription services. When a user needs to use an application, an application search may be performed by an application search engine provided by the application store server 222, and a subscription application may be selected from the search results.
In some embodiments, after the application store server 222 receives the subscription operation for the application, the user account and the service identifier of the subscribed application are sent to the user resource management server 212, and the user resource management server 212 updates the subscription relationship between the user account and the application. Further, the user resource management server 212 is also configured to determine other devices under the user account and push subscription notifications to the other devices so that the other devices download application scripts of the application from the application store server 222. Illustratively, after the user "zhang san" subscribes to the application through the smartphone, the car machine and the tablet computer that log in the user account "zhang san" receive a subscription notification pushed by the user resource management server 221, so as to download the application script of the application based on the service identifier in the notification.
The service market server 223 is a developer-oriented server for providing a service inquiry service. The developer may perform service search through a service search engine provided by the service marketplace server 223, apply the searched service to the developed application, and upload the developed application to the application store server 222 for downloading and use by other users.
In addition, the developer may also perform dynamic service development and upload the developed dynamic service to the application store server 222.
Subsequent electronic devices 100 may download and deploy the dynamic service from the application store server 222.
It should be noted that, the foregoing embodiment only illustrates an infrastructure of the system, and the system may further include another computer device (such as a developer device) or a server that implements another function, which is not limited in this embodiment. The following is explained based on the service scheduling system 1000 described above with reference to specific examples. Specifically, the description will be given by taking the case where a user implements a cross-end screenshot application:
specifically, referring to fig. 30 and 31, a user subscribes to a cross-end screenshot application through an application marketplace. The user resource management server 221 pushes a subscription notification containing the service identifier of the cross-end screenshot application to all devices under the user account, so as to facilitate subsequent service deployment.
The cross-terminal screen capture application comprises a double-finger tapping service, a picture display service and a screen capture service. The script management modules 1211 of all devices under the user account analyze the application script, and determine that the double-finger tapping service needs to be deployed first according to analysis content.
The user may perform a double-finger tap action on any device (e.g., the mobile phone 101 shown in fig. 31) to trigger a screen capture event, the event bus module 1212 and the application scheduling module 1213 determine a service to be executed according to the screen capture event, then the service scheduling module 1215 schedules a double-finger tap service, after the double-finger tap service is executed, a target call request for obtaining a screen capture image of another device is sent to another device (e.g., the computer 102 shown in fig. 31), the proxy management module 151 in the service gateway 15 of the computer 102 determines a service proxy of the target call request, and then converts initial call information in the target call request to generate target call information, the event bus module 1212 and the application scheduling module 1213 in the computer 102 cooperate to determine a service (e.g., a screen capture service) to be deployed and executed, and the service scheduling module 1215 schedules the screen capture service according to the target call information to obtain a screen capture image, and sends the call request including the screen capture image to the mobile phone 101 again.
An agent management module 151 in a service gateway 15 of a mobile phone determines a service agent corresponding to a target call request sent by a computer, and then converts initial call information in the target call request to generate target call information, an event bus module 1212 and an application scheduling module 1213 cooperate to determine a service (such as a picture display service) to be deployed and run, a service scheduling module 1215 schedules the picture display service according to the target call information, and the picture display service displays and stores a screenshot image of the computer 102 according to the screenshot image contained in the target call information, thereby realizing cross-terminal screenshot.
And then, according to the control logic in the application script, calling screen capture services of other devices except the knocked device, determining that the executed service logic is screen capture and sending, downloading and dynamically deploying the screen capture services, calling the screen capture services to capture the current screen of the electronic device 100, and feeding back the screen capture services to the mobile phone. And after receiving the screen capture pictures fed back by other equipment, the mobile phone calls the picture display service to realize screen capture display.
Referring to fig. 32, the present embodiment also provides a non-volatile computer-readable storage medium 300 containing a computer program 301. The computer program 301, when executed by the one or more processors 20, causes the one or more processors 20 to perform the service scheduling method of any of the embodiments described above.
Referring to fig. 1, for example, the computer program 301, when executed by the one or more processors 20, causes the processors 20 to perform the following service scheduling method:
011: determining a current application scene, and determining a service set corresponding to the application scene;
012: under the condition that a trigger event is detected in an application scene, determining a target service corresponding to the trigger event in a service set;
013: determining initial calling information of the target service, and determining target calling information according to the initial calling information, wherein the target calling information is matched with the electronic equipment 100 running the target service;
014: and running the target service according to the target calling information.
Referring to fig. 6, for another example, computer program 301, when executed by one or more processors 20, causes processor 20 to perform the following service scheduling method:
0111: and acquiring the interactive information, and determining the current application scene according to the interactive information.
In the description herein, references to the description of "certain embodiments," "in one example," "exemplary," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the application. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and alternate implementations are included within the scope of the preferred embodiment of the present application in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the embodiments of the present application.
Although embodiments of the present application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present application and that variations, modifications, substitutions and alterations in the above embodiments may be made by those skilled in the art within the scope of the present application.

Claims (18)

1. A method for scheduling services, comprising:
determining a current application scene, and determining a service set corresponding to the application scene;
determining a target service in the service set corresponding to a trigger event in the case that the trigger event is detected in the application scenario;
determining initial calling information of the target service, and determining target calling information according to the initial calling information, wherein the target calling information is matched with electronic equipment running the target service;
and running the target service according to the target calling information.
2. The service scheduling method according to claim 1, wherein the determining the current application scenario includes:
and acquiring interactive information, and determining the current application scene according to the interactive information.
3. The service scheduling method of claim 2, wherein the mutual information comprises location information, orientation information, and movement information; the obtaining of the interactive information and the determining of the current application scene according to the interactive information include:
acquiring a target position corresponding to a preset position range under the condition that the current electronic equipment is judged to be in the preset position range according to the position information;
and determining the current electronic equipment to be in an application scene corresponding to the target position under the condition that the current electronic equipment is judged to move towards the target position according to the orientation information and the movement information.
4. The service scheduling method of claim 2, wherein the obtaining the interaction information and determining the current application scenario according to the interaction information comprises:
under the condition that the current electronic equipment detects a preset operation instruction, acquiring interaction information through the electronic equipment, and determining an initial application scene where the current electronic equipment is located according to the interaction information;
outputting prompt information according to the initial application scene, and acquiring input information input according to the prompt information;
and determining the current application scene of the current electronic equipment according to the input information.
5. The service scheduling method of claim 1, wherein the determining the set of services corresponding to the application scenario comprises:
determining an application script corresponding to the application scene, wherein the application script comprises at least one service identifier;
and taking a set formed by services corresponding to all the service identifications in the application script as the service set.
6. The service scheduling method according to claim 5, wherein the determining an application script corresponding to the application scenario comprises:
determining a service list corresponding to the application scene;
and generating an application script corresponding to the application scene according to at least one service identifier contained in the service list.
7. The service scheduling method according to claim 6, wherein the generating an application script corresponding to the application scenario according to at least one service identifier included in the service manifest comprises:
generating an initial application script corresponding to the application scene according to at least one service identifier contained in the service list;
and acquiring edit data of the initial application script and/or user portrait data of the current user, and adjusting the initial application script based on the edit data and/or the user portrait data of the current user to obtain an application script corresponding to the application scene.
8. The service scheduling method according to claim 5, wherein the determining, in the case that a trigger event is detected in the application scenario, a target service in the service set corresponding to the trigger event includes:
under the condition that a trigger event is detected in the application scene, triggering a target trigger corresponding to the trigger event in the application script;
and calling a corresponding target control logic through the target trigger, and determining a target service corresponding to the trigger event in the service set according to the target control logic.
9. The service scheduling method according to claim 1, wherein the determining initial calling information of the target service and determining target calling information according to the initial calling information comprises:
initiating a target calling request for the target service, wherein the target calling request comprises initial calling information of the target service;
and calling a corresponding service agent according to the initial calling information in the target calling request, and determining the target calling information corresponding to the initial calling information through the service agent.
10. The service scheduling method according to claim 9, wherein the initial invocation information includes a service type and registration invocation information; the calling the corresponding service agent according to the initial calling information in the target calling request, and determining the target calling information corresponding to the initial calling information through the service agent includes:
and calling the service agent corresponding to the service type, and converting the registration calling information into corresponding target calling information according to a preset format.
11. The service scheduling method according to claim 9, wherein before the calling the corresponding service agent according to the initial calling information in the target calling request and determining the target calling information corresponding to the initial calling information by the service agent, the method further comprises:
carrying out validity verification on the target calling request through a target service gateway;
and under the condition that the target calling request is verified by the target service gateway, executing calling of a corresponding service proxy according to initial calling information in the target calling request, and determining target calling information corresponding to the initial calling information through the service proxy.
12. The service scheduling method of claim 11, wherein the validating the target invocation request by the service gateway includes:
when the target service gateway is the service gateway of the current electronic equipment, carrying out validity verification on the target calling request through the target service gateway;
sending the target calling request to the external electronic equipment and receiving a processing result returned by the external electronic equipment under the condition that the target service gateway is a service gateway of the external electronic equipment, the processing result is that in the case that the external electronic device passes the validity verification of the target invocation request through the target service gateway, and responding to the processing result obtained by the target calling request.
13. The service scheduling method according to any one of claims 1 to 12, wherein the running the target service according to the target invocation information comprises:
under the condition that the target service is of a first service type, running the target service according to the target calling information;
and determining a host service corresponding to the target service under the condition that the target service is of a second service type, and running the target service according to the target calling information under the condition that the host service is in a running state.
14. The service scheduling method according to any of claims 1 to 12, wherein the initial invocation information comprises registration invocation information and/or dynamic invocation information; the determining the initial calling information of the target service and determining the target calling information according to the initial calling information comprises the following steps:
acquiring registration calling information of the target service stored by the current electronic equipment and/or acquiring dynamic calling information generated by other services; the register calling information is used for representing attributes related to the target service, and the dynamic calling information is used for representing input variables required by running the target service;
and determining target calling information according to the registration calling information and the dynamic calling information.
15. The service scheduling method according to any one of claims 1 to 12, wherein the determining initial invocation information of the target service comprises:
receiving initial calling information which is sent by a server and corresponds to the target service;
the running the target service according to the target calling information comprises:
under the condition that the target service is the localized service of the current electronic equipment, acquiring a target service code set stored by the current electronic equipment, and operating the target service code set according to the target calling information;
and under the condition that the target service is the non-localized service of the current electronic equipment, acquiring a target service code set which is sent by the server and corresponds to the target service, and operating the target service code set according to the target calling information.
16. A service scheduling system, comprising:
the scene perception module is used for determining the current application scene and determining a service set corresponding to the application scene;
the service administration module is used for determining a target service corresponding to a trigger event in the service set under the condition that the trigger event is detected in the application scene; determining initial calling information of the target service, and determining target calling information according to the initial calling information, wherein the target calling information is matched with electronic equipment running the target service; and
and the service operation module is used for operating the target service according to the target calling information.
17. An electronic device is characterized by comprising a processor, wherein the processor is used for determining an application scene where the electronic device is located currently, and determining a service set corresponding to the application scene; determining a target service in the service set corresponding to a trigger event in the case that the trigger event is detected in the application scenario; determining initial calling information of the target service, determining target calling information according to the initial calling information, the target calling information is matched with the electronic equipment running the target service; and running the target service according to the target calling information.
18. A non-transitory computer readable storage medium comprising a computer program which, when executed by a processor, causes the processor to perform the service scheduling method of any one of claims 1-15.
CN202210495294.4A 2022-05-07 2022-05-07 Service scheduling method and system, electronic device and computer readable storage medium Pending CN115150507A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210495294.4A CN115150507A (en) 2022-05-07 2022-05-07 Service scheduling method and system, electronic device and computer readable storage medium
PCT/CN2022/141030 WO2023216604A1 (en) 2022-05-07 2022-12-22 Service scheduling method and system, electronic device, and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210495294.4A CN115150507A (en) 2022-05-07 2022-05-07 Service scheduling method and system, electronic device and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN115150507A true CN115150507A (en) 2022-10-04

Family

ID=83406893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210495294.4A Pending CN115150507A (en) 2022-05-07 2022-05-07 Service scheduling method and system, electronic device and computer readable storage medium

Country Status (2)

Country Link
CN (1) CN115150507A (en)
WO (1) WO2023216604A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002274A (en) * 2022-05-07 2022-09-02 Oppo广东移动通信有限公司 Control method and device, electronic equipment and computer readable storage medium
CN116112375A (en) * 2022-11-17 2023-05-12 中国直升机设计研究所 Avionics embedded/non-embedded joint simulation architecture and design method thereof
WO2023216604A1 (en) * 2022-05-07 2023-11-16 Oppo广东移动通信有限公司 Service scheduling method and system, electronic device, and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021175062A1 (en) * 2020-03-02 2021-09-10 Oppo广东移动通信有限公司 Service providing method and apparatus, and terminal and storage medium
CN113961309A (en) * 2021-10-21 2022-01-21 上海波顿诺华智能科技有限公司 Information processing method, information processing device, electronic equipment and computer storage medium
CN114125028A (en) * 2021-11-29 2022-03-01 Oppo广东移动通信有限公司 Running method, device, equipment, storage medium and program product of micro application
CN114282963A (en) * 2021-12-14 2022-04-05 Oppo广东移动通信有限公司 Shopping service method and device, electronic equipment and computer readable storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647102B (en) * 2018-05-11 2022-05-13 创新先进技术有限公司 Service request processing method and device of heterogeneous system and electronic equipment
CN112397062A (en) * 2019-08-15 2021-02-23 华为技术有限公司 Voice interaction method, device, terminal and storage medium
CN113900577B (en) * 2021-11-10 2024-05-07 杭州逗酷软件科技有限公司 Application program control method and device, electronic equipment and storage medium
CN114265641A (en) * 2021-12-14 2022-04-01 Oppo广东移动通信有限公司 Control method, electronic device, and computer-readable storage medium
CN115150507A (en) * 2022-05-07 2022-10-04 Oppo广东移动通信有限公司 Service scheduling method and system, electronic device and computer readable storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021175062A1 (en) * 2020-03-02 2021-09-10 Oppo广东移动通信有限公司 Service providing method and apparatus, and terminal and storage medium
CN113961309A (en) * 2021-10-21 2022-01-21 上海波顿诺华智能科技有限公司 Information processing method, information processing device, electronic equipment and computer storage medium
CN114125028A (en) * 2021-11-29 2022-03-01 Oppo广东移动通信有限公司 Running method, device, equipment, storage medium and program product of micro application
CN114282963A (en) * 2021-12-14 2022-04-05 Oppo广东移动通信有限公司 Shopping service method and device, electronic equipment and computer readable storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曾子明著: "《信息推荐*** 第二版》", 武汉:武汉大学出版社, pages: 218 - 219 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002274A (en) * 2022-05-07 2022-09-02 Oppo广东移动通信有限公司 Control method and device, electronic equipment and computer readable storage medium
WO2023216604A1 (en) * 2022-05-07 2023-11-16 Oppo广东移动通信有限公司 Service scheduling method and system, electronic device, and computer readable storage medium
CN115002274B (en) * 2022-05-07 2024-02-20 Oppo广东移动通信有限公司 Control method and device, electronic equipment and computer readable storage medium
CN116112375A (en) * 2022-11-17 2023-05-12 中国直升机设计研究所 Avionics embedded/non-embedded joint simulation architecture and design method thereof

Also Published As

Publication number Publication date
WO2023216604A1 (en) 2023-11-16

Similar Documents

Publication Publication Date Title
US10558475B2 (en) Apparatus and methods for widget intercommunication in a wireless communication environment
US20220408231A1 (en) Message extension app store
CN107943439B (en) Interface moving method and device, intelligent terminal, server and operating system
WO2023216604A1 (en) Service scheduling method and system, electronic device, and computer readable storage medium
EP3255909B1 (en) Messaging application interacting with one or more extension applications
CN107943547B (en) Multi-service integration method and device, intelligent terminal, server and operating system
EP3726376B1 (en) Program orchestration method and electronic device
US20140195663A1 (en) Method and System for Providing Cloud-Based Common Distribution Applications
EP3407189B1 (en) Application distribution method and device
CN112416613B (en) Application data processing method, device, equipment and medium
JP6832098B2 (en) Equipment, computer programs and methods
CN115002274B (en) Control method and device, electronic equipment and computer readable storage medium
US11455178B2 (en) Method for providing routine to determine a state of an electronic device and electronic device supporting same
CN104317558B (en) System and method for providing object through which service is used
CN115150378A (en) Travel service method and device, electronic device and computer-readable storage medium
CN110868640A (en) Resource transfer method, device, equipment and storage medium
Dominguez et al. Mixed reality-aware service architecture for mobile environments
CN112308657A (en) Applet-based guide system, guide device, server and guide method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination