WO2011069470A1 - 客户端和服务器动态协助的业务聚合方法、服务器和客户端 - Google Patents

客户端和服务器动态协助的业务聚合方法、服务器和客户端 Download PDF

Info

Publication number
WO2011069470A1
WO2011069470A1 PCT/CN2010/079693 CN2010079693W WO2011069470A1 WO 2011069470 A1 WO2011069470 A1 WO 2011069470A1 CN 2010079693 W CN2010079693 W CN 2010079693W WO 2011069470 A1 WO2011069470 A1 WO 2011069470A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
server
client
mashup
bound
Prior art date
Application number
PCT/CN2010/079693
Other languages
English (en)
French (fr)
Inventor
马其锋
李彦
普费弗·海科
施特格利希·斯特凡
Original Assignee
华为技术有限公司
德国弗劳恩霍夫应用研究促进协会
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 华为技术有限公司, 德国弗劳恩霍夫应用研究促进协会 filed Critical 华为技术有限公司
Priority to EP10835505.8A priority Critical patent/EP2506518B1/en
Publication of WO2011069470A1 publication Critical patent/WO2011069470A1/zh
Priority to US13/493,682 priority patent/US9203907B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Definitions

  • the present invention relates to a novel web-based data integration application, and more particularly to a service aggregation method, server and client for client and server dynamic assistance. Background technique
  • Mashup is a new type of Web application that stacks and aggregates multiple different Web API-enabled applications.
  • the Mashup server is a web integration platform that allows users to easily integrate data and resources from any application with a web interface. Its main functions include providing aggregated application logic orchestration, aggregating application execution environments, and external data sources, subservices. Conduct communication, etc.
  • the Mashu server can provide many mashup applications, but the availability of the mashup application cannot be guaranteed.
  • the third-party data source or sub-service is abnormal, such as interface changes, service address changes, or third-party service provision.
  • the termination of the service caused the mashup application to fail, resulting in a poor user experience for the mashup service.
  • the Mashup server provides more services and information sources, the types are more complicated. Users need to perform specific analysis on third-party data sources, which is very inconvenient for users.
  • the Mashup server can only be based on related web services on the network. Provide users with Mashup business and information sources, lack of cooperation with the client.
  • the embodiment of the invention provides a service aggregation method for the client and the server, and a corresponding server and client, which can enhance the user experience of the mashup service, reduce the complexity of the mashup application creation, and balance the processing capability of the client or the server. At the same time, the personal information security of the user can be fully guaranteed.
  • the server After receiving the Mashup service creation request from the client, the server creates the Mashup application logic.
  • the server binds the third-party service according to the mashup application logic, and sends the bound third-party service and the generated mashup application logic to the client, so that the client according to the mashup application logic Binding the local service of the client; and determining, according to the local service bound by the client and the third-party service bound by the server, the specific service bound by the client;
  • the server generates a business logic flow according to the bound specific service and the mashup application logic
  • the server invokes the specific service according to the business logic flow, and executes the business logic flow in parallel with the client.
  • the client sends a Mashup service creation request to the server, so that the server creates the mashup application logic, and binds the third-party service according to the mashup application logic;
  • Receiving, by the client, the bound third party service and the created by the server Mashup applies logic and binds local services according to the mashup application logic
  • the client reports the bound local service to the server, so that the server negotiates with the client to determine binding according to the local service bound by the client and the third-party service bound by the server.
  • Specific service and generate a business logic flow according to the specific service bound and the mashup application logic;
  • the client invokes a terminal or an external service according to the business logic flow, and executes the business logic flow in parallel with the server.
  • a service creation module configured to create a Mashup application based on a client's Mashup service creation request
  • a service matching module configured to bind a third-party service according to the mashup application logic created by the service creation module, and send the bound third-party service and the generated mashup application logic to the client, so that the The client binds the client's local service according to the mashup application logic; and negotiates with the client to determine the specific service to be bound according to the local service bound by the client and the third-party service bound by the server;
  • a service logic parsing module configured to generate a service logic flow according to the specific service of the binding and the mashup application logic
  • a service execution engine module configured to invoke the specific service according to the business logic process, and execute the business logic flow in parallel with the client;
  • the service synchronization module is used to synchronize the client and server state information during the Mashup service negotiation and execution process.
  • a service matching module configured to send a mashup service creation request to the server, so that the server creates a mashup application logic, and receives a mashup application logic created by the server and a third-party service bound according to the mashup application logic;
  • the mashup application logic binds the local service;
  • a service execution engine module configured to report, to the server, a local service that is bound by the service matching module, so that the server is configured according to the local service bound by the client and a third-party service bound by the server, Determining, by the client, the specific service to be bound, and generating a service logic flow according to the specific service of the binding and the mashup application logic; and invoking the specific service according to the service logic process, and concurrently synchronizing with the client Executing the business logic flow;
  • the service synchronization module is configured to invoke the terminal or the external service according to the service logic flow, and execute the business logic flow in parallel with the server.
  • the mashup application logic is created by the server to decouple the mashup application and the third-party data source, and the direct interface of the client to various third-party data is shielded, thereby reducing the complexity of the mashup application creation.
  • the server and the client to determine the specific service of the binding can balance the processing power of the client and the server, distribute the Mashu application logic according to the actual situation, and execute the parallel execution of the client and the server side, thereby reducing the server.
  • the burden while in the user terminal capabilities and data-related Mashup applications, can fully protect the security of the user's personal information, will not be uploaded to the network, avoid infringement of user privacy, support more personalized business choices.
  • FIG. 1 is a flowchart of a service aggregation method for dynamically assisting a client and a server according to an embodiment of the present invention
  • FIG. 2 is a flowchart of another method for service aggregation of client and server dynamic assistance according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a service aggregation system for dynamically assisting a client and a server according to an embodiment of the present disclosure
  • FIG. 4 is a schematic diagram of functional modules of a Mashup server according to an embodiment of the present invention
  • FIG. 5 is a schematic diagram of functional modules of a Mashup client according to an embodiment of the present invention
  • FIG. 6 is a synchronization between a server and a client according to an embodiment of the present invention
  • FIG. 7 is a flowchart of a running environment negotiation between a server and a client according to an embodiment of the present invention
  • FIG. 8 is a flowchart of execution of a mashup application according to an embodiment of the present invention. detailed description
  • a method for service aggregation of client and server dynamic assistance includes the following contents:
  • Step 1 After receiving the Mashup service creation request from the client, the server creates a Mashu application.
  • the server uses a self-contained structured language to generate a Mashup application based on an extended HTML Tag or Java Script object.
  • the Mashu application also contains Tag element names, IDs, actions, and parameters, which can be used by the server and client. Distributed execution.
  • Each element contains a start, end tag, or an empty element:
  • Each Mashup extension element represents an abstract resource and service that can be provided by a specific third-party application. Based on the XML standard, each element defines a global identifier GI. The Mashup element can use the global identifier to represent the third-party application that provides the service. The mashup service creator can also not specify the specific global identifier GI, and the server can automatically select the specific number. Three-party service. For example, some of the following Mashup elements can be defined. MresourceS and MResourceE represent the start and end tags of related elements, respectively.
  • M esourceS : : Mmap
  • MResourceE :: 'map'
  • Each element can include multiple methods depending on the specific service. In order to better use the different methods of these services, you need to add action Actions and properties to the Mashup element, for example:
  • MapAction:: centerMap
  • centerMap :: S 'action' Eq ""center”" centerMap Atr
  • Mashup extension Tag is mainly used to facilitate the integration of various third-party application resources, mainly to comply with
  • the HTML paradigm which can be a nested element, can be empty, text, or other HTML elements, such as:
  • Step 12 The server binds a third-party service according to the mashup application logic, and sends the bound third-party service and the generated mashup application logic to the client, so that the client is configured according to the
  • the mashup application logically binds the local service of the client; and negotiates with the client to determine the specific service to be bound according to the local service bound by the client and the third-party service bound by the server.
  • the server When the server binds the third-party service, it can refer to the QoS information of the server, such as the average response time and/or abnormal probability of the service, and the information can be continuously counted during the execution process. , such as the user's personal preferences, etc., can be selected according to specific user preferences when matching services, such as the same type of business selection rules And so on; can also refer to the information dynamically reported by the user authorization, the user's private information can be sent to the server side when the user authorizes, for reference when binding the service.
  • the QoS information of the server such as the average response time and/or abnormal probability of the service
  • the information can be continuously counted during the execution process.
  • the user's personal preferences, etc. can be selected according to specific user preferences when matching services, such as the same type of business selection rules And so on; can also refer to the information dynamically reported by the user authorization, the user's private information can be sent to the server side when the user authorizes, for reference when binding the service.
  • the client When the client is bound to the local service, it can bind the local service supported by the client with reference to the user's public or non-public user information.
  • the client When the client performs specific service matching according to the abstract business logic delivered by the server, the called service may be some terminal-based user personal information that is not suitable for running on the server, and such services are directly on the terminal side by the client. Bind.
  • the service that is bound by the client and the server is used; when the service bound by the client is different from the service bound by the server, The server prioritizes the services that the client is bound to.
  • Step 13 The server generates a service logic flow according to the bound specific service and the mashup application logic.
  • Step 14 The server invokes the specific service according to the service logic flow, and executes the service logic flow in parallel with the client.
  • the server and the client perform a synchronization operation based on different states during the execution of the service; when the server and the client need the other party
  • the server and the client need the other party
  • the associated state is locked, and the associated action is performed, and the associated parameter is sent to the other party.
  • the service aggregation method of the client and the server dynamically assisted by the embodiment of the present invention creates a mashup application logic on the server to implement decoupling of the mashup application and the third-party data source, and shields the client from the direct interface to various third-party data.
  • the complexity of the Mashup application creation is reduced; the specific service bound by the server is negotiated with the client, and the processing capability of the client and the server can be balanced, and the mashup application logic is distributed according to the actual situation, and the client and the server are in parallel. Distributed execution, which can reduce the burden on the server.
  • the user terminal capability and data related Mashup application are involved, the user's personal information can be fully protected, and will not be uploaded to the network, thereby avoiding infringement of user privacy.
  • the server supports more than two clients sharing a mashup application logic, and different clients bind different local services, the specific service results invoked by the server may be shared between different clients.
  • the server can synchronize the Mashup services of different clients by synchronizing operations with the client, thereby preventing the server from repeatedly calling the third-party service.
  • another client and server dynamic assisted service aggregation method provided by the embodiment of the present invention includes the following contents:
  • Step 21 The client sends a Mashup service creation request to the server, so that the server creates a mashup application logic, and binds the third-party service according to the mashup application logic.
  • Step 22 The client receives the bound third-party service sent by the server and the created mashup application logic, and binds the local service according to the mashup application logic.
  • Step 23 The client reports the bound local service to the server, so that the server negotiates with the client according to the local service bound by the client and the third-party service bound by the server. Determining a specific service of the binding, and generating a business logic flow according to the specific service of the binding and the mashup application logic;
  • Step 24 The client invokes a terminal or an external service according to the service logic flow, and executes the service logic flow in parallel with the server.
  • the service aggregation method of the client and the server dynamically assisted by the embodiment of the present invention creates a mashup application logic through the server to implement decoupling of the mashup application and the third-party data source, and shields the client from various third-party data.
  • the direct interface reduces the complexity of the Mashup application creation.
  • the server and the client negotiate to determine the specific services to be bound.
  • the processing capabilities of the client and the server can be balanced.
  • the mashup application logic is based on actual conditions. Distribution, distributed by the client and the server side, can reduce the burden on the server.
  • the user terminal capability and data related Mashup application are involved, the user's personal information can be fully protected and not uploaded to the network. Avoid infringement of user privacy and support more personalized business choices.
  • the scene of the mashup application is to display the map centered on the user's current location, and mark the surrounding photos and news events on the map according to the user's current location.
  • the location service can be nested in maps, photos, and news services.
  • the created mashup application logic is as follows:
  • Bind third-party services according to the mashup application logical server.
  • the bound third party is the registration description of the following Google Maps:
  • the server needs to map the Web Application Description Language (WADL) into an abstract Tag.
  • WADL Web Application Description Language
  • the server can bind the map to google Ma according to the registration information of the third-party service, and replace the calling form with the google Ma operation according to the action.
  • the server can bind the map to google Ma according to the registration information of the third-party service, and replace the calling form with the google Ma operation according to the action.
  • start the Mashup application logic flow First, perform the Location operation, and according to the Location, perform the Create Map operation, and then you can perform the search news and search image operations at the same time. Since the search news and the search picture service both use the Location information, and the ID of the Location is identified in the service logic, the previous Location information can be directly used.
  • the Location service is bound to the local GPS service, which is directly called by the client, so at the beginning, the client needs to lock the tag of the server's Map operation, and when the client performs GPS acquisition. After the result, the unlock is sent, and the location information is updated to the server, and the subsequent mashup application logic continues to be executed by the server runtime environment.
  • an embodiment of the present invention provides a service aggregation system for client and server dynamic assistance, including a mashup server 100 and Mashu client 200, where
  • the Mashu server 100 is configured to: after receiving the Mashup service creation request of the mashup client 200, create a mashup application logic; bind the third-party service according to the mashup application logic, and bind the bundled third-party service to the generated third-party service Mashup application logic is sent to the client, so that the client binds the client's local service according to the mashup application logic; and according to the client-bound local service and the server-bound third-party service, Determining, by the client, the specific service to be bound, and generating a service logic process according to the specific service and the mashup application logic, and then calling the specific service according to the service logic process, and the client
  • the business logic flow is executed in parallel synchronously.
  • the mashup client 200 is configured to send a mashup service creation request to the server, so that the server creates a mashup application logic, and binds the third-party service according to the mashup application logic; and receives the bound third-party service sent by the server.
  • the Mashup server provided by the embodiment of the present invention may include a service creation module 101, a service matching module 106, a service logic parsing module 107, and a service synchronization module.
  • the service creation module 101 is mainly used by the Mashup service creator to create a mashup application logic.
  • the module supports a simple and abstract mashup service creation mode. The user mainly pays attention to the mashup application requirements, and does not need to specifically care about the third-party service interface.
  • the mashup server is simple built-in. Extend the TAG, Java Script object or its way to create mashup application logic to implement calls to specific services.
  • the service matching module 106 is configured to bind the third-party service according to the mashup application logic created by the service creation module 101, and send the bound third-party service and the generated mashup application logic to the client, so that The client binds the local service of the client according to the mashup application logic; and negotiates with the client to determine the specific service to be bound according to the local service bound by the client and the third-party service bound by the server.
  • the business logic parsing module 107 is mainly responsible for analyzing the relevant abstract logic part of the Mashup business library, and generating a business logic flow according to the service and data source information corresponding to a series of built-in extended Tag or java Script objects in the Mashup business.
  • the service synchronization module 108 is mainly responsible for synchronizing the client and server state information during the Mashup service negotiation and execution process, including negotiation in the service binding process between the client and the server, and state change during the client and server service execution. Notification and parameter delivery, etc.
  • the service execution engine module 109 is mainly responsible for invoking the specific service according to the specific business logic process processed by the business logic parsing module 107 and the service matching module 106, and sends the synchronization through the service synchronization module 108 when it is involved in the process of synchronizing with the client. Request or wait for synchronization information from the client.
  • the mashup server provided by the embodiment of the present invention may further include: a mashup service library 102, a service directory module 103, a user information module 104, and a service QoS evaluation module 105, where
  • the Mashu service library 102 the main storage service creation module 101 creates the Mashup application logic, which needs to be executed by the service matching module 106 to bind the abstract Tag or JS object to the specific service.
  • the service directory module 103 mainly stores third-party services or data source information that can be used by the Mashup server, and saves the mapping relationship between the abstract Tag or Js object provided by the Mashup server and the specific service.
  • the user information module 104 mainly stores related information disclosed by the user, such as a user's personal preference. Rules for business selection, etc.
  • the service QoS evaluation module 105 is mainly responsible for evaluating QoS information of related services and data sources during execution, such as response time, error probability, etc., and the information may be used by the service matching module 106 when referring to a specific service.
  • the service matching module 106 is specifically configured to refer to the user information in the user information module 104 and the related service in the service QoS evaluation module 105, and the Qos information of the data source, according to the mashup service library 102.
  • the mashup application logic binds the specific services in the business directory module 103.
  • the mashup client provided by the embodiment of the present invention may include a service matching module 203, a service synchronization module 204, and a service execution engine module 205; specifically,
  • the service matching module 203 is configured to send a mashup service creation request to the server, so that the server creates the mashup application logic, and receives the mashup application logic created by the server and the third-party service bound according to the mashup application logic;
  • the mashup application logic binds the local service.
  • the client performs specific service matching according to the abstract Mashup application logic delivered by the Mashup server
  • the called service may be terminal-based or some services involve user personal information, and are not suitable for running on the server.
  • the class service is bound by the service matching module 203 of the client directly on the terminal side when the service is executed.
  • the service synchronization module 204 is mainly responsible for synchronizing client and server state information during the Mashup service negotiation and execution process, including client and server service binding process negotiation, state change notification during client and server service execution, and Parameter passing, etc.
  • the service execution engine module 205 is mainly responsible for invoking the terminal or the external service according to the specific business logic processed by the service matching module 203. In the process of executing, when the synchronization with the server is involved, the synchronization request is sent through the service synchronization module 204 or waiting for the server. Synchronization information.
  • the mashup client provided by the embodiment of the present invention may also be used.
  • the method includes: a user information module 201 and a business directory module 202, wherein
  • the user information module 201 mainly stores the private information of the user, and sends the related information to the user information module 104 of the server for authorization of the user, and the private information includes user preferences and user related resources, such as the user's personal information. Calendars, etc., can be selected according to specific user preferences when matching specific services. For example, rules for the same type of business selection.
  • the service directory module 202 stores the service and resource information related to the terminal, and the mapping relationship between the external service information and the service that the terminal can directly call. As the terminal functions become more and more abundant, the terminal device can provide various capabilities such as PGS, license plate, sensor function and related software function waiting through software and hardware, and the service directory module 202 uniformly describes these capabilities, and Third-party services that are suitable for terminal execution can also be described here, and can be retrieved from the business directory when the mashup application invokes these capabilities.
  • the service matching module 203 is specifically configured to refer to the user private information in the user information module 201, and bind the local service in the service directory module 202 according to the mashup application logic created by the server.
  • the server and the client cooperate with each other to complete the Mashup service. That is, the Mashup application logic synchronizes the parallel processing on the client and the server side, mainly in two phases, one is a negotiation phase and the other is an execution phase. Please refer to Figure 6, the specific process is as follows:
  • the user sends a Mashup service creation request to the server.
  • the server receives the request, and generates a Mashup application based on the HTML Tag or the Java Script object according to the requested content.
  • the business logic parsing module of the Mashup server running environment analyzes the relevant extended tags or objects, and generates a calling process for calling the related external services according to the mapping relationship.
  • the server transfers the calling process and the server running environment to the client.
  • the client receives the running environment of the server, and starts the client running environment.
  • the client running environment and the server running environment start to negotiate.
  • the negotiation is mainly related to the synchronization status information of the service matching module of the client and the server when binding the specific service.
  • the client binds a specific service according to the user information.
  • the service may affect the service binding of the server, it is necessary to notify the server of the service binding information of the client, and finally complete the negotiation process between the server and the client by the mashup application.
  • the server and the client start to execute the Mashup application logic separately, and the execution also needs to perform the necessary state synchronization.
  • the two parties cooperate according to the calling process of the business logic. For example, when the client needs to use some results of the server, it needs to know that the server is running. Progress, whether you need to wait, etc., the server sends the execution result to the client, and the Mashup application is presented to the user by merging the execution results of the server and the client on the client.
  • the client sends the public preference information to the server running environment according to the running requirement of the server;
  • the server running environment binds the corresponding external service according to the related information of the user. 73. The server running environment sends the binding information to the client.
  • the client running environment binds the client local service according to its own related capabilities
  • the client running environment sends the bound client local service information to the server.
  • the server operating environment analyzes the binding information of all services:
  • the server running environment sends the created execution process information to the client, and the client and the server synchronize to execute the Mashup application, and invoke local and external third-party services.
  • the client (such as a browser) requests a Mashup application
  • the server obtains a business logic file of the mashup application, and sends the mashup application to the server running environment.
  • the server-side running environment returns, according to the mashup application, information related to the server-side running environment of the mashup application to the client.
  • the client starts the client running environment of the mashup application
  • the server running environment requests the user's preference information
  • the client running environment returns the user's preference information
  • the server running environment notifies the client running environment to bind the client local service;
  • the client running environment is bound to the client local service;
  • the client running environment sends the client binding service information to the server running environment; the server analyzes the binding information of all services,
  • the server creates an execution process of the Mashup service according to all the binding information.
  • the server running environment notifies the client running environment to start the execution of the business process
  • the client running environment may temporarily lock the service call of the server according to the needs of the business process
  • the server running environment returns the business process status information to the client running environment;
  • the client running environment performs related processing according to the local service calling information;
  • the server running environment is used to release the locked state of the server; 99.
  • the client running environment updates the relevant input parameters to the server running environment;
  • the server operating environment sends a synchronization signal to the client operating environment
  • the client operating environment responds
  • the client obtains an execution result of the server.
  • 103. Consolidate the execution result of the server and the client on the client, and present the Mashup application to the user.
  • the Mashup server supports multiple clients, different users can bind their own different services according to different preferences when executing the mashup application.
  • the user data invoked by the mashup application cannot be shared, each user has a different Not the same, but the Mashup application logic is shared.
  • the Mashup application function displays friend information (status, signature, etc.) on the map.
  • the shared map is processed by the server, but the specific information displayed by different users is different. In this way, information synchronization between the server and the multi-client is required. For example, the update of the map zoom level requires all terminals to synchronize.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
  • the functional units in the embodiments of the present invention may be integrated into one processing module, or each unit may exist physically separately, or two or more units may be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
  • the integrated modules, if implemented in the form of software functional modules and sold or used as separate products, may also be stored in a computer readable storage medium.
  • the storage medium mentioned above may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)

Description

说 明 书
客户端和服务器动态协助的业务聚合方法、 服务器和客户端 本申请要求 2009年 12月 1 1 日递交的申请号为 200910260521.X、 发 明名称为 "客户端和服务器动态协助的业务聚合方法、 服务器和客户端" 的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。
技术领域
本发明涉及一种新型的基于 Web 的数据集成应用, 尤其涉及一种客 户端和服务器动态协助的业务聚合方法、 服务器和客户端。 背景技术
业务聚合(Mashup )是将多个不同的支持 Web API的应用进行堆叠、 聚合形成的新型的 Web应用。 Mashup服务器是一个 Web集成平台, 它允 许用户轻松集成来自任意具有 Web接口的应用程序的数据和资源, 其主 要功能包括提供聚合应用逻辑编排功能, 聚合应用的执行环境以及和外部 数据源、 子服务进行通信等。
在实现本发明过程中, 发明人研究发现现有技术至少存在如下问题:
1、 Mashu 服务器可以提供很多 Mashup应用, 但无法保证 Mashup 应用的可用性, 用户请求执行 Mashup服务时, 很有可能因为第三方数据 源或子服务异常, 如接口变动、 业务地址变动或者第三方业务提供者终止 服务等导致 Mashup应用失败, 造成 Mashup业务用户体验较差。
2、 由于 Mashup服务器提供的业务和信息源比较多, 类型比较复杂, 用户使用时需要对第三方数据源进行具体分析, 对用户来说使用很不方 便。
3、 在单独使用 Mashup客户端或服务器能力时, 没有充分利用服务器 和客户端的优势和特点, Mashup服务器只能根据网络上的相关 Web服务 为用户提供 Mashup的业务和信息源, 缺乏与客户端的配合。
4、 当 Mashup应用需要使用用户终端能力和数据时, 需要终端把相关 内容上报到 Mashup服务器或第三方数据元, 可能对用户隐私造成侵犯。 发明内容
本发明实施例提供了一种客户端和服务器动态协助的业务聚合方法 及相应的服务器和客户端, 能够增强 Mashup业务用户体验, 降低 Mashup 应用创建的复杂度, 平衡客户端或服务器的处理能力, 同时可以充分保障 用户个人的信息安全。
本发明实施例提供的一种客户端和服务器动态协助的业务聚合方法, 包括:
月良务器接收到客户端的 Mashup业务创建请求后, 创建 Mashup应用 逻辑;
所述服务器根据所述 Mashup应用逻辑绑定第三方服务, 并把绑定的 第三方服务和所述生成的 Mashup应用逻辑发送给所述客户端, 以使得所 述客户端根据所述 Mashup应用逻辑绑定客户端的本地服务; 以及根据所 述客户端绑定的本地服务和服务器绑定的第三方服务, 与所述客户端协商 确定绑定的具体服务;
所述服务器并根据所述绑定的具体服务和所述 Mashup应用逻辑生成 业务逻辑流程;
所述服务器根据所述业务逻辑流程调用所述具体服务, 与所述客户端 并行同步执行所述业务逻辑流程。
本发明实施例提供的另一种客户端和服务器动态协助的业务聚合方 法, 包括:
客户端向服务器发送 Mashup业务创建请求, 以使得所述服务器创建 Mashup应用逻辑, 并根据所述 Mashup应用逻辑绑定第三方服务;
所述客户端接收所述服务器发送的绑定的第三方服务和创建的 Mashup应用逻辑, 并根据所述 Mashup应用逻辑绑定本地服务;
所述客户端向所述服务器上报所述绑定的本地服务, 以使得所述服务 器根据所述客户端绑定的本地服务和服务器绑定的第三方服务, 与所述客 户端协商确定绑定的具体服务,并根据所述绑定的具体服务和所述 Mashup 应用逻辑生成业务逻辑流程;
所述客户端根据所述业务逻辑流程调用终端或外部服务, 和所述服务 器并行同步执行所述业务逻辑流程。
本发明实施例提供的一种 Mashup服务器, 包括:
业务创建模块,用于根据客户端的 Mashup业务创建请求,创建 Mashup 应用 £辑;
业务匹配模块, 用于根据所述业务创建模块创建的 Mashup应用逻辑 绑定第三方服务, 并把绑定的第三方服务和所述生成的 Mashup应用逻辑 发送给所述客户端, 以使得所述客户端根据所述 Mashup应用逻辑绑定客 户端的本地服务; 以及根据所述客户端绑定的本地服务和服务器绑定的第 三方服务, 与所述客户端协商确定绑定的具体服务;
业务逻辑解析模块, 用于根据所述绑定的具体服务和所述 Mashup 应用逻辑生成业务逻辑流程;
业务执行引擎模块, 用于根据所述业务逻辑流程调用所述具体服务, 与所述客户端并行同步执行所述业务逻辑流程; 以及,
业务同步模块, 用于在 Mashup业务协商和执行过程中客户端与服务 器端状态信息同步。
本发明实施例提供的一种 Mashup客户端, 包括:
业务匹配模块, 用于向服务器发送 Mashup业务创建请求, 以使得所 述服务器创建 Mashup应用逻辑; 接收所述服务器创建的 Mashup应用逻 辑和根据所述 Mashup应用逻辑绑定的第三方服务; 并根据所述 Mashup 应用逻辑绑定本地服务; 业务执行引擎模块, 用于向所述服务器上报所述业务匹配模块绑定的 本地服务, 以使得所述服务器根据所述客户端绑定的本地服务和服务器绑 定的第三方服务, 与所述客户端协商确定绑定的具体服务, 并根据所述绑 定的具体服务和所述 Mashup应用逻辑生成业务逻辑流程; 以及根据所述 业务逻辑流程调用所述具体服务, 与所述客户端并行同步执行所述业务逻 辑流程;
业务同步模块, 用于根据所述业务逻辑流程调用终端或外部服务, 和 所述服务器并行同步执行所述业务逻辑流程。
由本发明实施例的技术方案可知,通过服务器创建 Mashup应用逻辑, 实现 Mashup应用和第三方数据源的解耦, 屏蔽了客户端对各种第三方数 据的直接接口, 降低了 Mashup应用创建的复杂度; 通过服务器与客户端 协商确定绑定的具体服务, 能够平衡客户端和服务器的处理能力, 将 Mashu 应用逻辑根据实际情况进行分发, 由客户端和服务器端并行分布 式执行, 由此可以降低服务器的负担, 同时在涉及用户终端能力和数据相 关的 Mashup应用时可以充分保障用户个人信息的安全, 不会上传到网络 上, 避免对用户隐私造成侵犯, 支持更加个性化的业务选择。
附图说明 实施例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见 地, 下面描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术 人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其 他的附图。
图 1为本发明实施例提供的一种客户端和服务器动态协助的业务聚合 方法流程图;
图 2为本发明实施例提供的另一种客户端和服务器动态协助的业务聚 合方法流程图; 图 3为本发明实施例提供的一种客户端和服务器动态协助的业务聚合 系统的组成示意图;
图 4为本发明实施例提供的一种 Mashup服务器的功能模块示意图; 图 5为本发明实施例提供的一种 Mashup客户端的功能模块示意图; 图 6为本发明实施例提供的服务器和客户端的同步机制示意图; 图 7为本发明实施例提供的服务器和客户端之间的运行环境协商流程 图;
图 8为本发明实施例提供的一个 Mashup应用的执行流程图。 具体实施方式
为使本发明的目的、 技术方案、 及优点更加清楚明白, 下面结合附图 并举实施例, 对本发明提供的技术方案进一步详细描述。 显然, 所描述的 实施例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于本发明中 的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所 有其他实施例, 都属于本发明保护的范围。
参见附图 1, 本发明实施例提供的一种客户端和服务器动态协助的业 务聚合方法, 包括如下内容:
步骤 1 1, 服务器接收到客户端的 Mashup业务创建请求后, 创建 Mashu 应用還辑。
服务器采用的是一种自包含结构化语言,生成基于扩展 HTML Tag或 Java Script对象的 Mashup应用還辑,该 Mashu 应用還辑包含 Tag元素名 称、 标识 ID、 动作及参数, 可以由服务器和客户端分布式执行。
例如, 基于 W3C XML相关标准扩展 Mashu 的标记元素:
element : := EmptyElement | STag content ETag | MashupElement
为了在 HTML文件中包含 Mashu 业务应用,可以定义一个<^½811叩〉 标签:
MashupElement:: = '<mashup' [S 'id' Eq "" (Letter) + ""] '>' (MElement)*
'</mashup>'
每个元素包含开始、 结束标签或者是空元素:
MElement : := MEmptyElement | MSTag MContent METag
MEmptyElement : := '<' M esourceS'/>')
MSTag : := '<' MResourceS'>'
METag : := '</' MResourceEV
每个 Mashup扩展元素都代表一种抽象的资源和服务, 这些资源和服 务可均由相关第三方具体的应用来提供。 基于 XML标准, 每个元素都定 义了全局标识 GI, Mashup元素可以利用全局标识来代表提供服务的第三 方应用; Mashup业务创建者也可以不指定具体的全局标识 GI, 可由服务 器自动选择具体的第三方服务。 例如可以定义如下的一些 Mashup元素, MresourceS , MResourceE分别代表相关元素的开始和结束标签。
M esourceS : := Mmap | Mlocation | Mphoto | Mvideo | Mblog
I Mbookmark | Mevent | Msms | Mplace |
Msearch | Mproduct | Mcall | Memail |
Mcalendar |MrealEstate
MResourceE ::= 'map' | 'location' | 'photo' | 'video' | 'blog' |
'bookmark' | 'event' | 'sms' ^place' | 'search' |
'product' I 'call' | 'email' | 'calendar' |
'realEstate'
基于上述的定义, 一个简单的 Mashup应用就可以简单地通过下面的 方式来表达。
<mashup>
<location />
<mapx/map>
<event></event>
<photo></photo>
</mashup> 根据相关具体服务, 每个元素可以包括多种方法。 为了更好的使用这 些服务的不同方法, 需要给 Mashup元素增加动作 Action和属性, 例如:
Mmap ::= 'map' (MapAction) (GAtr)
MapAction:: = centerMap | unknownAction
centerMap ::= S 'action' Eq ""center"" centerMap Atr
这些属性在 Mashup执行的过程中可以被替换成具体的方法, 例如上 述的 Mashu 例子:
<mashup>
<location action="getCurrentPosition"/>
<map action="create"></map>
<map action= " addMarker " ></map>
<event action="search"></event>
<photo action="search"></photo>
</mashup>
Mashup扩展 Tag主要用来方便集成各种第三方应用资源, 主要遵从
HTML范式, 可以是嵌套元素, 具体内容可以为空、 文本或其他 HTML 元素, 例如:
MContent :: = (element | PCData | Reference | CDSect | PI | Comment | MElement)*
步骤 12, 所述服务器根据所述 Mashup应用逻辑绑定第三方服务, 并 把绑定的第三方服务和所述生成的 Mashup应用逻辑发送给所述客户端, 以使得所述客户端根据所述 Mashup应用逻辑绑定客户端的本地服务; 以 及根据所述客户端绑定的本地服务和服务器绑定的第三方服务, 与所述客 户端协商确定绑定的具体服务。
服务器在绑定第三方服务时, 可以参考服务器端的 QoS信息,如服务 响应平均时间和 /或异常概率等,同时这些信息可以在执行的过程中进行不 断的统计; 还可以参考用户公开的相关信息, 如用户个人偏好等, 在匹配 服务时可以根据具体用户偏好来进行选择, 比如同类型的业务选择的规则 等; 还可以参考用户授权动态上报的信息, 用户的私有信息可以在用户授 权的情况下将相关信息发送到服务器端, 供绑定服务时参考。
客户端在绑定的本地服务时, 可以参考用户公开或非公开的用户信息 绑定客户端支持的本地服务。 客户端在根据服务器下发的抽象业务逻辑进 行具体业务匹配时, 调用的服务可能是某些不适合在服务器上运行的、 基 于终端的用户个人信息, 这类服务均由客户端直接在终端侧进行绑定。
当客户端绑定的本地服务与所述服务器绑定的第三方服务重复时, 使 用客户端和服务器共同绑定的服务; 当客户端绑定的服务与所述服务器绑 定的服务不同时, 服务器优先使用客户端所绑定的服务。
步骤 13, 所述服务器根据所述绑定的具体服务和所述 Mashup应用逻 辑生成业务逻辑流程。
步骤 14, 所述服务器根据所述业务逻辑流程调用所述具体服务, 与所 述客户端并行同步执行所述业务逻辑流程。
在执行的过程中涉及到和客户端同步的时候向所述客户端发送同步 请求或等待客户端的同步信息。 具体地, 针对 Mashup应用逻辑的 Tag或 JS对象设置的相关状态信息,业务执行过程中所述服务器与所述客户端基 于不同的状态进行同步操作; 当所述服务器与所述客户端需要对方的信息 时, 申请关联状态锁定, 并执行关联动作, 把关联参数发送给对方。
本发明实施例提供的客户端和服务器动态协助的业务聚合方法, 通过 服务器上创建 Mashup应用逻辑, 实现 Mashup应用和第三方数据源的解 耦, 屏蔽了客户端对各种第三方数据的直接接口, 降低了 Mashup应用创 建的复杂度; 通过服务器与客户端协商确定绑定的具体服务, 能够平衡客 户端和服务器的处理能力, 将 Mashup应用逻辑根据实际情况进行分发, 由客户端和服务器端并行分布式执行, 由此可以降低服务器的负担, 同时 在涉及用户终端能力和数据相关的 Mashup应用时可以充分保障用户个人 信息的安全, 不会上传到网络上, 避免对用户隐私造成侵犯, 支持更加个 性化的业务选择。
需要说明的是, 如果服务器支持两个以上的客户端共享一个 Mashup 应用逻辑, 且不同的客户端绑定不同的本地服务, 则所述服务器端调用的 具体服务结果可以在不同客户端之间共享, 当某个客户端的动作影响到服 务器中的状态时, 服务器可以通过与客户端之间的同步操作对不同客户端 的 Mashup业务进行同步, 从而可以避免服务器重复调用第三方服务。
相对应地, 请参见附图 2, 本发明实施例提供的另一种客户端和服务 器动态协助的业务聚合方法, 包括如下内容:
步骤 21, 客户端向服务器发送 Mashup业务创建请求, 以使得所述服 务器创建 Mashup应用逻辑, 并根据所述 Mashup应用逻辑绑定第三方服 务。
步骤 22,所述客户端接收所述服务器发送的绑定的第三方服务和创建 的 Mashup应用逻辑, 并根据所述 Mashup应用逻辑绑定本地服务。
步骤 23, 所述客户端向所述服务器上报所述绑定的本地服务, 以使得 所述服务器根据所述客户端绑定的本地服务和服务器绑定的第三方服务, 与所述客户端协商确定绑定的具体服务, 并根据所述绑定的具体服务和所 述 Mashup应用逻辑生成业务逻辑流程;
步骤 24, 所述客户端根据所述业务逻辑流程调用终端或外部服务, 和 所述服务器并行同步执行所述业务逻辑流程。
在执行的过程中涉及到和服务器端同步的时候向所述服务器发送同 步请求或等待服务器的同步信息。
同理, 本发明实施例提供的客户端和服务器动态协助的业务聚合方 法, 通过服务器创建 Mashup应用逻辑, 实现 Mashup应用和第三方数据 源的解耦, 屏蔽了客户端对各种第三方数据的直接接口, 降低了 Mashup 应用创建的复杂度; 通过服务器与客户端协商确定绑定的具体服务, 能够 平衡客户端和服务器的处理能力, 将 Mashup应用逻辑根据实际情况进行 分发,由客户端和服务器端并行分布式执行,由此可以降低服务器的负担, 同时在涉及用户终端能力和数据相关的 Mashup应用时可以充分保障用户 个人信息的安全, 不会上传到网络上, 避免对用户隐私造成侵犯, 支持更 加个性化的业务选择。
下面采用具体的实例对上述的方法进行说明。 该 Mashup应用的场景 是以用户当前的位置为中心显示地图, 并根据用户当前的位置把周围的照 片和新闻事件标记在地图上, 位置服务可以嵌套在地图、 照片和新闻服务 中。 创建的 Mashup应用逻辑具体如下:
<mashup id="usecase">
<map action="create" id="map_canvas">
<location action="getCurrentPosition" id="user_position"/>
</map>
<map action="addMarker" id="map_canvas">
<event action="search" id="event_collection">
<location id="user_position"/>
</event>
</map>
<map action="addMarker" id="map_canvas">
<photo action=" search" id="photo_collection">
<location id="user_position"/>
</photo>
</map>
</mashup>
根据该 Mashup应用逻辑服务器绑定第三方服务。 例如绑定的第三方 月良务为下面的 Google Maps的注册描述信息:
< ?xml version^ " 1.0" encodings "UTF-8 " standalone^ "yes "?>
application xmlns:xs^ "http: //www. w3.org/2001/XMLSchema
xmlns:xsi^ "http://www. w3.org/2001/XMLSchema-instance xmlns:xsd^ "http://www.w3.org/2001/XMLSchema "
xmlns^ "http: ^/research. sun.com/wadl/2006/ 10">
<resources ba e^ rhttp: //maps. google.com/">
<reso rce path="s1a1icmap">
<method nawe="GET" mref^ "getMapImage ">
<request>
<param sty le^ "query " required^ "true " name: "key " fixed: "xxx "/>
<param style^ "template " required: "true" name^'lat" type^"xs: double "/>
<param style^ "template " required^ "true " nome^'lng" type^"xs: double "/>
<param sty le^ "query " required: "true " name^ "center"
Figure imgf000013_0001
<param style^" tempi ate" required^ "true " name "width " type^"xs:int"/>
<param style: "template" required: "true " name^ "height" type^"xs:int'V>
<param sty le^ "query" required: "true " name^"size"
fixed: ,f{width}x{height} >
<param style " query " required: "true " name: "zoom " type^"xs:int "/>
<param style^ "query " required^ "false " name^ "map type "/>
<param sty le^" query " required: "false " name: "markers "/>
</request>
<response>
<param name="map url" style="plain" fixed^ " {request. uri}"/>
Representation mediaType^ "application/octet- stream">
</representation>
</response>
</method> </resource>
</resources>
</application>
同时为了动态绑定具体的业务, 服务器需要把 Web 应用程序描述语 言 ( Web Application Description Language , WADL ) 映射成抽象的 Tag。
根据上面的 Mashup业务, 服务器可以根据第三方服务的注册信息, 把 map具体绑定到 google Ma 上, 根据 action的不同, 把调用形式具体 替换成 google Ma 的操作。 例如,
http://maps. google. com/staticmap?center=X
( 40.714728 ) ,Y(-73.998672)&zoom=12&size=400x400, 其中 Center经纬 度通过 location服务调用, 该服务可由客户端绑定到手机的 GPS功能上, 并由客户端把 X、 Y值传递到服务器上; 同样地, event可以绑定到纽约 时报的 API服务,根据用户位置搜索相关的新闻, photo可以绑定到 Flickr 的图片检索 API。
当绑定好后, 开始 Mashup应用逻辑流程: 首先执行 Location操作, 并根据 Location, 执行创建 Map操作, 然后可以同时执行搜索新闻和搜索 图片操作。 由于搜索新闻和搜索图片服务都使用到 Location信息, 而且业 务逻辑中标识了 Location的 ID, 可以直接使用前面的 Location信息。
在该 Mashup应用的服务绑定操作中, 把 Location服务绑定到本地的 GPS服务, 由客户端直接调用, 所以在开始时, 客户端要锁定服务器的 Map操作的 Tag, 当客户端执行 GPS获取结果后, 发送解除锁定, 并更新 位置信息到服务器上, 由服务器运行环境继续执行后续的 Mashup应用逻 辑。
基于上述的方法实施例, 请参见附图 3, 本发明实施例提供了一种客 户端和服务器动态协助的业务聚合系统, 包括 Mashup服务器 100和 Mashu 客户端 200, 其中,
Mashu 服务器 100, 用于在接收到 Mashup客户端 200的 Mashup业 务创建请求后, 创建 Mashup应用逻辑; 根据所述 Mashup应用逻辑绑定 第三方服务, 并把绑定的第三方服务和所述生成的 Mashup应用逻辑发送 给所述客户端, 以使得所述客户端根据所述 Mashup应用逻辑绑定客户端 的本地服务; 以及根据所述客户端绑定的本地服务和服务器绑定的第三方 服务, 与所述客户端协商确定绑定的具体服务, 并根据所述绑定的具体服 务和所述 Mashup应用逻辑生成业务逻辑流程, 然后根据所述业务逻辑流 程调用所述具体服务, 与所述客户端并行同步执行所述业务逻辑流程。
Mashup客户端 200, 用于向服务器发送 Mashup业务创建请求, 以使 得所述服务器创建 Mashup应用逻辑, 并根据所述 Mashup应用逻辑绑定 第三方服务; 接收所述服务器发送的绑定的第三方服务和创建的 Mashup 应用逻辑, 并根据所述 Mashup应用逻辑绑定本地服务, 并向所述服务器 上报所述绑定的本地服务, 以使得所述服务器根据所述客户端绑定的本地 服务和服务器绑定的第三方服务, 与所述客户端协商确定绑定的具体服 务, 并根据所述绑定的具体服务和所述 Mashup应用逻辑生成业务逻辑流 程; 然后根据所述业务逻辑流程调用终端或外部服务, 和所述服务器并行 同步执行所述业务逻辑流程。
请参见附图 4, 本发明实施例提供的 Mashup服务器可以包括业务创 建模块 101、 业务匹配模块 106、 业务逻辑解析模块 107、 业务同步模块
108和业务执行引擎模块 109; 具体地,
业务创建模块 101,主要供 Mashup业务创建人员创建 Mashup应用逻 辑,该模块支持简单抽象的 Mashup业务创建模式,用户主要关注与 Mashup 应用需求, 不需要具体关心第三方业务接口, Mashup服务器通过简单内 置的扩展 TAG、 Java Script对象或者其方式创建 Mashup应用逻辑, 实现 对具体业务的调用。 业务匹配模块 106, 主要负责根据所述业务创建模块 101创建的 Mashup应用逻辑绑定第三方服务, 并把绑定的第三方服务和所述生成的 Mashup应用逻辑发送给所述客户端, 以使得所述客户端根据所述 Mashup 应用逻辑绑定客户端的本地服务; 以及根据所述客户端绑定的本地服务和 服务器绑定的第三方服务, 与所述客户端协商确定绑定的具体服务。
业务逻辑解析模块 107, 主要负责分析 Mashup业务库中相关的抽象 逻辑部分, 根据 Mashup业务中一系列内置扩展的 Tag或 java Script对象 所对应的服务和数据源信息生成业务逻辑流程。
业务同步模块 108, 主要负责在 Mashup业务协商和执行过程中客户 端与服务器端状态信息同步, 包括客户端和服务器端的业务绑定过程中的 协商、 客户端和服务器端的业务执行过程中的状态改变通知及参数传递 等。
业务执行引擎模块 109, 主要负责根据业务逻辑解析模块 107和业务 匹配模块 106处理后的具体业务逻辑流程调用具体服务, 在执行的过程中 涉及到和客户端同步的时候通过业务同步模块 108发送同步请求或等待客 户端的同步信息。
进一步地, 仍参见附图 4, 本发明实施例提供的 Mashup服务器还可 以包括: Mashup业务库 102、 业务目录模块 103、 用户信息模块 104、 业 务 QoS评估模块 105, 其中,
Mashu 业务库 102, 主要存储业务创建模块 101创建的 Mashup应用 逻辑, 该应用逻辑需要由业务匹配模块 106把抽象的 Tag或 JS对象与具 体服务绑定后才可以执行。
业务目录模块 103, 主要存储可用 Mashup服务器使用的第三方服务 或数据源信息, 同时保存可以把 Mashup服务器提供的抽象 Tag或 Js对象 映射成具体服务的映射关系。
用户信息模块 104, 主要存储用户公开的相关信息, 如用户个人偏好 业务选择的规则等。
业务 QoS评估模块 105, 主要负责评估执行过程中相关服务、 数据源 的的 QoS信息, 如响应时间、 出错概率等, 该信息可以供业务匹配模块 106在绑定具体服务时参考。
这样, 所述业务匹配模块 106, 具体用于参考所述用户信息模块 104 中的用户信息和所述业务 QoS评估模块 105中的相关服务、数据源的 Qos 信息, 根据所述 Mashup业务库 102的 Mashup应用逻辑绑定所述业务目 录模块 103中的具体服务。
请参见附图 5, 本发明实施例提供的 Mashup客户端可以包括业务匹 配模块 203、 业务同步模块 204和业务执行引擎模块 205 ; 具体地,
业务匹配模块 203, 主要负责向服务器发送 Mashup业务创建请求, 以使得所述服务器创建 Mashup应用逻辑;接收所述服务器创建的 Mashup 应用逻辑和根据所述 Mashup应用逻辑绑定的第三方服务; 并根据所述 Mashup应用逻辑绑定本地服务。 需要说明的是, 客户端根据 Mashup服务 器下发的抽象的 Mashup应用逻辑进行具体服务匹配时, 调用的服务可能 是基于终端的或者某些服务涉及到用户个人信息, 不适合在服务器上运 行, 这类服务均由客户端的业务匹配模块 203在业务执行时直接在终端侧 进行绑定。
业务同步模块 204, 主要负责在 Mashup业务协商和执行过程中客户 端与服务器端状态信息同步, 包括客户端、 服务器端业务绑定过程协商、 客户端和服务器端业务执行过程中的状态改变通知及参数传递等。
业务执行引擎模块 205, 主要负责根据业务匹配模块 203处理后的具 体业务逻辑调用终端或外部服务, 在执行的过程中涉及到和服务器端同步 的时候通过业务同步模块 204发送同步请求或等待服务器的同步信息。
进一步地, 仍参见附图 5, 本发明实施例提供的 Mashup客户端还可 以包括: 用户信息模块 201和业务目录模块 202, 其中,
用户信息模块 201, 主要存储用户的私有信息, 并在用户授权的情况 下将相关信息发送到服务器端的用户信息模块 104, 供服务匹配参考, 该 私有信息包括用户偏好和用户相关资源, 如用户个人日历等, 在匹配具体 服务时可以根据具体用户偏好来进行选择。 比如同类型的业务选择的规则 等。
业务目录模块 202, 主要存储终端相关的服务和资源信息, 以及终端 能够直接调用的外部业务信息和服务的映射关系等。 随着终端功能越来越 丰富, 终端设备通过软、 硬件方式可以提供各种能力, 如 PGS、 牌照、 传 感器功能和相关的软件功能等待, 由业务目录模块 202对这些能力进行统 一的描述, 另外对一些适合终端执行的第三方服务也可以在此描述, 当 Mashup应用调用这些能力时可以从业务目录中检索。
这样, 业务匹配模块 203, 具体用于参考所述用户信息模块 201中的 用户私有信息, 根据所述服务器创建的 Mashup应用逻辑绑定所述业务目 录模块 202中的本地服务。
下面对服务器和客户端的同步机制作详细说明。
用户请求 Mashup应用时, 由服务器和客户端相互配合完成 Mashup 业务, 即 Mashup应用逻辑会在客户端和服务器端同步并行处理, 主要分 两个阶段, 一个是协商阶段、 一个是执行阶段。 请参见附图 6, 具体过程 如下:
61 , 用户向服务器发送 Mashup业务创建请求。
62 , 服务器接收该请求, 并根据请求内容生成基于 HTML Tag或 Java Script对象的 Mashup应用還辑。
63 , Mashup服务器运行环境的业务逻辑解析模块分析解析出相关扩 展标签或对象, 根据映射关系生成调用相关外部服务的调用流程。
64 , 服务器将调用流程及服务器运行环境传输到客户端。 65 , 客户端接收该服务器运行环境, 并启动客户端运行环境。
66 , 客户端运行环境和服务器端运行环境开始进行协商, 该协商主要 是客户端和服务器的业务匹配模块在绑定具体服务时的相关同步状态信 息, 例如客户端根据用户信息绑定一个具体服务时, 该服务可能影响服务 器的服务绑定, 这时就需要把客户端的服务绑定信息通知服务器端, 并最 终完成 Mashup应用在服务器和客户端之间的协商流程。
67 , 服务器和客户端开始分别执行 Mashup应用逻辑, 该执行也需要 进行必要的状态同步, 双方根据业务逻辑的调用流程互相配合, 比如当客 户端需要使用服务器的某些结果就需要知道服务器运行的进度, 是否需要 等待等, 此时服务器将执行结果发送给客户端, 通过在客户端合并服务器 和客户端的执行结果, 向用户展现 Mashup应用。
为方便服务器和客户端相互配合完成 Mashup业务, 因此有必要在服 务器和客户端之间定义相关的操作消息, 所述操作消息如表 1-5所示: 表 1 通用消息
Figure imgf000019_0001
表 2 协商消息
Figure imgf000019_0002
executeFlo 执行业务流程 客户端<一良 w ( workflow ) 备力 哭
表 3 执行消息
Figure imgf000020_0001
表 4 同步消息
Figure imgf000020_0002
表 5消息参数
参数 描述
File 包含 MashupXML的文件
MashupXML Mashup应用的 XML文档
Workflow Mashup业务流程
ServiceDescript 业务描述信息
ion
Tag uMASH 标签
MashupID Mashup标识
InputID 输入参数 ChannellD 信号标识
TagID 标签标识
TagState 标签状态
71 , 客户端根据服务器运行需求发送公开的偏好信息给服务器运行环 境;
72 , 服务器运行环境根据用户的相关信息绑定对应的外部服务; 73, 服务器运行环境发送绑定信息到客户端;
74, 客户端运行环境根据自身的相关能力, 绑定客户端本地服务;
75 , 客户端运行环境把绑定的客户端本地服务信息发送到服务器;
76 , 服务器运行环境分析所有服务的绑定信息:
77, 当发现有些 Tag无法绑定到具体的服务时, 说明该 Mashup应用 无法执行, 进行异常处理;
78 , 当发现某些 Tag客户端和服务器端重复绑定, 则去除服务器的绑 定信息;
79, 当所有 Tag绑定服务正常, 则根据所有的绑定信息及相关的嵌套 关系创建执行流程信息;
70, 服务器运行环境将创建的执行流程信息发送到客户端, 由客户端 和服务器端同步执行 Mashup应用, 调用本地和外部的第三方服务。
在业务流程执行过程中状态迁移时会有相应的同步操作发送同步操 作或等待同步操作, 根据标签之间的嵌套关系产生业务之间的输入输出参 数变量, 以便在业务流程执行过程中进行同步处理。
请参见附图 8, 一个具体的 Mashup应用执行流程如下:
81, 客户端 (如浏览器)请求一个 Mashup应用;
82 , 服务器获取该 Mashup应用的业务逻辑文件, 并交与服务器运行 环境启动该 Mashup应用; 83, 服务器端运行环境根据该 Mashup应用, 向客户端返回该 Mashup 应用的服务器端运行环境相关信息;
84, 客户端启动该 Mashup应用的客户端运行环境;
85, 服务器运行环境请求用户的偏好信息;
86 , 客户端运行环境返回用户的偏好信息;
87 , 服务器运行环境绑定相关的外部服务;
88, 服务器运行环境通知客户端运行环境绑定客户端本地服务; 89, 客户端运行环境绑定客户端本地服务;
90, 客户端运行环境发送客户端绑定服务信息给服务器运行环境; 服务器分析所有服务的绑定信息,
91如果绑定异常, 则进行异常处理, 同时通知客户端运行环境进行异 常处理;
92, 在所有的绑定正常时, 服务器根据所有的绑定信息创建 Mashup 业务的执行流程;
93, 服务器运行环境通知客户端运行环境启动业务流程的执行;
94, 服务器和客户端的运行环境同步调用相关的业务;
95, 客户端运行环境根据业务流程需要, 可以暂时锁定服务器的业务 调用;
96 , 服务器运行环境将业务流程状态信息返回客户端运行环境; 97, 客户端运行环境根据本地业务调用信息, 执行相关处理;
98, 执行完毕后, 再由客户端运行环境解除服务器端的锁定状态; 99, 在业务执行过程中需要进行同步处理时, 客户端运行环境更新相 关输入参数到服务器运行环境;
100 , 服务器运行环境发送同步信号给客户端运行环境;
101, 客户端运行环境作出响应;
102 , 客户端获取服务器的执行结果; 103 , 在客户端合并服务器和客户端的执行结果, 向用户展现 Mashup 应用。
需要说明的是, 在 Mashup服务器支持多客户端时, 不同用户在执行 Mashup应用时可以根据不同的偏好绑定自己的不同的服务, 虽然 Mashup 应用调用的用户数据是不能分享的, 每个用户各不相同, 但 Mashup应用 逻辑却是共享的。 例如 Mashup应用功能是在地图上显示好友信息(状态、 签名等) , 共享的地图是由服务器统一处理, 但不同用户显示的具体信息 是不同的。 这样, 服务器端和多客户端之间就需要信息的同步, 例如地图 缩放级别的更新等动作需要所有终端进行同步。
本发明的服务器、 客户端和系统实施例中所提供各个单元之间的交互 及相关信息均可以参考前述各个方法实施例提供的相关流程, 具体功能和 处理流程请参见前述各个实施例, 在此不再赘述。
最后需要说明的是, 本领域普通技术人员可以理解实现上述实施例方 法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完 成, 所述的程序可存储于一计算机可读取存储介质中, 该程序在执行时, 可包括如上述各方法的实施例的流程。 其中, 所述的存储介质可为磁碟、 光盘、 只读存储记忆体 ( Read-Only Memory, ROM )或随机存储记忆体 ( Random Access Memory , RAM ) 等。
本发明实施例中的各功能单元可以集成在一个处理模块中, 也可以是 各个单元单独物理存在, 也可以两个或两个以上单元集成在一个模块中。 上述集成的模块既可以采用硬件的形式实现, 也可以采用软件功能模块的 形式实现。 所述集成的模块如果以软件功能模块的形式实现并作为独立的 产品销售或使用时, 也可以存储在一个计算机可读取存储介质中。 上述提 到的存储介质可以是只读存储器, 磁盘或光盘等。
上述具体实施例并不用以限制本发明, 对于本技术领域的普通技术人员 来说, 凡在不脱离本发明原理的前提下, 所作的任何修改、 等同替换、 改进 等, 均应包含在本发明的保护范围之内。

Claims

权 利 要 求 书
1、 一种客户端和服务器动态协助的业务聚合方法, 其特征在于, 包 括:
月良务器接收到客户端的 Mashup业务创建请求后, 创建 Mashup应用 所述服务器根据所述 Mashup应用逻辑绑定第三方服务, 并把绑定的 第三方服务和所述生成的 Mashup应用逻辑发送给所述客户端, 以使得所 述客户端根据所述 Mashup应用逻辑绑定客户端的本地服务; 以及根据所 述客户端绑定的本地服务和服务器绑定的第三方服务, 与所述客户端协商 确定绑定的具体服务;
所述服务器并根据所述绑定的具体服务和所述 Mashup应用逻辑生成 业务逻辑流程;
所述服务器根据所述业务逻辑流程调用所述具体服务, 与所述客户端 并行同步执行所述业务逻辑流程。
2、如权利要求 1所述的业务聚合方法,其特征在于,所述创建 Mashup 应用逻辑包括:
服务器采用一种自包含结构化语言, 生成基于 HTML Tag或 Java Script对象的 Mashup应用還辑。
3、 如权利要求 1所述的业务聚合方法, 其特征在于, 所述服务器根 据所述 Mashup应用逻辑绑定第三方服务包括: 所述服务器参考所述服务 器端的 QoS信息和所述客户端授权动态上报的信息, 根据所述 Mashup应 用逻辑绑定第三方服务。
4、 如权利要求 1所述的业务聚合方法, 其特征在于, 所述服务器根 据所述客户端绑定的本地服务和服务器绑定的第三方服务, 与所述客户端 协商确定绑定的具体服务包括:
当客户端绑定的本地服务与所述服务器绑定的第三方服务重复时, 使 用客户端和服务器共同绑定的服务;
当客户端绑定的本地服务与所述服务器绑定的第三方服务不同时, 优 先使用客户端绑定的本地服务。
5、 如权利要求 1所述的业务聚合方法, 其特征在于, 所述服务器和 所述客户端并行同步执行所述业务逻辑流程包括:
所述服务器和所述客户端基于不同的业务执行状态进行同步操作; 当所述服务器和所述客户端需要对方的信息时, 申请关联状态锁定, 并执行关联动作, 把关联参数发送给对方。
6、 如权利要求 1-5任一项所述的业务聚合方法, 其特征在于, 当所述 服务器支持两个以上的客户端共享一个 Mashup应用逻辑, 且不同的客户 端绑定不同的本地服务时, 所述方法还包括:
所述服务器端绑定的具体服务结果在不同客户端之间共享, 当某个客 户端的动作影响到服务器中的状态后, 通过所述服务器与客户端之间的同 步操作对不同客户端的 Mashup业务进行同步。
7、 一种客户端和服务器动态协助的业务聚合方法, 其特征在于, 包 括:
客户端向服务器发送 Mashup业务创建请求, 以使得所述服务器创建 Mashu 应用逻辑, 并根据所述 Mashup应用逻辑绑定第三方服务;
所述客户端接收所述服务器发送的绑定的第三方服务和创建的
Mashup应用逻辑, 并根据所述 Mashup应用逻辑绑定本地服务;
所述客户端向所述服务器上报所述绑定的本地服务, 以使得所述服务 器根据所述客户端绑定的本地服务和服务器绑定的第三方服务, 与所述客 户端协商确定绑定的具体服务,并根据所述绑定的具体服务和所述 Mashup 应用逻辑生成业务逻辑流程;
所述客户端根据所述业务逻辑流程调用终端或外部服务, 和所述服务 器并行同步执行所述业务逻辑流程。
8、 如权利要求 7所述的业务聚合方法, 其特征在于, 所述客户端根 据所述 Mashup应用逻辑绑定本地服务包括:
所述客户端参考用户私有信息和终端相关的服务和资源信息, 根据所 述服务器创建的 Mashup应用逻辑绑定本地服务。
9、 一种 Mashup服务器, 其特征在于, 包括:
业务创建模块,用于根据客户端的 Mashup业务创建请求,创建 Mashup 应用逻辑;
业务匹配模块, 用于根据所述业务创建模块创建的 Mashup应用逻辑 绑定第三方服务, 并把绑定的第三方服务和所述生成的 Mashup应用逻辑 发送给所述客户端, 以使得所述客户端根据所述 Mashup应用逻辑绑定客 户端的本地服务; 以及根据所述客户端绑定的本地服务和服务器绑定的第 三方服务, 与所述客户端协商确定绑定的具体服务;
业务逻辑解析模块, 用于根据所述绑定的具体服务和所述 Mashup 应用逻辑生成业务逻辑流程;
业务执行引擎模块, 用于根据所述业务逻辑流程调用所述具体服务, 与所述客户端并行同步执行所述业务逻辑流程; 以及,
业务同步模块, 用于在 Mashup业务协商和执行过程中客户端与服务 器端状态信息同步。
10、 如权利要求 9所述的 Mashup服务器, 其特征在于, 所述 Mashup 服务器还包括:
Mashu 业务库,用于存储所述业务创建模块创建的 Mashup应用逻辑; 业务目录模块, 用于存储可供 Mashup服务器使用的第三方服务或数 据源信息, 以及能够把 Mashup服务器生成的 Mashup应用逻辑映射成具 体服务的映射关系;
用户信息模块, 用于存储用户的公开信息和用户授权动态上报的信 息; 业务 QoS评估模块, 用于评估执行过程中相关服务、 数据源的 QoS 信息;
所述业务匹配模块, 具体用于参考所述用户信息模块中的用户信息和 所述业务 QoS评估模块中的相关服务、 数据源的 Qos信息, 根据所述 Mashu 业务库的 Mashup应用逻辑绑定所述业务目录模块中的具体服务。
11、 一种 Mashup客户端, 其特征在于, 包括:
业务匹配模块, 用于向服务器发送 Mashup业务创建请求, 以使得所 述服务器创建 Mashup应用逻辑; 接收所述服务器创建的 Mashup应用逻 辑和根据所述 Mashup应用逻辑绑定的第三方服务; 并根据所述 Mashup 应用逻辑绑定本地服务;
业务执行引擎模块, 用于向所述服务器上报所述业务匹配模块绑定的 本地服务, 以使得所述服务器根据所述客户端绑定的本地服务和服务器绑 定的第三方服务, 与所述客户端协商确定绑定的具体服务, 并根据所述绑 定的具体服务和所述 Mashup应用逻辑生成业务逻辑流程; 以及根据所述 业务逻辑流程调用所述具体服务, 与所述服务器并行同步执行所述业务逻 辑流程;
业务同步模块, 用于根据所述业务逻辑流程调用终端或外部服务, 和 所述服务器并行同步执行所述业务逻辑流程。
12、如权利要求 1 1所述的 Mashup客户端,其特征在于,所述 Mashup 客户端还包括:
用户信息模块, 用于存储用户的私有信息, 并在用户授权的情况下将 相关信息发送到 Mashup服务器;
业务目录模块, 用于存储终端相关的服务和资源信息, 以及终端能够 直接调用的外部业务信息和服务的映射关系;
所述业务匹配模块,具体用于参考所述用户信息模块中的用户私有信息, 根据所述服务器创建的 Mashup应用逻辑绑定所述业务目录模块中的本地服 LZ
C696.0/0T0ZN3/X3d 0.^690/ΐΐΟΖ OAV
PCT/CN2010/079693 2009-12-11 2010-12-13 客户端和服务器动态协助的业务聚合方法、服务器和客户端 WO2011069470A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP10835505.8A EP2506518B1 (en) 2009-12-11 2010-12-13 Service aggregation method dynamically assisted by client and server, server and client
US13/493,682 US9203907B2 (en) 2009-12-11 2012-06-11 Method, server and client in implementing service Mashup for web applications integrations through dynamic cooperation of client and server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200910260521XA CN102098211B (zh) 2009-12-11 2009-12-11 客户端和服务器动态协助的业务聚合方法、服务器和客户端
CN200910260521.X 2009-12-11

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/493,682 Continuation US9203907B2 (en) 2009-12-11 2012-06-11 Method, server and client in implementing service Mashup for web applications integrations through dynamic cooperation of client and server

Publications (1)

Publication Number Publication Date
WO2011069470A1 true WO2011069470A1 (zh) 2011-06-16

Family

ID=44131083

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/079693 WO2011069470A1 (zh) 2009-12-11 2010-12-13 客户端和服务器动态协助的业务聚合方法、服务器和客户端

Country Status (4)

Country Link
US (1) US9203907B2 (zh)
EP (1) EP2506518B1 (zh)
CN (1) CN102098211B (zh)
WO (1) WO2011069470A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633163A (zh) * 2019-09-26 2019-12-31 深圳市七星石科技有限公司 一种基于多进程服务器的预防应用程序崩溃的开发方法
CN112615938A (zh) * 2020-12-30 2021-04-06 四川巧夺天工信息安全智能设备有限公司 一种基于tcp的物联网客户端的跨平台协同工作方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110064674A (ko) * 2009-12-08 2011-06-15 삼성전자주식회사 동적 로컬 기능 결합 장치 및 방법
CN102647355B (zh) * 2012-04-12 2014-11-05 华为技术有限公司 Lacp协商处理方法、中继节点及系统
US9734044B2 (en) * 2014-03-05 2017-08-15 International Business Machines Corporation Automatic test case generation
CN103986708B (zh) * 2014-05-15 2017-02-15 宇龙计算机通信科技(深圳)有限公司 数据查询方法和数据查询装置
US10171493B2 (en) 2016-03-05 2019-01-01 Sears Brands, L.L.C. Method and system to dynamically obfuscate a web services interface
CN107153572B (zh) * 2017-04-14 2020-08-07 武红华 一种应用程序实现方法及装置
CN108681820B (zh) * 2018-05-21 2021-07-30 成都信息工程大学 一种增加信息安全机制对系统性能影响的分析方法
CN109660612A (zh) * 2018-12-11 2019-04-19 北京潘达互娱科技有限公司 一种请求处理方法和服务器
CN112702368B (zh) * 2019-10-22 2023-05-09 贵州白山云科技股份有限公司 服务请求的处理方法和装置
CN113177099B (zh) * 2021-05-12 2022-05-24 中移(上海)信息通信科技有限公司 终端聚合方法、装置、电子设备和可读存储介质
US11991188B2 (en) 2021-06-11 2024-05-21 Bank Of America Corporation Cognitive auditing of client bound data

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1610444A (zh) * 2004-11-23 2005-04-27 北京邮电大学 统一业务终端系统的构建方法以及业务应用的部署方法
US20070002840A1 (en) * 2005-06-21 2007-01-04 Lg Electronics Inc. Terminal, method and system for performing combination service using terminal capability version
KR20070009517A (ko) * 2006-12-29 2007-01-18 이종원 이동통신 단말기에서의 위치정보 획득 및 이를 이용한이동통신 단말의 영상 및 사진, 문자를 인터넷 지도에표시, 등록하기 위한 단말응용기술 및 서비스 시스템
CN1992888A (zh) * 2005-12-28 2007-07-04 中兴通讯股份有限公司 一种流媒体移动终端适配系统
WO2007074216A1 (en) * 2005-12-29 2007-07-05 Nokia Corporation Data transmission method and arrangement for data transmission
CN101488151A (zh) * 2009-01-20 2009-07-22 中国科学院计算技术研究所 一种聚合Web站点内容的系统和方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0213726D0 (en) 2002-06-14 2002-07-24 Nokia Corp A communication system
CN1307832C (zh) 2003-11-11 2007-03-28 华为技术有限公司 一种通信终端协助用户选择联系方式的方法
US8700738B2 (en) * 2005-02-01 2014-04-15 Newsilike Media Group, Inc. Dynamic feed generation
US20070050446A1 (en) 2005-02-01 2007-03-01 Moore James F Managing network-accessible resources
CN101127614A (zh) 2006-08-16 2008-02-20 华为技术有限公司 维护公有群组成员呈现信息的系统及方法
US8656342B2 (en) * 2007-02-23 2014-02-18 Accenture Global Services Limited Composing integrated systems using GUI-based applications and web services
US20080222237A1 (en) 2007-03-06 2008-09-11 Microsoft Corporation Web services mashup component wrappers
KR100995904B1 (ko) * 2007-12-18 2010-11-23 한국전자통신연구원 웹 서비스 방법 및 그 장치
US7908278B2 (en) * 2008-02-07 2011-03-15 International Business Machines Corporation Recommendation system for assisting mashup developers at build-time
US8417764B2 (en) * 2008-02-18 2013-04-09 International Business Machines Corporation Dynamic mashup creation from a set of resources and resource relationships
US8073857B2 (en) * 2009-02-17 2011-12-06 International Business Machines Corporation Semantics-based data transformation over a wire in mashups
US20100257242A1 (en) * 2009-04-02 2010-10-07 Morris Robert P Methods, Systems, And Computer Program Products For Providing A Mashup Using A Pub/Sub Tuple
US8321792B1 (en) * 2009-04-21 2012-11-27 Jackbe Corporation Method and system for capturing and using mashup data for trend analysis
US9277021B2 (en) * 2009-08-21 2016-03-01 Avaya Inc. Sending a user associated telecommunication address

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1610444A (zh) * 2004-11-23 2005-04-27 北京邮电大学 统一业务终端系统的构建方法以及业务应用的部署方法
US20070002840A1 (en) * 2005-06-21 2007-01-04 Lg Electronics Inc. Terminal, method and system for performing combination service using terminal capability version
CN1992888A (zh) * 2005-12-28 2007-07-04 中兴通讯股份有限公司 一种流媒体移动终端适配系统
WO2007074216A1 (en) * 2005-12-29 2007-07-05 Nokia Corporation Data transmission method and arrangement for data transmission
KR20070009517A (ko) * 2006-12-29 2007-01-18 이종원 이동통신 단말기에서의 위치정보 획득 및 이를 이용한이동통신 단말의 영상 및 사진, 문자를 인터넷 지도에표시, 등록하기 위한 단말응용기술 및 서비스 시스템
CN101488151A (zh) * 2009-01-20 2009-07-22 中国科学院计算技术研究所 一种聚合Web站点内容的系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2506518A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633163A (zh) * 2019-09-26 2019-12-31 深圳市七星石科技有限公司 一种基于多进程服务器的预防应用程序崩溃的开发方法
CN110633163B (zh) * 2019-09-26 2022-12-09 深圳市七星石科技有限公司 一种基于多进程服务器的预防应用程序崩溃的开发方法
CN112615938A (zh) * 2020-12-30 2021-04-06 四川巧夺天工信息安全智能设备有限公司 一种基于tcp的物联网客户端的跨平台协同工作方法
CN112615938B (zh) * 2020-12-30 2022-11-04 四川巧夺天工信息安全智能设备有限公司 一种基于tcp的物联网客户端的跨平台协同工作方法

Also Published As

Publication number Publication date
US9203907B2 (en) 2015-12-01
EP2506518A4 (en) 2012-12-26
CN102098211A (zh) 2011-06-15
EP2506518A1 (en) 2012-10-03
CN102098211B (zh) 2012-08-08
US20120246213A1 (en) 2012-09-27
EP2506518B1 (en) 2018-03-21

Similar Documents

Publication Publication Date Title
WO2011069470A1 (zh) 客户端和服务器动态协助的业务聚合方法、服务器和客户端
US10049161B2 (en) Information processing apparatus, method of controlling the same, and storage medium
US8838686B2 (en) Method and apparatus for delivery of content to a mobile device
US7412518B1 (en) Method and apparatus for proximity discovery of services
EP2023531B1 (en) Method, apparatus, system, user terminal application server for selecting service
US8117280B2 (en) Task computing
US7395333B1 (en) Method and apparatus to obtain negotiated service advertisement
US20090307602A1 (en) Systems and methods for creating and sharing a presentation
JP6215359B2 (ja) 複数のコンピューティングデバイスにわたる情報へのアクセスの提供
US20110185038A1 (en) Apparatus and method for providing a terminal web service
WO2015085507A1 (zh) 数据存储方法、数据处理方法、装置及移动终端
US20050024355A1 (en) Selecting items displayed on respective areas on a screen
US11882154B2 (en) Template representation of security resources
US20070005726A1 (en) System and method for delivering grouped web service applications
US7502853B2 (en) System and method for improved remote portlet communications
JPH1115723A (ja) マルチメディアデータ供給方法及びマルチメディアデータサーバ
CN112825072B (zh) 通信终端以及数据共享方法
EP2764675A1 (en) System for contact subscription invitations in a cross-domain converged address book system
JP2010288243A (ja) 携帯情報端末用コンテンツ生成・配信システム
US20090063539A1 (en) XCAP and SIP Filter Chain State Transforms Via Dynamic Helper Functions for Internet Multimedia Subsystems
JP5020355B2 (ja) プロフィール表示装置、方法、プログラム及びシステム
KR101401236B1 (ko) 인텐트에 기반하여 이동된 웹 객체를 처리하는 방법 및 장치
KR101414862B1 (ko) 웹 객체의 이동성을 지원하는 웹 서비스 방법 및 장치
JP2004348664A (ja) 情報処理装置、オブジェクト管理方法、オブジェクト管理プログラム及び記録媒体
KR101414844B1 (ko) 푸쉬를 사용하여 웹 객체를 이동시키는 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10835505

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2010835505

Country of ref document: EP