Caching the Application Engine Server 缓存应用程序引擎服务器

Caching the Application Engine Server

缓存应用程序引擎服务器

Application Engine caches metadata just like the application server. This caching enhances performance because a program can refer to the local cache for any objects that it uses.

应用程序引擎会像应用程序服务器一样缓存元数据。这种缓存提高了性能,因为程序可以引用它所使用的任何对象的本地缓存。

Cache Directory Location

高速缓存目录位置

Application Engine programs that run on a Microsoft Windows NT or UNIX server lock their own cache directory for the duration of a run. You find these directories under the master cache directory. The master directory is created under the directory specified by the CacheBaseDir variable in the PeopleSoft Process Scheduler configuration file. If all existing cache directories are locked, a new one is created. Cache subdirectories are named sequentially, starting at 1.

在Microsoft Windows NT或UNIX服务器上运行的应用程序引擎程序在运行期间锁定自己的缓存目录。您可以在主缓存目录下找到这些目录。主目录是在PeopleSoft Process Scheduler配置文件中的CacheBaseDir变量指定的目录下创建的。如果所有现有的缓存目录都被锁定,则会创建一个新的缓存目录。缓存子目录按顺序命名,从1开始。

If you do not enter a fully qualified path for the CacheBaseDir variable, then Application Engine creates a cache directory within the directory in which the program is set to run.

如果没有为CacheBaseDir变量输入完全限定路径,则应用程序引擎将在设置为运行程序的目录中创建一个缓存目录。

Note: Do not share the CacheBaseDir variable with application servers and do not use environment variables when specifying CacheBaseDir because the system does not resolve them. For example, do not set CacheBaseDir to $PS_CFG_HOME.

附注:不要与应用服务器共享CacheBaseDir变量,也不要在指定CacheBaseDir时使用环境变量,因为系统没有解析它们。例如,不要将CacheBaseDir设置为$PS_CFG_HOME。

Cache Parameters

缓存参数

The PSPRCS.CFG (PS_SERVER_CFG) file has two additional cache parameters. They are:

PSPRCS.CFG(PS_SERVER_CFG)文件有两个额外的缓存参数。它们是:


  • Enable Server Caching
  • 启用服务器缓存
  • Server Cache Mode
  • 服务器缓存模式

Do not alter these settings from the delivered defaults. These settings are reserved for future use.

不要从传递的默认值更改这些设置。这些设置保留以备将来使用。

Freeing Locked Temporary Tables

释放锁定的临时表

If you use dedicated temporary tables for Application Engine programs, then you might need to free, or unlock, a temporary table if the program running against it terminates abnormally. Because most Application Engine programs run through PeopleSoft Process Scheduler, typically you use Process Monitor to unlock the temporary tables. Deleting or restarting a process using Process Monitor automatically frees the locked temporary tables.

如果对应用程序引擎程序使用专用的临时表,则在针对该临时表运行的程序异常终止时,可能需要释放或解锁该临时表。因为大多数应用程序引擎程序通过PeopleSoft进程计划程序运行,所以通常使用进程监视器来解除对临时表的锁定。使用Process Monitor删除或重新启动进程会自动释放锁定的临时表。

For the programs that you invoke outside of PeopleSoft Process Scheduler, use the Manage Abends page. Programs running outside of Process Scheduler include those invoked from CallAppEngine PeopleCode and the command line.

对于您在PeopleSoft Process Scheduler之外调用的程序,请使用Manage Abends页面。在Process Scheduler之外运行的程序包括从CallAppEngine PeopleCode和命令行调用的程序。

To free locked temporary tables using the Manage Abends page:

要使用Manage A bend页面释放锁定的临时表,请执行以下操作:

  1. Select PeopleTools > Application Engine > Manage AE Abends..

选择PeopleTools>应用程序引擎>管理AE异常

  1. Identify the program that has locked the temporary tables you want.

确定已锁定所需临时表的程序。

Use the process instance, run control ID, program name, user ID, and run date and time columns to uniquely identify programs.

使用流程实例、运行控件ID、程序名、用户ID以及运行日期和时间列来唯一标识程序。

  1. Click the Temp Tables link.

单击临时表链接。

  1. On the Temporary Tables page, click the Release button to unlock the temporary tables associated with the program.

在“临时表”页上,单击“释放”按钮以解锁与程序关联的临时表。

Analyzing Application Engine Programs

分析应用程序引擎程序

Application Engine programs can be analyzed by using the associated temporary table data. You can retain temporary table data by enabling temporary table data tracing in PeopleSoft Configuration Manager.

可以使用关联的临时表数据来分析应用程序引擎程序。您可以通过在PeopleSoft Configuration Manager中启用临时表数据跟踪来保留临时表数据。

See Enabling Application Engine Tracing
请参阅启用应用程序引擎跟踪

Use AET Analyzer tool to analyze and view the results.

使用AET分析器工具来分析和查看结果。

This example illustrates the fields and controls on the Filter Option in Log Analyzer.

此示例说明了日志分析器中的筛选器选项上的字段和控件。

In the AET Analyzer tool, filter out the Application Engine steps with temporary table using the Temp Table option, and analyze.

在aet analyzer工具中,使用temp table选项过滤出带有临时表的应用程序引擎步骤,并进行分析。

To filter:

要过滤:

  1. In AET Analyzer tool, open the AET file.

在AET分析器工具中,打开AET文件。

  1. Load the corresponding temporary table.

加载相应的临时表。

Note: After the temp table file is loaded, the Include All Tables check box is enabled.

注意:加载临时表文件后,启用“包括所有表”复选框。

  1. Ensure that Include All Tables check box is cleared.

确保清除“包括所有表”复选框。

  1. Select Apply Filter to display only AE steps with temporary table.

选择应用过滤器仅显示带有临时表的AE步骤。

  1. You can further filter the AE steps with temporary table based on a SQL action by selecting the desired action from the SQL View Options group box.

通过从SQL View Options组框中选择所需的操作,可以根据SQL操作使用临时表进一步过滤AE步骤。

  1. Highlight the AE step that you want to view and analyze, and click Diff Temp Table button.

突出显示要查看和分析的AE步骤,然后单击"差异温度表"按钮。

The result displays the modification done to temporary table data.

结果显示对临时表数据所做的修改。

Configuring Application Engine Action Plug-ins

配置应用程序引擎操作插件

PeopleTools allows you to configure an Application Engine action plug-in to alter the SQL or PeopleCode actions of any Application Engine.

PeopleTools允许您配置一个应用程序引擎操作插件来改变任何应用程序引擎的SQL或PeopleCode操作。

The configured plug-in action is executed at runtime. This effectively allows you to modify the code without actually customizing or re-designing the Application Engine program.

配置的插件动作在运行时执行。这实际上允许您修改代码,而无需实际自定义或重新设计应用程序引擎程序。

Configure the selected SQL or PeopleCode action of the Application Engine program by adding new SQL, PeopleCode, or both and/or by replacing the existing SQL or PeopleCode action through PIA in the AE Action Plugin page (PeopleTools, Application Engine).

配置应用程序引擎程序的选定SQL或PeopleCode操作,方法是在AE操作插件页面(PeopleTools,应用程序引擎)中添加新SQL、PeopleCode或两者,和/或通过PIA替换现有SQL或PeopleCode操作。

Note: You can add or replace only SQL and PeopleCode actions in the Application Engine program. Only sections with steps having SQL or PeopleCode actions of the Application Engine program, which you plan to configure, will be displayed in PIA. This feature is not designed to add new sections or steps to an existing Application Engine program.

注意:您只能在应用程序引擎程序中添加或替换SQL和PeopleCode操作。只有包含您计划配置的Application Engine程序的SQL或PeopleCode操作的步骤的部分才会显示在PIA中。此功能不是为向现有应用程序引擎程序添加新部分或步骤而设计的。

Actions belonging to the same step of the same section of the Application Engine program can have multiple plug-in actions defined. The plug-in action type does not have to match the action type that is selected for configuration. You can re-use the same SQL or PeopleCode plug-in action multiple times for different Application Engine programs.

属于Application Engine程序的同一部分的同一步骤的操作可以定义多个插件操作。插件操作类型不必与为配置选择的操作类型匹配。您可以重复使用为不同的应用程序引擎程序多次执行相同的SQL或PeopleCode插件操作。


The Application Engine action that is being configured cannot be used as a plug-in to configure another Application Engine program. Also, you cannot define a plug-in for the Application Engine action that is already been used as a plug-in.

正在配置的应用程序引擎操作不能用作插件来配置另一个应用程序引擎程序。此外,不能为已经用作插件的Application Engine操作定义插件。

For example, if Application Engine program A action Y is configured to use Application Engine program B action X as a plug-in, then Application Engine program A action Y cannot be used as a plug-in for any other Application Engine program. Also, you cannot configure a plug-in for Application Engine program B action X.

例如,如果应用程序引擎程序A操作Y配置为将应用程序引擎程序B操作X用作插件,则应用程序引擎程序一个动作Y不能用作任何其他应用程序引擎程序的插件。此外,不能为应用程序引擎程序B操作X配置插件。

Ensure that information such as state records, temporary tables, PeopleCode variables that are required by the plugged-in action is made available from the configured Application Engine program.

确保诸如状态记录、临时表、PeopleCode变量之类的信息可以从配置好的Application Engine程序中获得。

To add new Application Engine plug-in actions:

要添加新的Application Engine插件操作,请执行以下操作:

  1. In Application Designer, identify an existing or create a new Application Engine program with the SQL or PeopleCode actions that you want to use to configure the SQL or PeopleCode actions of any Application Engine program.

在“应用程序设计器”中,使用要用于配置任何应用程序引擎程序的SQL或PeopleCode操作的SQL或PeopleCode操作来标识现有的应用程序引擎程序或创建新的应用程序引擎程序。

To create an Application Engine program, see Creating, Opening, and Renaming Programs

若要创建应用程序引擎程序,请参见创建、打开和重命名程序

  1. In the PIA, open AE Action Plugin page by selecting PeopleTools > Application Engine > AE Action Plugins.

在PIA中,通过选择PeopleTools>应用引擎>AE Action Plugins来打开AE Action Plugin页面。

  1. Choose the Application Engine program that you want to configure by plugging-in the desired SQL or PeopleCode actions from the newly created Application Engine program.

通过从新创建的应用程序引擎程序中插入所需的SQL或PeopleCode操作,选择要配置的应用程序引擎程序。

See the subsequent Configuration Options section for details.

有关详细信息,请参阅后续的配置选项部分。

  1. Verify the configured Application Engine program in Application Designer to know the impact of the plug-ins.

在应用程序设计器中验证已配置的应用程序引擎程序,以了解插件的影响。

You can identify the configured SQL or PeopleCode action by a red flash on its icon.

您可以通过其图标上的红色闪光来识别配置的SQL或PeopleCode操作。

This image shows the configured SQL action with a red flash. On the code pane, the additional code is highlighted in blue, code being replaced is in strikeout, and the replacement code in red. The codes are displayed based on the order of execution defined in the PIA.

此图像显示了配置的SQL操作,并显示了红色闪光。在“代码”窗格上,附加代码以蓝色突出显示,被替换的代码以删除线显示,替换代码以红色突出显示。代码是根据PIA中定义的执行顺序显示的。

Note: You can use the %AECallerApplId system variable to identify the name of the Application Engine program that executed a plug-in action or a call section to the currently executing program. For more details, see “%AECallerApplId” (PeopleCode Language Reference)

On-Exit Application Engine Plug-in

出口应用引擎插件

PeopleTools allows you to configure an On-Exit Application Engine plug-in at the end of an Application Engine program. This enables the Application Engine program to run and exit based on the conditions defined for the On-Exit Application Engine plug-in.

PeopleTools允许您在应用程序引擎程序结束时配置On-Exit应用程序引擎插件。这使Application Engine程序能够根据为On-Exit Application Engine插件定义的条件运行和退出。

On the PIA, you can specify which section, step, SQL or PeopleCode action should run on-exit from an Application Engine program.

在PIA上,您可以指定从应用程序引擎程序退出时应该运行哪个部分、步骤、SQL或PeopleCode操作。

Note: On-Exit plug-ins can be configured for any existing Application Engine programs.

注意:可以为任何现有的应用程序引擎程序配置On-Exit插件。

You can verify the configured On-Exit Application Engine plug-in in the Application Designer.

您可以在应用程序设计器中验证已配置的On-Exit应用程序引擎插件。

This example shows an On-Exit Application Engine plug-in configured in the Application Designer.

此示例显示在应用程序设计器中配置的On-Exit应用程序引擎插件。

Configuration Options

配置选项

Use the AE Action Plugin page to configure Application Engine action plug-in and On-Exit Application Engine plug-in.

使用AE操作插件页面配置应用程序引擎操作插件和On-Exit应用程序引擎插件。

This example illustrates the fields and controls on the AE Action Plugin page. You can find definitions for the fields and controls later on this page.

本示例说明了AE操作插件页面上的字段和控件。您可以在本页稍后找到字段和控件的定义。

Use these configuration options to configure a delivered Application Engine program:

Field or Control

Description

Enabled

Select this check box to enable the configuration.

Field or Control

Description

Section

Select a section of the delivered Application Engine program,  which you plan to configure. Only sections with steps having SQL or PeopleCode are listed.

Step

Select a step of the chosen section. Only steps that have SQL or PeopleCode actions are listed.

Action

Select an action from the chosen step.

Plugin Name

Select the new Application Engine program that contains the new SQL or PeopleCode action, which will be used to configure the delivered Application Engine program.

Section

Select the required section from the new Application Engine program.

Step

Select the required step from the selected section.

Action

Select the SQL or PeopleCode action from the selected step to add before or after the existing action, or to replace the existing action.

Mode

The three modes that decide the execution order of the configured Application Engine action:

  • Before - Execute the new Application Engine action before the existing action.
  • After - Execute the new Application Engine action after the existing action.
  • Replace - Execute the new Application Engine action instead of the existing action.

Order within Mode

This field is required if the same action belonging to the same step of the same section of the configured Application Engine program has multiple plug-ins using the same mode. The value entered in this field decides the sequence in which the actions within the mode run during execution.

Description

(Optional) Descriptive notes.

Use these configuration options to configure On-Exit Application Engine plug-in:

Field or Control

Description

Enabled

Select this check box to enable the On-Exit plug-in configuration.

Plugin Name

Select the On-Exit Application Engine plug-in.

Section

Select a section of the On-Exit Application Engine plug-in that you plan to run.

Step

Select a step of the selected section.

Action Type

Select an action of the selected step.

<Exit Conditions>

These are the exit conditions:

  • On Success
  • On Skip Step
  • On Break
  • On Abort
  • On Skip

The On-Exit Application Engine plug-in runs based on the exit condition defined in the Application Engine program.

For example, for an Application Engine program, if you set the

On-Exit plug-in to run for the On-Break exit condition, the

On-Exit plug-in runs when the last action executed before the Application Engine program exited was a SQL or PeopleCode action that issued a Break condition.

See documentation for SQL and PeopleCode actions.

See Using PeopleCode in Application Engine Programs

Note: At least one of the exit conditions must be selected.

 Otherwise, an error is displayed while saving.

Note: In the PIA, the Actions Plugin grid gets disabled if the selected Application Engine program does not have SQL or PeopleCode actions, and a message is displayed stating that only On-Exit plug-ins can be configured.

Performance

性能

Sometimes plug-in changes may not be immediately recognized. It might take at most ten minutes for the changes to be recognized.

有时插件更改可能无法立即识别。可能最多需要10分钟才能识别更改。

The processes where it takes time for the plug-in changes to come in effect are:

插件更改生效需要时间的流程如下:

  • When an active application server is running CallAppEngine() PeopleCode.
  • 当活动应用服务器运行CallAppEngine()PeopleCode时。
  • When viewing an Application Engine Program Flow view in an active Application Designer session.
  • 在活动的应用程序设计器会话中查看应用程序引擎程序流视图时。
  • When an Application Engine program begins processing before the plug-in change is initiated.
  • 当应用程序引擎程序在插件更改启动前开始处理时。

Note that there cases where plug-in changes are immediately recognized, and those are:

请注意,在某些情况下,插件更改会立即被识别,这些情况是:

  • While stopping and restarting any one process from the above set of processes.
  • 同时停止和重新启动上述进程集中的任何一个进程。
  • When an Application Engine program is run through the Process Scheduler.

当应用程序引擎程序通过进程调度器运行时。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/214826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科技云报道:从数据到生成式AI,是该重新思考风险的时候了

科技云报道原创。 OpenAI“宫斗”大戏即将尘埃落定。 自首席执行官Sam Altman突然被董事会宣布遭解雇、董事长兼总裁Greg Brockman辞职&#xff1b;紧接着OpenAI员工以辞职威胁董事会要求Altman回归&#xff1b;再到OpenAI董事会更换成员、Altman回归OpenAI。 表面上看&…

java--LocalDate、LocalTime、LocalDateTime、ZoneId、Instant

1.为什么要学习JDK8新增的时间 LocalDate&#xff1a;代表本地日期(年、月、日、星期) LocalTime&#xff1a;代表本地时间(时、分、秒、纳秒) LocalDateTime&#xff1a;代表本地日期、时间(年、月、日、星期、时、分、秒、纳秒) 它们获取对象的方案 2.LocalDate的常用API(…

【精选】 VulnHub (超详细解题过程)

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

C# 任务的异常和延续处理

写在前面 当Task在执行过程中出现异常或被取消等例外的情况时&#xff0c;为了让执行流程能够继续进行&#xff0c;可以使用延续方法实现这种链式处理&#xff1b;还可以针对前置任务不同的执行结果&#xff0c;选择执行不同的延续分支方法。子任务执行过程中的任何异常都会被…

线程安全的哈希表ConcurrentHashMap

1. HashTable 不推荐使用&#xff0c;无脑给各种方法加锁 2.ConcurrentHashMap 多线程下推荐使用 锁粒度控制 HashTable直接在方法上加synchronized&#xff0c;相当于对哈希表对象加锁&#xff0c;一个哈希表只有一把锁。多线程环境下&#xff0c;无论线程如何操作哈希表…

深入理解Dubbo-3.高级功能剖析和原理解析

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码、Kafka原理、分布式技术原理&#x1f525;如果感觉博主的文章还不错的话&#xff…

利用贝叶斯超参数优化,提升模型效果更科学(附Python代码)

超参数优化在大多数机器学习流水线中已成为必不可少的一步&#xff0c;而贝叶斯优化则是最为广为人知的一种“学习”超参数优化方法。 超参数优化的任务旨在帮助选择学习算法中成本&#xff08;或目标&#xff09;函数的一组最佳参数。这些参数可以是数据驱动的&#xff08;例…

【UE5】初识MetaHuman 创建虚拟角色

步骤 在UE5工程中启用“Quixel Bridge”插件 打开“Quixel Bridge” 点击“MetaHumans-》MetaHuman Presets UE5” 点击“START MHC” 在弹出的网页中选择一个虚幻引擎版本&#xff0c;然后点击“启动 MetaHuman Creator” 等待一段时间后&#xff0c;在如下页面点击选择一个人…

Apipost版IDEA插件:Apipost-Helper

Apipost-Helper是由Apipost推出的IDEA插件&#xff0c;写完接口可以进行快速调试&#xff0c;且支持搜索接口、根据method跳转接口&#xff0c;还支持生成标准的API文档&#xff0c;注意&#xff1a;这些操作都可以在代码编辑器内独立完成&#xff0c;非常好用&#xff01;这里…

Tair(2):Tair安装部署

1 安装相关依赖库 yum install -y gcc gcc-c make m4 libtool boost-devel zlib-devel openssl-devel libcurl-devel yum&#xff1a;是yellowdog updater modified 的缩写&#xff0c;Linux中的包管理工具gcc&#xff1a;一开始称为GNU C Compiler&#xff0c;也就是一个C编…

N皇后,回溯【java】

问题描述 八皇后问题是十九世纪著名的数学家高斯于1850年提出的。 问题是&#xff1a;在88的棋盘上摆放八个皇后&#xff0c;使其不能互相攻击&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上。可以把八皇后问题扩展到n皇后问题&#xff0c;即在nn的棋盘上摆…

AX和A(T)X的区别是?

目录 1.快速了解的例子&#xff1a; &#xff08;1&#xff09;假设所有节点的初始特征都是[1, 0, 0] &#xff0c;那么AX的结果是&#xff1a; &#xff08;2&#xff09; 的结果是&#xff1a; (3) 总结&#xff1a; 2.计算结构系数的例子 &#xff08;1&#xff09…

day45-46-Vue+ElementUI实现学生管理

VueElementUI实现学生管理 代码&#xff1a; qiushiju/java2313_vue_elementui_crud (gitee.com) 一、思考 考虑需求&#xff08;登录&#xff0c;查询全部&#xff0c;基本增删改查&#xff0c;分页&#xff0c;搜索&#xff0c;批量&#xff09; 设计数据库搭建项目 后端…

2024美赛备战2--模型建立(*****必看****)

建模 美赛涉及的建模知识范围非常广且深&#xff0c;纵观美赛真题不难发现&#xff0c;很多的模型 都是读研或者读博的时候才会真正深入开始研究&#xff0c;因此&#xff0c;对于做建模的同学来说&#xff0c; 是无法在赛前吃透大量模型的。推荐本科生分两个步骤去有效准备比赛…

【S32DS RTD实战】-1.3-S32K3工程生成S19,BIN,Hex文件,以及Post-build steps的妙用

目录 1 方法一&#xff1a;逐个生成Motorola S-record&#xff08;s19&#xff0c;srec…&#xff09;&#xff0c;Intel HEX&#xff0c;Bin文件 1.1 生成Motorola S-record&#xff08;s19&#xff0c;srec…&#xff09;文件 1.2 生成Intel HEX文件 1.3 生成Bin文件 2 …

计算机服务器中了mkp勒索病毒怎么办,mkp勒索病毒解密数据恢复

网络技术的不断发展&#xff0c;也为网络安全带来了威胁&#xff0c;近期云天数据恢复中心的工程师陆续接到很多企业的求助&#xff0c;在本月&#xff0c;很多企业的计算机服务器遭到了mkp勒索病毒攻击&#xff0c;导致企业计算机系统瘫痪&#xff0c;无法正常工作&#xff0c…

《深入理解计算机系统》学习笔记 - 第四课 - 机器级别的程序

Lecture 05 Machine Level Programming I Basics 机器级别的程序 文章目录 Lecture 05 Machine Level Programming I Basics 机器级别的程序intel 处理器的历史和体系结构芯片的构成AMD 公司(Advanced Micro Devices&#xff0c;先进的微型设备) C, 汇编, 机器代码定义汇编/机器…

2024美赛备战1--数据处理(数据预处理,异常值处理,预测模型,插值拟合 *****必看****)

1.数据预处理 所谓数据预处理&#xff0c;就是指在正式做题之前对数据进行的一些处理。在有些情 况下&#xff0c;出题方提供的数据或者网上查找的数据并不能直接使用&#xff0c;比如缺少数据甚 至是异常数据&#xff0c;如果直接忽略缺失值&#xff0c;或者没发现异常数据&am…

数字图像处理(实践篇)二十一 人脸识别

目录 1 安装face_recognition 2 涉及的函数 3 人脸识别方案 4 实践 使用face_recognition进行人脸识别。 1 安装face_recognition pip install face_recognition 或者 pip --default-timeout100 install face_recognition -i http://pypi.douban.com/simple --trusted-…

川崎ZX-6R确定引进,636它真的来了,3C认证已过。

最新消息&#xff0c;兄弟们&#xff0c;你们期待已久的川崎ZX6R&#xff08;636&#xff09;基本已经确定引进了&#xff0c;官方的3C认证已经通过&#xff0c;那么从3C里面我们可以看到哪几个信息&#xff1f;产品代号ZX636J就是心心念念的ZX-6R了。 有些小伙伴不太清楚3C认…