如何处理并发问题?
我从前端 UI 发送两个文件。1 个文件从后端发送 1 个文件。
假设文件 A 的内容是
Hello
I am XYZ
假设文件 B 的内容是
Hello
I am ABC
当我同时发送文件时,这两个文件将合并为一个,如下所示:
Hello
I am XYZ
Hello
I am ABC
是否有任何解决方案来处理此并发问题?我用过交易。
我有以下脚本:
BEGIN TRY
BEGIN TRANSACTION
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
EXEC PROC_FILE_IDENTIFIER @FILE_IDENTIFIER OUT
IF @IS_FL_GN=1
BEGIN
EXEC PROC_FLOW_GEN_CREATE_FILE @REGID,@DATAFLOW,....... ------ File Creation from UI
END
else
BEGIN
EXEC PROC_CREATE_FILE @REGID,@DATAFLOW,......... ------File Creation from backend
END
-- Move the created file into IN folder
SET @RESULTTEXT=@T_HEADER + @T_GROUP + @T_FOOTER
DECLARE @PATH VARCHAR(2000)
DECLARE @TXT VARCHAR(2000)
SET @PATH = 'D:\Symbio_Data_Testing\IN\' + @FILE_IDENTIFIER + '.USR'
COMMIT TRANSACTION
END TRY
BEGIN CATCH
Select ERROR_MESSAGE()
Select ERROR_LINE()
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
Exec PROC_CHECK_LAST_FILE_GENERATED
END CATCH
SP PROC_FILE_IDENTIFIER 给出文件名。此 SP 包含表:File_number_mst_t,其中包含每次更新的 file_number。
Suppose there is file number 1.
when user create file,it will take the filename as 1(f1) and update the filenumber to 2.
Next time when the user will send file,it will take the filename as 2(f2) and update the file to 3.
Transaction1
1
2 Transaction2
2
3
当文件同时出现时,我如何处理并发问题。(发生冲突)。任何建议或想法将不胜感激。