Data management and control method and device, electronic equipment and readable medium
By using approved target work orders in the SPI gateway for data verification, and designing the material management platform and feedback data verification function, the problem of security risks of module service data transmission is solved and the security of data transmission is improved.
Patent Information
- Application Number
- CN202311118447.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-31
- Publication Date
- 2025-02-28
AI Technical Summary
When the module service is called by enterprise platform users, the security control of data transmission is weak, and there is a security risk of data leakage.
By introducing approved target work orders in the SPI gateway for data verification, only the verification data is transmitted to other platforms, and the material management platform and feedback data verification function are designed to limit data out of the network.
It effectively improves the security of users when calling module services on enterprise platforms, prevents data leakage, and ensures the rationality and security of data transmission.
Smart Images

Figure CN119544238A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of security technology, and in particular to a data management method, device, electronic device and readable medium. Background Art
[0002] In order to provide users with a better user experience, enterprises will introduce module services on their own platforms, and users can call module services on the enterprise platform.
[0003] At present, the platform's security control over module services is relatively weak. When module services are called by users of the enterprise platform, they will obtain data and generate data, which can be arbitrarily transferred from the module service to other platforms. For users and even enterprise platforms, the module service arbitrarily transferring data to other platforms is a security risk.
[0004] Based on this, there is an urgent need to provide a data management solution that can reasonably and securely control the behavior of module services transmitting data to other platforms. Summary of the invention
[0005] In order to solve the above technical problems, the present application provides a data management method, device, electronic device and readable medium, which can control the behavior of module services transmitting data to other platforms, thereby improving the security of users calling module services on the enterprise platform.
[0006] In order to achieve the above objectives, the technical solutions provided by this application are as follows:
[0007] In a first aspect, the present application provides a data management and control method, characterized in that a service provider interface (SPI) gateway (Service Provider Interface, ...
[0008] A service request sent by a receiving module application, wherein the service request is used to request access to a second system, and the service request includes service data;
[0009] Verifying the business data based on the approved target work order to obtain verified target data, where the target data belongs to the business data and also belongs to the target work order;
[0010] The target data is sent to the second system.
[0011] In some implementations, the service request also includes an identity identifier, and the method further includes:
[0012] authenticating the service request based on the identity identifier;
[0013] The verifying the business data based on the approved target work order to obtain the verified target data includes:
[0014] When the identity authentication of the business request is passed, the business data is verified based on the target work order to obtain the target data.
[0015] In some implementations, the service request further includes a Uniform Resource Locator (URL), the URL indicating the external service, and the method further includes:
[0016] Obtaining the URL from the service request;
[0017] The target work order corresponding to the URL is called from the database, the target work order includes the URL and approved data, the database stores at least one work order generated after submission and approval by the control end of the module application, and the at least one work order includes the target work order.
[0018] In some implementations, the method further includes:
[0019] The material data on the material hosting platform is read. The material data is written by a third system. The material hosting platform cannot transparently transmit the data of the first system to other systems.
[0020] In some implementations, the method further includes:
[0021] receiving text data sent by the fourth system;
[0022] sending the text data to the module application;
[0023] Receiving feedback data from the module application;
[0024] Determine a feedback result according to the feedback data, wherein the feedback result includes a business operation success or a business operation failure;
[0025] The feedback result is sent to the fourth system.
[0026] As an example, the sending the feedback result to the fourth system includes:
[0027] The feedback result is sent to the fourth system through an application programming interface (API) gateway.
[0028] In some implementations, the module application is embedded in a link of the first system to provide corresponding services for the first system.
[0029] In a second aspect, the present application further provides a data control device, which is applied to the SPI gateway of the first system, and the device includes:
[0030] A receiving unit, configured to receive a service request sent by a module application, wherein the service request is used to request access to a second system, and the service request includes service data;
[0031] A verification unit, configured to verify the business data based on the approved target work order to obtain verified target data, wherein the target data belongs to the business data and also belongs to the target work order;
[0032] A sending unit is used to send the target data to the second system.
[0033] In some implementations, the service request also includes an identity identifier, and the apparatus further includes:
[0034] An identity authentication unit, used for authenticating the service request based on the identity identifier;
[0035] The verification unit is specifically used for:
[0036] When the identity authentication of the business request is passed, the business data is verified based on the target work order to obtain the target data.
[0037] In some implementations, the service request further includes a URL, the URL indicating the external service, and the apparatus further includes:
[0038] An acquisition unit, used for acquiring the URL from the service request;
[0039] A calling unit is used to call the target work order corresponding to the URL from a database, wherein the target work order includes the URL and approved data, and the database stores at least one work order generated after submission and approval at the control end of the module application, and the at least one work order includes the target work order.
[0040] In some implementations, the apparatus further includes:
[0041] The reading unit is used to read the material data on the material hosting platform, wherein the material data is written by a third system, and the material hosting platform cannot transparently transmit the data of the first system to other systems.
[0042] In some implementations, the apparatus further includes a determining unit,
[0043] The receiving unit is further used to receive text data sent by the fourth system;
[0044] The sending unit is further used to send the text data to the module application;
[0045] The receiving unit is further used to receive feedback data of the module application;
[0046] The determining unit is used to determine a feedback result according to the feedback data, wherein the feedback result includes a business operation success or a business operation failure;
[0047] The sending unit is further used to send the feedback result to the fourth system.
[0048] As an example, the sending unit is specifically configured to:
[0049] The feedback result is sent to the fourth system through the API gateway.
[0050] In some implementations, the module application is embedded in a link of the first system to provide corresponding services for the first system.
[0051] It should be noted that the specific implementation method of the device and the technical effects achieved can refer to the relevant description of the method provided in the first aspect or any implementation method of the first aspect.
[0052] In a third aspect, the present application further provides an electronic device, the electronic device comprising: a processor and a memory;
[0053] The memory is used to store instructions or programs;
[0054] The processor is used to execute the instructions or programs in the memory so that the electronic device executes the method provided by the first aspect or any one of the implementations of the first aspect.
[0055] In a fourth aspect, the present application further provides a readable medium, in which instructions or programs are stored. When the instructions or programs are executed on a processor, the processor executes the method provided by the first aspect or any one of the implementations of the first aspect.
[0056] Compared with the prior art, the embodiments of the present application have at least the following advantages:
[0057] In the technical solution provided by the present application, when the module application of the first system (such as the server of the module application) sends business data to the second system through the SPI gateway, the SPI gateway can receive the business request sent by the module application, and the business request is used to request access to the second system. The business request includes business data. At this time, the SPI gateway can verify the business data based on the approved target work order to obtain the verified target data, which is data that belongs to both business data and target work order. Thus, the SPI gateway sends the verified target data to the second system. In this way, by applying for and approving the data that can be transmitted from the module application to the second system in advance, when there is business data to be sent out, the SPI gateway strictly verifies whether the business data to be transmitted to the second system is data that has been reviewed and allowed to be transmitted to the second system, and only sends the verified data to the second system. In this way, the SPI gateway realizes the control of the data transmitted by the module application to the second system. Only the data that is allowed to be transmitted to other systems after approval can be transmitted to other systems outside the first system by the module application, which improves the security of users calling module applications in the first system.
[0058] In addition, the present application also limits the data transmission from the module application to the second system (which can be called the network access direction) through the link design in the direction of data transmission from the second system to the module application (which can be called the network access direction). For example, for material data, a material hosting platform between the SPI gateway and the second system is designed. The material hosting platform only provides an interface for material reading for the SPI gateway, but does not have an interface that can be written by the SPI gateway and send data to the second system. In this way, the module application is prevented from transmitting material data to the second system through the SPI gateway, thereby improving the security of users calling module applications in the first system. For example, for text data, an application gateway (such as an SPI gateway) of the module application with a feedback data verification function is designed. The application gateway verifies whether the module application's business operation on the text data is successful based on the feedback data fed back to the second system by the module application, and sends the indication information indicating success or failure as the feedback result to the second system without transparently transmitting any business data to the second system, thereby improving the security of users calling module applications in the first system.
[0059] It should be noted that the data control mechanism of the SPI gateway and the link design in the network access direction can both achieve the purpose of data control. They can exist separately or be implemented in combination without affecting the implementation effect of this application. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0061] Figure 1 A schematic diagram of a scenario applicable to an embodiment of the present application;
[0062] Figure 2 A flowchart of a data management method 100 provided in an embodiment of the present application;
[0063] Figure 3 A schematic diagram of a possible implementation of the method 100 provided in the embodiment of the present application;
[0064] Figure 4 A schematic diagram of a work order for submitting an application in an embodiment of the present application;
[0065] Figure 5 A flowchart of a data control method 200 provided in an embodiment of the present application;
[0066] Figure 6 A schematic diagram of a possible implementation of the method 200 provided in the embodiment of the present application;
[0067] Figure 7 A signaling flow chart of method 200 provided in an embodiment of the present application;
[0068] Figure 8 A flowchart of a data control method 300 provided in an embodiment of the present application;
[0069] Fig. 9 A schematic diagram of a possible implementation of the method 300 provided in the embodiment of the present application;
[0070] Fig.10 A schematic diagram of the structure of a data control device 1000 provided in an embodiment of the present application;
[0071] Fig.11 A structural diagram of a data control device 1100 provided in an embodiment of the present application;
[0072] Fig.12 A schematic diagram of the structure of a data control device 1200 provided in an embodiment of the present application;
[0073] Fig.13 A structural diagram of a data management and control system 1300 provided in an embodiment of the present application;
[0074] Fig.14 A schematic diagram of the structure of an electronic device 1400 provided in an embodiment of the present application. DETAILED DESCRIPTION
[0075] The enterprise platform facilitates the management of entities by users. For example, the platform of an e-commerce enterprise can facilitate the management of stores by merchants. However, in order to facilitate users and improve their experience of using the enterprise platform, the enterprise platform can introduce module services to enrich the functions of the enterprise platform. Among them, module services can refer to services provided by independent software vendors (ISVs) of the modules. The enterprise platform can use module services of various functions as gadgets (also called module applications or micro-applications) embedded in the enterprise platform. Users can use the gadget on the enterprise platform to easily call the module service corresponding to the gadget.
[0076] At present, enterprise platforms do not set up corresponding security control mechanisms for module applications (which can be understood as the front end of module applications). Even if there is a security control mechanism, the control is very weak. For example, only a whitelist of domain names is set up, and any data is allowed to be sent to websites on the whitelist. However, the behavior of module applications sending data to other systems is likely to cause information leakage, which is detrimental to network and information security.
[0077] Based on this, in order to achieve secure control of outbound data of module applications, an embodiment of the present application provides a data control method.
[0078] In a first possible implementation, the data control method provided by the embodiment of the present application may include: first, the SPI gateway may receive a business request sent by the module application, the business request is used to request access to the second system, and the business request includes business data; then, the SPI gateway may verify the business data based on the approved target work order, and obtain the verified target data, which is data that belongs to both business data and target work order; then, the SPI gateway sends the verified target data to the second system. In this way, by pre-applying and approving the data that can be transmitted from the server of the module application to the second system, when there is business data to be sent out, the SPI gateway strictly verifies whether the business data to be sent out is data that has been reviewed and allowed to be transmitted to the second system, and only sends the verified data to the second system. In this way, the SPI gateway realizes the control of the data transmitted by the module application to the second system, and the data that is allowed to be transmitted to other systems after approval can be transmitted to other systems outside the first system by the module application, thereby improving the security of users calling the module application in the first system.
[0079] In a second possible implementation, the data control method provided by the embodiment of the present application may include: the material hosting platform can receive the material data written by the third system, and can also respond to the material reading request of the server of the module application to send the material data to the module application, and the material hosting platform does not have an interface for sending data to other systems other than the first system. In this way, by designing a material hosting platform between the SPI gateway and other systems, the material hosting platform only provides an interface for material reading for the SPI gateway, but does not have an interface that can be written by the SPI gateway and send data to other systems, thereby avoiding the situation where the module application transmits material data to other systems through the SPI gateway, and improving the security of users calling module applications in the first system.
[0080] In a third possible implementation, the data control method provided by the embodiment of the present application may include: first, the application gateway of the module application sends text data to the server of the module application, and the text data comes from the fourth system; then, the application gateway of the module application verifies the feedback data generated by the server of the module application operating the text data, and obtains a feedback result, and the feedback result includes an indication of the success or failure of the business operation; then, the application gateway of the module application sends the feedback result to the fourth system. In this way, by designing an application gateway of the module application with a feedback data verification function, the application gateway verifies whether the module application's business operation on the text data is successful based on the feedback data fed back to the fourth system by the server of the module application, and sends the indication of success or failure as the feedback result to the fourth system without transparently transmitting any business data to the fourth system, thereby improving the security of users calling the module application in the first system.
[0081] It should be noted that in the above-mentioned second possible implementation method and the third possible implementation method, the link design in the direction of data entering the network limits the data outbound (that is, the data is transmitted from the module application of the first system to other systems).
[0082] In order to make the method provided in the embodiment of the present application clearer, Figure 1 A scenario to which an embodiment of the present application is applicable is introduced.
[0083] like Figure 1As shown, the scenario includes: a first system 10, a module application server 20, an SPI gateway 30, and a second system 40. The module application 11 can be embedded in the link of the first system 10. The user uses the module application 11 through the first system 10. The module application server 20 provides corresponding module services for the module application 11. The SPI gateway 30 connects the module application server 20 and the second system 40. There can be multiple second systems 40. Optionally, a material hosting platform 50 can also be included between the SPI gateway 30 and the second system 40. The SPI gateway 30 can be connected to the second system 40 through the API gateway 60, or the module application server 20 can also be connected to the second system 40 through the module application application gateway 70 and the API gateway 60. The SPI gateway 30 can implement the first possible implementation method of the method provided in the embodiment of the present application, see specifically Figure 2 The material hosting platform 50 can implement the second possible implementation of the method provided in the embodiment of the present application, see Figure 5 The SPI gateway 30 or the application gateway 70 may implement the third possible implementation of the method provided in the embodiment of the present application, see Figure 8 The related description in the method 300 is shown.
[0084] It should be noted that the subject implementing the data control method may be the data control device provided in the embodiment of the present application, and the data control device may be implemented by different modules in different implementation modes. The data control device may be carried in an electronic device or a functional module of an electronic device.
[0085] The first system in the embodiment of the present application can be understood as the enterprise platform mentioned above.
[0086] Figure 2 The flowchart of a data control method 100 provided in an embodiment of the present application is shown in FIG. 1 , and the method 100 corresponds to the first possible implementation mode. The method 100 can be applied to a data control device, and the data control device can be, for example, Fig.10 The data control device 1000 is shown. Since the data control device can be carried by an SPI gateway, it can also be considered that the method 100 is applied to the SPI gateway, which can be, for example, Figure 1 SPI gateway 30 in.
[0087] like Figure 2 As shown, the method 100 may include, for example, the following S101 to S103:
[0088] S101, receiving a service request sent by a module application, wherein the service request is used to request access to a second system, and the service request includes service data.
[0089] It is understandable that the module application in S101 may refer to the server of the module application (which may be understood as the back end of the module application) or the module application (which may be understood as the front end of the module application). The following description will be made by taking the server of the module application as an example.
[0090] Among them, the module application can be an application embedded in the first system link and provided by the module service provider, as a gadget (also called a micro-application) of the first system, to facilitate the user's operation in the first system. The module service provider can be a party to which the first system belongs, or it can be another third party. The second system can be, for example, an external public service or an ISV external cloud service. The module services provided by the module application can include, for example: title optimization, live broadcast speech, business details posters, etc.
[0091] Before S101, method 100 may also include: the provider of the module application initiates an access application to the developer console, the ISV or enterprise operation and maintenance personnel (or management personnel) approves the access application on the developer console, and saves the approved data to the database, so that the approved data is maintained in the data block, which provides a reliable verification basis for verifying whether the business data has network access authority when the server of the subsequent module application requests the business data to be sent to the second system. The database includes multiple approved work orders, each of which includes a corresponding relationship between the URL and the approved data, indicating that the approved data can be sent to the second system indicated by the corresponding URL.
[0092] As an example, if the service request received in S101 includes a URL, and the URL indicates the second system, then, after S101 and before S102, the method 100 may further include: obtaining the URL from the service request, and calling the target work order corresponding to the URL from the database, wherein the target work order includes the URL and the approved data, and the database stores at least one work order generated after submission and approval at the control end of the module application (i.e., the developer console mentioned above), and the at least one work order includes the target work order. In this way, the target work order corresponding to the URL in the service request is obtained, and preparations are made for the verification of S102.
[0093] In some implementations, in order to make the network more secure and reliable, the service request received by S101 may also include an identity identifier (such as a sign field). After S101 and before S102, the method 100 may also include: based on the identity identifier, authenticating the service request. When the identity authentication passes, execute the following S102; otherwise, discard the service request. Optionally, an alarm message indicating the failure of the service request may also be fed back to the server of the module application.
[0094] S102, verifying the business data based on the approved target work order to obtain verified target data, where the target data belongs to the business data and also belongs to the target work order.
[0095] S103: Send the target data to the second system.
[0096] As an example, S102 may include: obtaining the intersection of the business data and the approved data in the target work order, and using the data in the intersection as the target data. It is understandable that the approved data in the target work order can be considered as data that has been approved and confirmed to be allowed to go out of the network. Therefore, if the target data in the business data appears in the approved data, it means that the outbound transmission of the target data in the business data requested to be sent to the second system is allowed, so it is safe for the SPI gateway to send the target data to the second system indicated by the URL in the business request.
[0097] To make method 100 more clear, see Figure 3 The framework structure shown in FIG. 1 illustrates the process of an example of the method 100. Figure 3As shown, the example may include: S11, ISV initiates an access application, applies to call the second system, specifically, fills in the corresponding work order information in the developer console, the work order information may include: URL, header and body fields, the staff of the developer console may verify the work order information received by the developer console one by one and perform security approval; S12, the developer console generates an approved work order with the approved data and the corresponding URL, and saves it to the database, and the database may be carried in the module corresponding to the interface meta-information; S13, the server of the module application sends a business request for accessing the second system to the SPI gateway through the proxy server, and the business request may include a sign field, URL and business data; S14, the SPI gateway performs identity authentication based on the sign field, and if the identity authentication is successful, reads the target work order corresponding to the URL from the database; S15, the SPI gateway verifies the business data based on the target work order, and obtains the target data that belongs to both the approved data in the target work order and the business data; S16, the SPI gateway sends the target data to the second system indicated by the URL. Whether it is a service call: ISV will initiate a request to the SPI gateway according to our standard protocol, and then forward it to the second system. It should be noted that the target data in S15 is both the data approved in the target work order and the business data, which means that the attributes of the target data in the business data (such as parameter type, example value, etc.) correspond to the attributes of the target data approved in the target work order. Among them, S16 can be: the SPI gateway encapsulates the target data and sends it to the second system. Optionally, S16 can also include: S17, the SPI gateway receives the return data of the outbound service, encapsulates the return data and feeds it back to the server of the module application through the Proxy server.
[0098] For the SPI gateway, the steps performed may include: the first step, the SPI gateway receives the service request sent by the module application or the server end of the module application (also understood as ISV); the second step, according to the identification (such as APP ID) + appSecret authentication of the module application; the third step, according to the APP ID + request path, find the latest configuration of the inclusion relationship; the fourth step, according to the URL, determine whether it is a private service, if so, desensitize the URL data; the fifth step, traverse the header field, determine whether there is a private service, if so, desensitize the corresponding header field data; the sixth step, according to the body, traverse the input parameter metadata field information, and convert the corresponding input parameter data structure by type; the seventh step, obtain the corresponding Get Post request type, initiate an http call, if the request is normal, execute the seventh step, if the request is abnormal, execute the eighth step; the seventh step, then pass the httpStatusCode, header and body through; the eighth step, encapsulate error information, such as timeout, access difference, etc.; the ninth step, record the input and output parameter data, and dot report monitoring; the tenth step, return the http data to the SPI gateway. In this way, the SPI gateway implements the secure data control mechanism provided by the embodiment of the present application.
[0099] For application or approved work orders, see Figure 4 As shown. The work order may include: URL, approval result, submission time, service information and parameter information, where the approval result may be pending approval, approved or not approved; the submission time indicates the application time for submitting the work order information, and the format may be, for example, year-month-day hour: minute: second; the service information may include, for example, but not limited to: APP ID, application name, interface address, interface description, timeout configuration, usage scenario or stability description; the parameter information may include, but not limited to: headerInfo (corresponding to the header field), requestInfo (corresponding to the body field) or responseInfo, and each type of parameter may be configured with at least one of the parameter name, parameter type, parameter attribute, example value or parameter description.
[0100] In one implementation, in the method 100, in addition to the SPI gateway implementing a data control method and performing security verification on outgoing data, the method can also improve the safety of module application by designing network access links for different types of data and restricting data from leaving the network.
[0101] As an example, the method 100 may also include: the SPI gateway reads the material data on the material hosting platform, the material data is written by the third system, and the material hosting platform does not have an interface for transmitting data to other systems and cannot transparently transmit data to the other systems. In this way, by designing the material hosting platform, the outbound transmission of material data is restricted.
[0102] As another example, the method 100 may also include: the SPI gateway receives text data sent by the fourth system; the SPI gateway sends the text data to the server of the module application; the SPI gateway receives feedback data from the server of the module application; the SPI gateway determines a feedback result based on the feedback data, and the feedback result includes a successful business operation or a failed business operation; the SPI gateway sends the feedback result to the fourth system. In this way, through the processing of the feedback data by the SPI gateway, only the feedback result indicating the success or failure of the business operation is transparently transmitted to the fourth system, and no business-related data is sent out of the network, thereby limiting the outbound transmission of text data.
[0103] It can be seen that in method 100, by pre-applying for and approving the data that can be transmitted from the module application of the first system to the second system, when there is business data to be sent out, the SPI gateway strictly verifies whether the business data to be sent out is data that has been reviewed and allowed to be transmitted to the second system, and only sends the verified data to the second system. In this way, the SPI gateway realizes the control of the data transmitted by the module application to the second system. Only the data that is allowed to be transmitted to other systems after approval can be transmitted by the module application to other systems outside the first system, thereby improving the security of users calling module applications in the first system.
[0104] Figure 5 The flowchart of a data control method 200 provided in the embodiment of the present application is shown in FIG. 2 , and the method 200 corresponds to the second possible implementation mode. The method 200 can be applied to a data control device, and the data control device can be, for example, Fig.11 The data control device 1100 is shown. Since the data control device can be hosted on a material hosting platform, it can also be considered that the method 200 is applied to the material hosting platform. The material hosting platform can be, for example, Figure 1 The material hosting platform 50.
[0105] like Figure 5 As shown, the method 200 may include, for example, the following S201 to S202:
[0106] S201, receiving material data written by a third system.
[0107] S202, in response to a material reading request from a server of a module application of the first system, sending the material data to the server of the module application, wherein the material hosting platform does not have an interface for sending data to other systems than the first system.
[0108] Among them, the material data may include fonts, pictures, videos, and ISV synchronization scripts. The material hosting platform may include material hosting (ImageX) and material center. For fonts, the cloud storage facade (open_light) of the module application can pull files and write files to the material hosting; for pictures and videos, open_light can pull files and write files to the material center; for ISV synchronization scripts, open_light can push files through the Open gateway and write files to the material center.
[0109] For more information about how module applications and module application servers obtain material data, see Figure 6 As shown, the module application and the server of the module application can send a material reading request to the material hosting platform through the SPI gateway. In response, the material hosting platform feeds back the read material data to the module application and the server of the module application through SPI. Among them, the data in the enterprise intranet cannot be transparently transmitted to other systems through the material hosting platform. Among them, other systems other than the first system can refer to systems in other networks other than the enterprise intranet and the enterprise data center, for example, it can be Figure 6 Modules in the external file system shown.
[0110] To further help introduce the method 200, Figure 7 The signaling flow chart shown in FIG. 1 introduces the process of uploading and retrieving files for material data. Figure 7As shown, the process of file uploading may include: S21, the external public network (also known as the ISV public network) uploads the image file to the material hosting through the open SDK, and obtains the fileURL (i.e., file URL) from the material hosting; S22, the external public network passes the fileURL to the material center through the open SDK, allowing the material center to pull the file content and obtain the material ID from the material center; S23, the material center asynchronously pulls the file from the material hosting; S24, the external public network passes the material ID + file relative path (path) to open_light through the open SDK; S25, open_light saves the mapping relationship to the database (DB); S26, open_light asynchronously monitors the audit status change message of the material center; S27, open_light determines that the audit is passed, then obtains the corresponding URL 1 and saves it to the DB. The process of file acquisition may include: S28, the module application obtains the complete URL from the SPI gateway according to the file relative path; S29, the SPI gateway obtains the complete URL1 from open_light and sends the externally accessible URL 1 to the module application; S30, the module application accesses the material center through URL 1 to obtain the file binary data. S28-S29 can also be understood as: the module application obtains a public URL of the specified path that is valid for a preset time (such as one hour) through the open API; S30 can also be understood as: the module application displays pictures and / or videos to the merchant through the public URL.
[0111] It can be seen that in the method 200, by designing a material hosting platform between the SPI gateway and the third system, the material hosting platform only provides an interface for the SPI gateway to read materials, but does not have an interface that can be used by the SPI gateway to write data and send data to other systems other than the first system. This avoids the situation where the module application transmits material data to other systems other than the first system through the SPI gateway, and improves the security of users calling module applications in the first system.
[0112] Figure 8 The flowchart of a data control method 300 provided in the embodiment of the present application is shown in FIG. 300 , which corresponds to the third possible implementation mode. The method 300 can be applied to a data control device, which can be, for example, Fig.12 The data control device 1200 shown in FIG. 1 is shown in FIG. 1200. Since the data control device can be carried by an SPI gateway, it can also be considered that the method 300 is applied to an SPI gateway. For example, the SPI gateway can be Figure 1 or, since the data control device can be carried on the application gateway, it can also be considered that the method 300 is applied to the application gateway, which can be, for example, Figure 1The application gateway 70 in the method 300 is described below by taking the execution subject of the method 300 as the application gateway as an example.
[0113] like Figure 8 As shown, the method 300 may include, for example, the following S301 to S303:
[0114] S301, sending text data to the server of the module application, wherein the text data comes from a fourth system.
[0115] S302, verifying the feedback data generated by the server side of the module application operating the text data to obtain a feedback result, wherein the feedback result includes indication information of a successful business operation or a failed business operation.
[0116] S303: Send the feedback result to the fourth system.
[0117] The text data may be understood as data in a plain text format that can be directly stored in a database, for example, data used to record the name (name), creation time (created_at), etc. of a material.
[0118] As an example, the scenario to which method 300 is applicable can be found in Fig. 9 As shown, the API gateway and the application gateway of the module application are included in sequence between the fourth system and the server of the module application. Then, S301, for example, can be: after the application gateway receives the text data from the external module through the API gateway, the text data is sent to the server of the module application; before S302, the method 300 can also include: after the server of the module application receives the text data, the service operation is performed on the text data to obtain feedback data, and the text data and / or feedback data are written into the DB, and the feedback data is sent to the application gateway; S302 can include: the application gateway determines whether the service operation on the text data is successful according to the feedback data, and generates a corresponding feedback result based on this; S303 can include: the application gateway sends the feedback result to the external module through the API gateway.
[0119] The API gateway can be replaced by an Open gateway, for example.
[0120] It is understandable that the first system can provide an open api (i.e., an interface of the Open Gateway) for writing text data to the module application for calling. The input parameter of the open api can be any customized data, and the return value is set to the corresponding indication information of success or failure. Fig. 9As shown, for the open api process of writing text data, it can include: S31, the Open gateway receives the business request and routes, for example, obtains the APP ID and the corresponding specified method name and other information from the business request, calls the application gateway of the module application according to this information, and forwards the business request (essentially the text data in the business request) to the server of the module application through the application gateway; S32, the application gateway verifies whether the business operation is successful according to the feedback data of the module server for the business request, and obtains the feedback result, which only includes the indication information of the success or failure of the business operation; S33, the application gateway sends the feedback result risk through the Open gateway to obtain the fourth system. The feedback result eliminates all business-related data, retains only the indication information of the success or failure of the business operation, realizes the purpose of not leaving the network for business-related data, and improves the security of data management and control.
[0121] It can be seen that in the method 300, an application gateway of the module application with a feedback data verification function is designed. The application gateway verifies whether the module application's business operation on the text data is successful based on the feedback data fed back to the fourth system by the server of the module application, and sends the indication information indicating success or failure as the feedback result to the external module without transmitting any business data to the fourth system, thereby improving the security of users calling the module application in the first system.
[0122] Accordingly, the embodiment of the present application also provides a data control device 1000, such as Fig.10 The device 1000 is applied to the SPI gateway of the first system, and the device 1000 includes:
[0123] A receiving unit 1001 is used to receive a service request sent by a module application, wherein the service request is used to request access to a second system, and the service request includes service data;
[0124] A verification unit 1002 is used to verify the business data based on the approved target work order to obtain the verified target data, where the target data belongs to the business data and also belongs to the target work order;
[0125] The sending unit 1003 is configured to send the target data to the second system.
[0126] In some implementations, the service request further includes an identity identifier, and the apparatus 1000 further includes:
[0127] An identity verification unit, configured to verify the identity of the service request based on the identity identifier;
[0128] The verification unit 1002 is specifically used for:
[0129] When the identity authentication of the business request is passed, the business data is verified based on the target work order to obtain the target data.
[0130] In some implementations, the service request further includes a URL, the URL indicates the external service, and the apparatus 1000 further includes:
[0131] An acquisition unit, used for acquiring the URL from the service request;
[0132] A calling unit is used to call the target work order corresponding to the URL from a database, wherein the target work order includes the URL and approved data, and the database stores at least one work order generated after submission and approval at the control end of the module application, and the at least one work order includes the target work order.
[0133] In some implementations, the apparatus 1000 further includes:
[0134] The reading unit is used to read the material data on the material hosting platform, wherein the material data is written by a third system, and the material hosting platform cannot transparently transmit the data of the first system to other systems.
[0135] In some implementations, the apparatus 1000 further includes a determining unit,
[0136] The receiving unit 1001 is further used to receive text data sent by the fourth system;
[0137] The sending unit 1003 is further used to send the text data to the module application;
[0138] The receiving unit 1001 is further used to receive feedback data of the module application;
[0139] The determining unit is used to determine a feedback result according to the feedback data, wherein the feedback result includes a business operation success or a business operation failure;
[0140] The sending unit 1003 is further configured to send the feedback result to the fourth system.
[0141] As an example, the sending unit 1003 is specifically configured to:
[0142] The feedback result is sent to the fourth system through the API gateway.
[0143] In some implementations, the module application is embedded in a link of the first system to provide corresponding services for the first system.
[0144] It should be noted that the specific implementation method of the device 1000 and the technical effects achieved can be found in Figure 2 Any of the implementations shown provides a description of method 100 .
[0145] In addition, the present application embodiment also provides a data control device 1100, such as Fig.11 The device 1100 is applied to a material hosting platform, and the device 1100 includes:
[0146] The receiving unit 1101 is used to receive the material data written by the second system;
[0147] The sending unit 1102 is used to send the material data to the server of the module application in response to the material reading request of the server of the module application of the first system. The material hosting platform does not have an interface for sending data to other systems except the first system.
[0148] It should be noted that the specific implementation method of the device 1100 and the technical effects achieved can be found in Figure 5 Any of the illustrated implementations provides a description of method 200 .
[0149] In addition, the present application embodiment also provides a data control device 1200, such as Fig.12 The device 1200 is applied to an application gateway of a module application, and the device 1200 includes:
[0150] A sending unit 1201, configured to send text data to a server of the module application, wherein the text data comes from a fourth system;
[0151] A verification unit 1202, configured to verify feedback data generated by the server of the module application operating the text data, and obtain a feedback result, wherein the feedback result includes indication information of a successful business operation or a failed business operation;
[0152] The sending unit 1201 is further configured to send the feedback result to the fourth system.
[0153] In some implementations, the sending unit 1201 is specifically configured to:
[0154] The feedback result is sent to the external module through the API gateway.
[0155] It should be noted that the specific implementation method of the device 1200 and the technical effects achieved can be found in Figure 8 Any of the illustrated implementations provides a description of method 300 .
[0156] In the above-mentioned apparatus 1000, apparatus 1100 or apparatus 1200, the module application is embedded in the link of the first system to provide corresponding module services for the first system.
[0157] In addition, the present application embodiment also provides a data management system 1300, such as Fig.13 The data management system 1300 may include at least one of an SPI gateway 1301, a material hosting platform 1302, and an application gateway 1303 for module applications.
[0158] The SPI gateway 1301 is used to perform Figure 2 The method 100 provided by any one of the implementations shown;
[0159] The material hosting platform 1302 is used to execute Figure 5 The method 200 provided by any one of the implementations shown;
[0160] The module application application gateway 1303 is used to execute Figure 8 Any of the implementations shown provides a method 300 .
[0161] In addition, an embodiment of the present application also provides an electronic device, which includes a processor and a memory: the memory is used to store instructions or computer programs; the processor is used to execute the instructions or computer programs in the memory, so that the electronic device executes any implementation of the method provided in the embodiment of the present application.
[0162] See also Fig.14 , which shows a schematic diagram of the structure of an electronic device 1400 suitable for implementing the embodiment of the present disclosure. The terminal device in the embodiment of the present disclosure may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle terminals (such as vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Fig.14 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0163] like Fig.14As shown, the electronic device 1400 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 1401, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1402 or a program loaded from a storage device 1408 into a random access memory (RAM) 1403. In the RAM 1403, various programs and data required for the operation of the electronic device 1400 are also stored. The processing device 1401, the ROM 1402, and the RAM 1403 are connected to each other via a bus 1404. An input / output (I / O) interface 1405 is also connected to the bus 1404.
[0164] Typically, the following devices may be connected to the I / O interface 1405: an input device 1406 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 1407 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 1408 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1409. The communication device 1409 may allow the electronic device 1400 to communicate with other devices wirelessly or by wire to exchange data. Although Fig.14 The electronic device 1400 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.
[0165] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 1409, or installed from the storage device 1408, or installed from the ROM 1402. When the computer program is executed by the processing device 1401, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
[0166] The electronic device provided by the embodiment of the present disclosure and the method provided by the above embodiment belong to the same inventive concept, and the technical details not fully described in this embodiment can be referred to the above embodiment, and this embodiment has the same beneficial effects as the above embodiment.
[0167] The embodiment of the present application also provides a computer-readable medium, in which instructions or computer programs are stored. When the instructions or computer programs are executed on a device, the device executes any implementation of the comment display method provided in the embodiment of the present application.
[0168] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0169] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (Hyper Text Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0170] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0171] The computer-readable medium carries one or more programs, and when the one or more programs are executed by the electronic device, the electronic device can execute the method.
[0172] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or a combination thereof, including, but not limited to, object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0173] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0174] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the name of a unit / module does not, in some cases, constitute a limitation on the unit itself.
[0175] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0176] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0177] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments, and the same or similar parts between the various embodiments can be referred to each other. For the system or device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description.
[0178] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0179] It should also be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0180] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
[0181] It should be noted that in the embodiments of the present application, user sensitive information is not involved, and user-related information is obtained, used and determined after user authorization. In one example, before obtaining user-related information, the corresponding interface displays prompt information related to obtaining data use authorization. The prompt information is based on relevant laws and regulations in an appropriate manner to inform the user of the type, scope of use, usage scenarios, etc. of the personal information involved in this disclosure, so that the user can determine whether to agree to the authorization based on the prompt information. It can be understood that the above notification and the process of obtaining user authorization are only illustrative and do not constitute a limitation on the implementation method of the present disclosure. Other methods that meet relevant laws and regulations may also be applied to the implementation method of the present disclosure.
[0182] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A data control method, characterized in that: A service provider interface SPI gateway applied to a first system, the method comprising: A service request sent by a receiving module application, wherein the service request is used to request access to a second system, and the service request includes service data; Verifying the business data based on the approved target work order to obtain verified target data, where the target data belongs to the business data and also belongs to the target work order; The target data is sent to the second system.
2. The method according to claim 1, characterized in that The service request also includes an identity identifier, and the method further includes: authenticating the service request based on the identity identifier; The verifying the business data based on the approved target work order to obtain the verified target data includes: When the identity authentication of the business request is passed, the business data is verified based on the target work order to obtain the target data.
3. The method according to claim 1 or 2, characterized in that: The service request also includes a resource locator URL, and the URL indicates the external service. The method further includes: Obtaining the URL from the service request; The target work order corresponding to the URL is called from the database, the target work order includes the URL and approved data, the database stores at least one work order generated after submission and approval by the control end of the module application, and the at least one work order includes the target work order.
4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: The material data on the material hosting platform is read. The material data is written by a third system. The material hosting platform cannot transparently transmit the data of the first system to other systems.
5. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: receiving text data sent by the fourth system; sending the text data to the module application; Receiving feedback data from the module application; Determine a feedback result according to the feedback data, wherein the feedback result includes a business operation success or a business operation failure; The feedback result is sent to the fourth system.
6. The method according to claim 5, characterized in that The sending the feedback result to the fourth system includes: The feedback result is sent to the fourth system through an application programming interface (API) gateway.
7. The method according to any one of claims 1 to 6, characterized in that: The module application is embedded in the link of the first system to provide corresponding services for the first system.
8. A data control device, characterized in that: A service provider interface SPI gateway applied to a first system, the device comprising: A receiving unit, configured to receive a service request sent by a module application, wherein the service request is used to request access to a second system, and the service request includes service data; A verification unit, configured to verify the business data based on the approved target work order to obtain verified target data, wherein the target data belongs to the business data and also belongs to the target work order; A sending unit is used to send the target data to the second system.
9. An electronic device, characterized in that: The electronic device comprises: a processor and a memory; The memory is used to store instructions or programs; The processor is used to execute the instructions or programs in the memory so that the electronic device executes the method according to any one of claims 1 to 7.
10. A readable medium, characterized in that: The readable medium stores instructions or programs, and when the instructions or programs are executed on a processor, the processor is enabled to execute the method according to any one of claims 1 to 7.