0

如何处理并发问题?

我从前端 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
                  

当文件同时出现时,我如何处理并发问题。(发生冲突)。任何建议或想法将不胜感激。

4

0 回答 0