Program running method and device, electronic equipment and storage medium

By constructing structured information during program execution and identifying and associating database data, the problem of lagging compliance governance and high costs in existing technologies is solved, thereby improving the compliance and efficiency of program operation.

CN121144162APending Publication Date: 2025-12-16BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410749598.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-06-11
Publication Date
2025-12-16

AI Technical Summary

Technical Problem

In existing technologies, compliance governance requires post-processing after the business program is executed, resulting in high costs and delays, and failing to effectively prevent non-compliant calls.

Method used

By pre-constructing structured information during program execution, identifying target nodes and associating them with database data, and continuing program execution in response to target data meeting preset conditions, compliance governance is achieved.

Benefits of technology

It achieves compliance governance during program execution, avoids non-compliant calls, improves compliance and efficiency, and reduces compliance governance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121144162A_ABST
    Figure CN121144162A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a program running method and device, electronic equipment and a storage medium, and the method comprises the steps: responding to the running of a program to a target node, and determining structured information corresponding to the target node; wherein the structured information represents information of a database associated with the target node; determining target data from the associated database according to the structured information; and in response to the condition that the target data meets the preset condition, continuing to execute the program. According to the method, the nodes in the program and the data in the database are associated by pre-constructing the structured information, so that compliance treatment in the program running process can be realized, and non-compliance calling is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present disclosure relate to the technical field of computer, and particularly, to a program running method and device, electronic equipment and storage medium. BACKGROUND

[0002] Currently, after a business program is run, relevant running data will be stored in a database. For the compliance management needs of the business, post-management based on the running data in the database is usually required. This not only leads to lag in compliance management, but also requires a large amount of cost to correct non-compliant call results. SUMMARY

[0003] Embodiments of the present disclosure provide a program running method, device, electronic equipment and storage medium, which can realize compliance management in the program running process and avoid non-compliant calls.

[0004] In a first aspect, embodiments of the present disclosure provide a program running method, comprising:

[0005] In response to the program running to a target node, determining structured information corresponding to the target node; wherein the structured information represents information of a database associated with the target node;

[0006] According to the structured information, determining target data from the associated database;

[0007] In response to the target data satisfying a preset condition, continuing to execute the program.

[0008] In a second aspect, embodiments of the present disclosure also provide a program running device, comprising:

[0009] An information determining module, configured to determine, in response to the program running to a target node, structured information corresponding to the target node; wherein the structured information represents information of a database associated with the target node;

[0010] A data determining module, configured to determine, according to the structured information, target data from the associated database;

[0011] A running control module, configured to continue to execute the program in response to the target data satisfying a preset condition.

[0012] In a third aspect, embodiments of the present disclosure also provide an electronic equipment, comprising:

[0013] One or more processors;

[0014] A storage device, configured to store one or more programs,

[0015] When the one or more programs are executed by the one or more processors, the one or more processors implement the program running method according to any of the embodiments of the present disclosure.

[0016] In a fourth aspect, the embodiments of the present disclosure further provide a storage medium containing computer executable instructions for executing the program running method according to any of the embodiments of the present disclosure when executed by a computer processor.

[0017] The technical solution of the embodiments of the present disclosure determines the structured information corresponding to the target node in response to the program running to the target node, wherein the structured information represents the information of the database associated with the target node; determines the target data from the associated database according to the structured information; and continues to execute the program in response to the target data meeting the preset condition. By pre-constructing the structured information, the nodes in the program and the data in the database are associated, so that the compliance management in the program running process can be realized, and non-compliant calls can be avoided. BRIEF DESCRIPTION OF DRAWINGS

[0018] The above and other features, advantages, and aspects of the embodiments of the present disclosure will become more apparent upon understanding the following detailed description, taken in conjunction with the accompanying drawings. Throughout the drawings, same or similar reference numerals are used to represent same or similar elements. It should be understood that the drawings are schematic, and the original and elements are not necessarily drawn according to the scale.

[0019] Figure 1 A flowchart of a program running method provided by the embodiments of the present disclosure;

[0020] Figure 2 A flowchart of constructing structured information in a program running method provided by the embodiments of the present disclosure;

[0021] Figure 3 A data flow schematic block diagram of constructing structured information in a program running method provided by the embodiments of the present disclosure;

[0022] Figure 4 A structural schematic diagram of a program running device provided by the embodiments of the present disclosure;

[0023] Figure 5 A structural schematic diagram of an electronic device provided by the embodiments of the present disclosure. DETAILED DESCRIPTION

[0024] Embodiments of the present disclosure will be described below in greater detail with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be embodied in various forms and should not be construed as being limited to the embodiments set forth herein, but rather, these embodiments are provided so that the present disclosure can be more thoroughly and completely understood. It should be understood that the drawings of the present disclosure and the embodiments are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0025] It should be understood that each step described in the method embodiments of the present disclosure can be performed in different orders and / or in parallel. In addition, the method embodiments can include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0026] The term "comprising" and variations thereof as used herein are open-ended, that is, "comprising but not limited to". The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Related definitions will be given in the description below.

[0027] It should be noted that the concepts of "first", "second", etc. mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0028] It should be noted that the modification of "one" or "multiple" mentioned in the present disclosure is illustrative and not limiting, and those skilled in the art should understand that, unless otherwise explicitly indicated in the context, it should be understood as "one or more".

[0029] The names of the messages or information exchanged between the plurality of devices in the embodiments of the present disclosure are only for illustrative purposes, and are not used to limit the scope of the messages or information.

[0030] Figure 1 A flowchart of a program running method provided by an embodiment of the present disclosure is shown. The embodiment of the present disclosure is applicable to the situation of compliance governance in the process of business program running. The method can be performed by a program running device, which can be implemented in the form of software and / or hardware, and can be configured in an electronic device, such as a background server corresponding to a business program.

[0031] As shown in Figure 1 The program running method provided by the embodiment can include:

[0032] S110, in response to the program running to the target node, determining structured information corresponding to the target node; wherein the structured information represents information of a database associated with the target node.

[0033] In the embodiments of the present disclosure, the program can include code written by one or more assembly languages or a combination thereof, and the corresponding business function can be implemented by executing the program. Currently, some businesses have the demand for compliance governance, for example, the governance rules for the businesses such as recharge and reward can include: account restriction within a preset range to handle the business.

[0034] In the embodiments, the target node can be considered as a code segment in the program related to the governance rules of the corresponding business. The target node can include at least one of the following: a call node, a parameter node, a pointer node, a data encapsulation node, an instantiation node, a data loading node, and a data storage node, etc. The call node can include information such as a calling method and a callee. The parameter node can include information such as a parameter name and a type. The pointer node can include information such as a pointer to an object type. The data encapsulation node can include information such as a target encapsulation type of the data to be encapsulated. The instantiation node can include information such as type checking of the object to be instantiated. The data loading node can include information such as type checking of the data to be loaded. The data storage node can include information such as a data type to be stored. In addition, other code segments can also be target nodes of the program, which are not exhaustively listed here. It can be considered that due to the different compliance governance needs of different businesses, the corresponding target nodes in the program can be different.

[0035] In the embodiments, the target node can be identified and marked from the program based on static analysis and / or dynamic analysis in advance. In addition, data related to the governance rules of the corresponding business can also be determined from the database. After identifying the target node, the target node and the data can be further associated according to the governance rules, that is, the information of the database associated with the target node is constructed to obtain the structured information of each target node.

[0036] The structured information can include at least one of the following: database information, data table information, and operation information. The database information can include information such as database type (such as relational or graphical) and name. The data table information can include information such as name. The operation information can include at least one of the following information: write, read, delete, and query. In addition, other information of the database associated with the target node can also be included in the structured information, such as initialization information, framework information, and event bus information of the database. It can be considered that the information items included in the structured information corresponding to each target node are the same.

[0037] Correspondingly, in the process of program running, when the target node marked in advance is reached, the structured information corresponding to the target node can be obtained from the corresponding storage space to execute the subsequent compliance governance steps.

[0038] S120, determining the target data from the associated database according to the structured information.

[0039] In the embodiments of the present disclosure, each information item in the structured information can be parsed to automatically identify the library name, table name, etc. of the database that needs to be accessed. Furthermore, according to the parsing result, the related database and data table can be accessed to obtain the target data from the associated database. Wherein, the target data can be considered as the data related to the governance rules of the corresponding business.

[0040] S130, continuing to execute the program in response to the target data satisfying the preset condition.

[0041] In the embodiments of the present disclosure, the preset condition can be set in advance according to the governance rules of the corresponding business. When the target data satisfies the preset condition, the program can be continued to execute; when the data does not satisfy the preset condition, the program can be stopped to execute. Thus, the compliance governance in the running process can be realized. In addition, when the program is stopped to execute, the prompt information that the target data does not satisfy the preset condition can also be generated to prompt the user that the program running is terminated.

[0042] Exemplarily, Figure 2 A flowchart of constructing structured information in a program running method provided by the embodiments of the present disclosure is shown. Referring to Figure 2 In some optional implementation manners, the construction process of the structured information can include:

[0043] S210, identifying at least part of the target nodes from the program by a preset static analysis manner.

[0044] Wherein, the number and definition of the target nodes to be identified can be determined in advance according to the compliance governance requirements of the business. Exemplarily, it can be determined in advance that 3 target nodes need to be identified, and the definition of each target node can be "node 1" related to "compliance governance requirement 1", "node 2" related to "compliance governance requirement 2", and "node 3" related to "compliance governance requirement 3".

[0045] Wherein, the preset static analysis manner can be considered as a manner of analyzing the program without running it. Wherein, part of the target nodes have static characteristics in the code, which may, for example, include syntax definition characteristics or data flow transmission characteristics. Exemplarily, when the code segment meets the preset syntax definition, it can be identified as a target node; or when the code segment meets the preset data transmission characteristics, it can be identified as a target node.

[0046] S220. In response to the existence of unidentified target nodes, the unidentified target nodes are identified based on the program's operation using a preset dynamic analysis method.

[0047] If unidentified target nodes remain after static analysis, they can be further identified using a pre-defined dynamic analysis method. Dynamic analysis can be considered as analyzing the program during runtime. This dynamic analysis may involve tracing data flow, function calls, and code execution paths to identify relevant dynamic behaviors. The results of dynamic analysis not only identify unidentified target nodes but also correct identified target nodes.

[0048] By combining static and dynamic analysis methods, the target nodes can be covered more completely, and accuracy can be ensured.

[0049] S230. Based on the preset business rules corresponding to the program, construct the structured information corresponding to the identified target node.

[0050] The preset business rules can be understood as the compliance governance rules for the business corresponding to the program. Data related to these preset business rules can be determined from the database. After identifying the target node, the target node and data can be further associated according to the preset business rules, i.e., constructing structured information corresponding to the target node.

[0051] Among these optional implementation methods, combining program analysis with business requirements can efficiently and accurately identify database access nodes in the program and correlate the analysis results with the data in the database, which is conducive to achieving compliance governance during operation.

[0052] The technical solution of this disclosure embodiment, in response to the program running to a target node, determines the structured information corresponding to the target node; wherein, the structured information represents the information of the database associated with the target node; based on the structured information, target data is determined from the associated database; in response to the target data meeting preset conditions, the program continues to execute. By pre-constructing structured information to associate nodes in the program with data in the database, compliance governance during program execution can be achieved, avoiding non-compliant calls.

[0053] This embodiment can be combined with various optional solutions in the program execution method provided in the above embodiments. The program execution method provided in this embodiment describes in detail the process of identifying target nodes during the construction of structural information. Through static program analysis based on preset features, target nodes can be initially delineated; through static program analysis based on taint graphs, target nodes can be solved by combining context information; through dynamic program analysis based on actual data execution, the target nodes that need to be identified can be basically covered.

[0054] For example, Figure 3 This is a schematic block diagram illustrating the data flow for constructing structured information in a program execution method provided in an embodiment of this disclosure. For example... Figure 3 As shown, the process of constructing structured information in the program execution method provided in this embodiment may include:

[0055] S310. Obtain the node model corresponding to the program.

[0056] In this embodiment, the program can be pre-mapped into a node model and stored according to an existing program data digitization method. Accordingly, when identifying a target node, the node model can be retrieved from the corresponding storage space.

[0057] S320. Identify at least some target nodes from the node model using preset features.

[0058] In this embodiment, the preset features include at least one of the following: preset parameter definitions, preset syntax features, and preset frame features. Nodes in the node model that may belong to the target node can be identified through static analysis of the preset features. For example, nodes in the node model that conform to the preset parameter definitions, preset syntax features, and preset frame features can be initially identified as the corresponding target nodes.

[0059] S330, Obtain the taint map corresponding to the program.

[0060] In this embodiment, the initial identification results show low target node coverage. Further target node identification can be performed using static analysis based on data flow analysis. The taint graph represents the propagation path of data within the program. Existing taint graph generation methods can be used to generate the corresponding taint graph for the program. For example, unidentified target nodes can be identified as unresolved issues, and corresponding taint graphs can be generated by traversing each method call in the program.

[0061] S340. Perform data flow analysis based on the taint graph, and identify at least some target nodes from the program based on the results of the data flow analysis.

[0062] This involves leveraging existing data flow analysis methods, including but not limited to context-sensitive inter-process analysis, control dependency analysis, and Anderson pointer analysis, to globally solve the taint graph and identify target nodes. By pre-setting problems and using a global solution approach, global modeling can be achieved, further improving the accuracy and coverage of target nodes.

[0063] See Figure 3 After steps S320 and S340, the structured information of the identified target nodes can be initially constructed, and preliminary structured information can be obtained.

[0064] S350: Obtain the program's running trajectory information for the data.

[0065] After static analysis based on features and global solutions, most target nodes are usually covered. However, some target nodes using dynamically passed parameters may fail to be identified. In such cases, dynamic analysis of the program can be performed by acquiring the program's execution trajectory information. For example, historical data execution trajectory information can be read, or the program can be run in real time and the execution trajectory information of the data can be monitored.

[0066] S360: Identify unidentified target nodes based on the running trajectory information.

[0067] The starting position (also known as the source) and ending position (also known as the sink) of the data can be determined based on the running trajectory information. The starting position can be understood as the initial position of the data within the program; the ending position can be understood as the position where the data falls into the database. Since relevant data can be pre-determined from the database according to preset business rules, the position of the target node in the program can be dynamically identified based on the starting and ending positions, thus achieving high-coverage target node identification.

[0068] S370. Based on the preset business rules corresponding to the program, construct the structured information corresponding to the identified target node.

[0069] After dynamically identifying the target node, it can be associated with data according to preset business rules to construct structured information corresponding to the target node. See also... Figure 3 Dynamic recognition can not only identify unidentified target nodes, but also correct identified target nodes and their preliminary structured information to obtain the final structured information.

[0070] The technical solution of this disclosure describes in detail the process of identifying target nodes during the construction of structural information. Through static program analysis based on preset features, target nodes can be initially identified; through static program analysis based on taint graphs, target nodes can be solved by combining context information; through dynamic program analysis based on actual data execution, the target nodes that need to be identified can be basically covered. The program execution method provided in this disclosure belongs to the same disclosed concept as the program execution method provided in the above embodiments. Technical details not described in detail in this embodiment can be found in the above embodiments, and the same technical features have the same beneficial effects in this embodiment and the above embodiments.

[0071] Figure 4 This is a schematic diagram of a program running device provided in an embodiment of this disclosure. The program running device provided in this embodiment is applicable to compliance governance during the operation of business programs.

[0072] like Figure 4 As shown, the program running apparatus provided in this embodiment may include:

[0073] The information determination module 410 is used to determine the structured information corresponding to the target node in response to the program running to the target node; wherein, the structured information represents the information of the database associated with the target node;

[0074] The data determination module 420 is used to determine target data from the associated database based on structured information;

[0075] The operation control module 430 is used to continue executing the program in response to the target data meeting preset conditions.

[0076] In some alternative implementations, the program execution device may further include:

[0077] The information construction module is used to construct structured information based on the following process:

[0078] By using a pre-defined static analysis method, at least some target nodes are identified from the program;

[0079] In response to the existence of unidentified target nodes, the program identifies the unidentified target nodes based on the program's operation using a preset dynamic analysis method.

[0080] Based on the preset business rules of the program, construct the structured information corresponding to the identified target nodes.

[0081] In some alternative implementations, the information building module can be used for:

[0082] Obtain the node model corresponding to the program;

[0083] Identify at least some target nodes from the node model using preset features;

[0084] The preset features include at least one of the following: preset parameter definitions, preset syntax features, and preset framework features.

[0085] In some alternative implementations, the information building module can also be used for:

[0086] Obtain the taint graph corresponding to the program; wherein, the taint graph can represent the propagation path of data in the program;

[0087] Perform data flow analysis based on the taint graph, and identify at least some target nodes from the program based on the results of the data flow analysis.

[0088] In some alternative implementations, the information building module can also be used for:

[0089] Obtain the program's execution trajectory information based on the data;

[0090] Based on the trajectory information, unidentified target nodes are identified.

[0091] In some alternative implementations, the target node includes at least one of the following: a call node, a parameter node, a pointer node, a data encapsulation node, an instantiation node, a data loading node, and a data storage node.

[0092] In some alternative implementations, the structured information includes at least one of the following: database information, data table information, and operation information.

[0093] The program running apparatus provided in this disclosure can execute the program running method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects of the execution method.

[0094] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of this disclosure.

[0095] The following is for reference. Figure 5 It illustrates an electronic device suitable for implementing embodiments of the present disclosure (e.g., Figure 5The diagram below shows the structure of the terminal device or server 500. The terminal device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and vehicle terminals (e.g., vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 5 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.

[0096] like Figure 5 As shown, the electronic device 500 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 501, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 502 or a program loaded from storage device 508 into random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of the electronic device 500. The processing unit 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0097] Typically, the following devices can be connected to I / O interface 505: input devices 506 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 507 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 508 including, for example, magnetic tapes, hard disks, etc.; and communication devices 509. Communication device 509 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 5 An electronic device 500 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.

[0098] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 509, or installed from a storage device 508, or installed from a ROM 502. When the computer program is executed by the processing device 501, it performs the functions defined in the program execution method of embodiments of this disclosure.

[0099] The electronic device provided in this embodiment and the program running method provided in the above embodiments belong to the same disclosed concept. Technical details not described in detail in this embodiment can be found in the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.

[0100] This disclosure provides a storage medium for computer-executable instructions, which, when executed by a computer processor, can be used to execute the program execution method provided in the above embodiments.

[0101] It should be noted that the storage medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM) or flash memory (FLASH), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium that contains or stores executable instructions that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable executable instructions. Such transmitted data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit executable instructions for use by or in connection with an instruction execution system, apparatus, or device. Executable instructions contained on the storage medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0102] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and end-to-end networks (e.g., ad hoc end-to-end networks), as well as any currently known or future-developed networks.

[0103] The aforementioned storage medium may be included in the aforementioned electronic device; or it may exist independently and not be assembled into the electronic device.

[0104] The aforementioned storage medium carries one or more executable instructions, which, when executed by the electronic device, cause the electronic device to:

[0105] In response to the program reaching the target node, the structured information corresponding to the target node is determined; the structured information represents the information of the database associated with the target node; based on the structured information, the target data is determined from the associated database; in response to the target data meeting the preset conditions, the program continues to execute.

[0106] Executable instructions for performing the operations of this disclosure can 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, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The executable instructions can be executed entirely on the user's computer, partially on the user's computer, as a standalone 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 remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0107] This disclosure also provides a computer program product, including a computer program that, when executed by a processor, can implement the program execution method provided in any embodiment of this disclosure.

[0108] In implementing a computer program product, computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof. Programming languages ​​include object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone 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 remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0109] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0110] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units and modules do not, in certain circumstances, constitute a limitation on the unit or module itself.

[0111] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Array (FPGA), Application Specific Integrated Circuit (ASIC), Application Specific Standard Parts (ASSP), System on Chip (SOC), Complex Programmable Logic Device (CPLD), and so on.

[0112] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0113] According to one or more embodiments of this disclosure, a program execution method is provided, the method comprising:

[0114] In response to the program reaching a target node, the structured information corresponding to the target node is determined; wherein, the structured information represents information about the database associated with the target node;

[0115] Based on the structured information, target data is determined from the associated database;

[0116] If the target data meets the preset conditions, the program continues to be executed.

[0117] According to one or more embodiments of this disclosure, a program execution method is provided, further comprising:

[0118] In some optional implementations, the process of constructing the structured information includes:

[0119] At least some target nodes are identified from the program using a preset static analysis method;

[0120] In response to the existence of unidentified target nodes, the unidentified target nodes are identified based on the program's execution status using a preset dynamic analysis method.

[0121] Based on the preset business rules corresponding to the program, structured information corresponding to the identified target node is constructed.

[0122] According to one or more embodiments of this disclosure, a program execution method is provided, further comprising:

[0123] In some optional implementations, the step of identifying at least some target nodes from the program through a preset static analysis method includes:

[0124] Obtain the node model corresponding to the program;

[0125] At least some target nodes are identified from the node model by using preset features;

[0126] The preset features include at least one of the following: preset parameter definitions, preset syntax features, and preset framework features.

[0127] According to one or more embodiments of this disclosure, a program execution method is provided, further comprising:

[0128] In some optional implementations, the step of identifying at least some target nodes from the program through a preset static analysis method further includes:

[0129] Obtain the taint graph corresponding to the program; wherein, the taint graph can represent the propagation path of data in the program;

[0130] Data stream analysis is performed based on the taint graph, and at least some target nodes are identified from the program based on the results of the data stream analysis.

[0131] According to one or more embodiments of this disclosure, a program execution method is provided, further comprising:

[0132] In some optional implementations, the step of identifying unidentified target nodes through a preset dynamic analysis method based on the program's execution status includes:

[0133] Obtain the program's execution trajectory information for the data;

[0134] Based on the running trajectory information, the unidentified target nodes are identified.

[0135] According to one or more embodiments of this disclosure, a program execution method is provided, further comprising:

[0136] In some alternative implementations, the target node includes at least one of the following: a call node, a parameter node, a pointer node, a data encapsulation node, an instantiation node, a data loading node, and a data storage node.

[0137] According to one or more embodiments of this disclosure, a program execution method is provided, further comprising:

[0138] In some optional implementations, the structured information includes at least one of the following: database information, data table information, and operation information.

[0139] According to one or more embodiments of the present disclosure, a program running apparatus is provided, the apparatus comprising:

[0140] An information determination module is used to determine the structured information corresponding to the target node in response to the program running to the target node; wherein the structured information represents the information of the database associated with the target node;

[0141] A data determination module is used to determine target data from the associated database based on the structured information;

[0142] The operation control module is used to continue executing the program in response to the target data meeting preset conditions.

[0143] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0144] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

[0145] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.

Claims

1. A method for running a program, characterized in that, include: In response to the program reaching a target node, the structured information corresponding to the target node is determined; wherein, the structured information represents information about the database associated with the target node; Based on the structured information, target data is determined from the associated database; If the target data meets the preset conditions, the program continues to be executed.

2. The method according to claim 1, characterized in that, The process of constructing the structured information includes: At least some target nodes are identified from the program using a preset static analysis method; In response to the existence of unidentified target nodes, the unidentified target nodes are identified based on the program's execution status using a preset dynamic analysis method. Based on the preset business rules corresponding to the program, structured information corresponding to the identified target node is constructed.

3. The method according to claim 2, characterized in that, The step of identifying at least some target nodes from the program through a preset static analysis method includes: Obtain the node model corresponding to the program; At least some target nodes are identified from the node model by using preset features; The preset features include at least one of the following: preset parameter definitions, preset syntax features, and preset framework features.

4. The method according to claim 2, characterized in that, The step of identifying at least some target nodes from the program through a preset static analysis method also includes: Obtain the taint graph corresponding to the program; wherein, the taint graph can represent the propagation path of data in the program; Data stream analysis is performed based on the taint graph, and at least some target nodes are identified from the program based on the results of the data stream analysis.

5. The method according to claim 2, characterized in that, The step of identifying unidentified target nodes through a preset dynamic analysis method based on the program's execution status includes: Obtain the program's execution trajectory information for the data; Based on the running trajectory information, the unidentified target nodes are identified.

6. The method according to any one of claims 1-5, characterized in that, The target node includes at least one of the following: a call node, a parameter node, a pointer node, a data encapsulation node, an instantiation node, a data loading node, and a data storage node.

7. The method according to any one of claims 1-5, characterized in that, The structured information includes at least one of the following: database information, data table information, and operation information.

8. A program execution device, characterized in that, include: An information determination module is used to determine the structured information corresponding to the target node in response to the program running to the target node; wherein the structured information represents the information of the database associated with the target node; A data determination module is used to determine target data from the associated database based on the structured information; The operation control module is used to continue executing the program in response to the target data meeting preset conditions.

9. An electronic device, characterized in that, The electronic device includes: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the program execution method as described in any one of claims 1-7.

10. A storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform the program execution method as described in any one of claims 1-7.

11. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the program execution method according to any one of claims 1-7.